Summary: | sys-apps/bat-0.15.4: undefined reference to `ansi256_from_rgb' | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Craig Andrews <candrews> |
Component: | Current packages | Assignee: | Georgy Yakovlev <gyakovlev> |
Status: | RESOLVED CANTFIX | ||
Severity: | normal | CC: | candrews |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 709568 | ||
Attachments: | build.log |
Description
Craig Andrews
2020-06-30 14:39:02 UTC
Created attachment 647222 [details]
build.log
I can reproduce the failure with your flags, same error. error: linking with `powerpc64le-unknown-linux-gnu-gcc` failed: exit code: 1 | = note: "powerpc64le-unknown-linux-gnu-gcc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/usr/lib/rustlib/powerpc64le-unknown-linux-gnu/lib" "/var/tmp/portage/sys-apps/bat-0.15.4/work/bat-0.15.4/target/ release/deps/bat-d4b13915a8d38571.bat.4s4pkz66-cgu.0.rcgu.o" "-o" "/var/tmp/portage/sys-apps/bat-0.15.4/work/bat-0.15.4/target/release/deps/bat-d4b13915a8d38571" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-zn ow" "-Wl,-O1" "-nodefaultlibs" "-L" "/var/tmp/portage/sys-apps/bat-0.15.4/work/bat-0.15.4/target/release/deps" "-L" "/var/tmp/portage/sys-apps/bat-0.15.4/work/bat-0.15.4/target/release/build/ansi_colours-b1f63cb d3ba3b963/out" "-L" "/usr/lib64" "-L" "/usr/lib64" "-L" "/usr/lib64" "-L" "/usr/lib/rustlib/powerpc64le-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/var/tmp/portage/sys-apps/bat-0.15.4/temp/rustc5DQJ47/libansi_colour s-f426bb2d278e113e.rlib" "-Wl,--start-group" "/var/tmp/portage/sys-apps/bat-0.15.4/temp/rustc5DQJ47/libbacktrace_sys-265b3f3e5f239de0.rlib" "-Wl,--end-group" "/usr/lib/rustlib/powerpc64le-unknown-linux-gnu/lib/l ibcompiler_builtins-77abc912212716e5.rlib" "-Wl,-Bdynamic" "-lgit2" "-lz" "-lonig" "-lc" "-lutil" "-ldl" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-ldl" "-lutil" = note: /usr/lib/gcc/powerpc64le-unknown-linux-gnu/9.3.0/../../../../powerpc64le-unknown-linux-gnu/bin/ld: /var/tmp/portage/sys-apps/bat-0.15.4/work/bat-0.15.4/target/release/deps/bat-d4b13915a8d38571.bat.4s4p kz66-cgu.0.rcgu.o: in function `bat::printer::InteractivePrinter::new': bat.4s4pkz66-cgu.0:(.text._ZN3bat7printer18InteractivePrinter3new17h0b6f72732b4eb633E+0x71c): undefined reference to `ansi256_from_rgb' /usr/lib/gcc/powerpc64le-unknown-linux-gnu/9.3.0/../../../../powerpc64le-unknown-linux-gnu/bin/ld: /var/tmp/portage/sys-apps/bat-0.15.4/work/bat-0.15.4/target/release/deps/bat-d4b13915a8d38571.bat.4s4p kz66-cgu.0.rcgu.o: in function `<bat::printer::InteractivePrinter as bat::printer::Printer>::print_line': bat.4s4pkz66-cgu.0:(.text._ZN74_$LT$bat..printer..InteractivePrinter$u20$as$u20$bat..printer..Printer$GT$10print_line17h9628bfb867981740E+0x1b08): undefined reference to `ansi256_from_rgb' /usr/lib/gcc/powerpc64le-unknown-linux-gnu/9.3.0/../../../../powerpc64le-unknown-linux-gnu/bin/ld: bat.4s4pkz66-cgu.0:(.text._ZN74_$LT$bat..printer..InteractivePrinter$u20$as$u20$bat..printer..Printer$ GT$10print_line17h9628bfb867981740E+0x33f4): undefined reference to `ansi256_from_rgb' /usr/lib/gcc/powerpc64le-unknown-linux-gnu/9.3.0/../../../../powerpc64le-unknown-linux-gnu/bin/ld: /var/tmp/portage/sys-apps/bat-0.15.4/work/bat-0.15.4/target/release/deps/bat-d4b13915a8d38571.bat.4s4p kz66-cgu.0.rcgu.o: in function `bat::terminal::as_terminal_escaped': bat.4s4pkz66-cgu.0:(.text._ZN3bat8terminal19as_terminal_escaped17h67a5010977f8962eE+0x150): undefined reference to `ansi256_from_rgb' /usr/lib/gcc/powerpc64le-unknown-linux-gnu/9.3.0/../../../../powerpc64le-unknown-linux-gnu/bin/ld: bat.4s4pkz66-cgu.0:(.text._ZN3bat8terminal19as_terminal_escaped17h67a5010977f8962eE+0x16c): undefined reference to `ansi256_from_rgb' collect2: error: ld returned 1 exit status error: aborting due to previous error error: could not compile `bat`. ################################# I thought gentoo developers don't use ricer flags ;-) '-ftree-vectorize' already enables '-ftree-slp-vectorize' afaik. btw, you might like RUSTFLAGS="-Ctarget-cpu=native" it's safe to set -Ctarget-cpu=native globally for rust. or you can set it to cpu type explicitly, check `rustc -C target-cpu=help` help output(works only with rust-bin or rust compiled WITHOUT system-llvm) rust does lto differently. and the final object is already LTOed https://github.com/sharkdp/bat/blob/master/Cargo.toml look at last section of toml. what happens here is ansi_colours fails at LTO. it may be possible to fatLTO it, but I haven't tried. I recommend to add all cargo packages to non-lto files. sometime later when cargo implements custom release profiles, we may add lto useflag via eclass, but not it's up to upstream to enable or disable lto. > I thought gentoo developers don't use ricer flags ;-) Without ricer flags, things might work reliably... what fun would that be? > I recommend to add all cargo packages to non-lto files. sometime later when cargo implements custom release profiles, we may add lto useflag via eclass, but not it's up to upstream to enable or disable lto. If no cargo packages should be built with lto enabled for now, I wonder if we should add: filter-flags '-flto*' to cargo.eclass? true. I'll test it and add to eclass if it works fine. it may be a bit trickier with packages like quiche or newsboat though (using cargo indirectly) |