Created attachment 543520 [details] build.log Please notice that the ebuild itself didn't catch the error in compile phase, it is failing in install phase because binary is missing. That shouldn't happen! > >>> Configuring source in /var/tmp/portage/dev-u > Configuring cargo... > >>> Source configured. > >>> Compiling source in /var/tmp/portage/dev-uti > Compiling pkg-config v0.3.12 > Compiling unicode-xid v0.1.0 > Compiling cc v1.0.18 > Compiling void v1.0.2 > Compiling libc v0.2.42 > Compiling matches v0.1.7 > Compiling ucd-util v0.1.1 > Compiling failure_derive v0.1.2 > Compiling lazy_static v1.0.2 > Compiling unicode-normalization v0.1.7 > error: linking with `i686-pc-linux-gnu-gcc` fail > | > = note: "i686-pc-linux-gnu-gcc" "-Wl,--as-need > = note: /usr/lib/gcc/i686-pc-linux-gnu/7.3.0/. > collect2: error: ld returned 1 exit st > > > fatal runtime error: failed to initiate panic, e > error: Could not compile `failure_derive`. > warning: build failed, waiting for other jobs to > error: build failed > >>> Source compiled. > >>> Test phase: dev-util/cargo-0.29.0 > >>> Completed testing dev-util/cargo-0.29.0 > > >>> Install cargo-0.29.0 into /var/tmp/portage/d > !!! dobin: target/release/cargo does not exist > * ERROR: dev-util/cargo-0.29.0::gentoo failed ( > * dobin failed > * > * If you need support, post the output of `emer > * the complete build log and the output of `eme > * The complete build log is located at '/var/tm > * The ebuild environment file is located at '/v > * Working directory: '/var/tmp/portage/dev-util > * S: '/var/tmp/portage/dev-util/cargo-0.29.0/wo > * QA Notice: file does not exist: > *
Portage 2.3.40 (python 3.6.5-final-0, default/linux/x86/17.0, gcc-7.3.0, glibc-2.26-r7, 4.14.61-gentoo i686) ================================================================= System uname: Linux-4.14.61-gentoo-i686-Intel-R-_Core-TM-_i7-3770K_CPU_@_3.50GHz-with-gentoo-2.4.1 KiB Mem: 3107600 total, 1141900 free KiB Swap: 488276 total, 482132 free Timestamp of repository gentoo: Wed, 15 Aug 2018 12:44:29 +0000 Head commit of repository gentoo: dd354e883afe71b1e72c71dbfba0e984104f14d6 sh bash 4.4_p12 ld GNU ld (Gentoo 2.30 p2) 2.30.0 app-shells/bash: 4.4_p12::gentoo dev-lang/perl: 5.24.3-r1::gentoo dev-lang/python: 2.7.14-r1::gentoo, 3.6.5::gentoo dev-util/cmake: 3.9.6::gentoo dev-util/pkgconfig: 0.29.2::gentoo sys-apps/baselayout: 2.4.1-r2::gentoo sys-apps/openrc: 0.34.11::gentoo sys-apps/sandbox: 2.13::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r4::gentoo sys-devel/automake: 1.15.1-r2::gentoo sys-devel/binutils: 2.30-r2::gentoo sys-devel/gcc: 7.3.0-r3::gentoo sys-devel/gcc-config: 1.8-r1::gentoo sys-devel/libtool: 2.4.6-r3::gentoo sys-devel/make: 4.2.1-r3::gentoo sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers) sys-libs/glibc: 2.26-r7::gentoo Repositories: gentoo location: /usr/portage sync-type: git sync-uri: https://github.com/gentoo-mirror/gentoo.git priority: -1000 ABI="x86" ABI_X86="32" ACCEPT_KEYWORDS="x86" ACCEPT_LICENSE="* -@EULA" ACCEPT_PROPERTIES="*" ACCEPT_RESTRICT="*" ARCH="x86" BROOT="" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -pipe -march=pentium4m -mtune=pentium4m" CHOST="i686-pc-linux-gnu" CHOST_x86="i686-pc-linux-gnu" COLLISION_IGNORE="/lib/modules/*" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CPU_FLAGS_X86="mmx mmxext sse sse2" CXXFLAGS="-O2 -pipe -march=pentium4m -mtune=pentium4m" DEFAULT_ABI="x86" EDITOR="/usr/bin/mcedit" ELIBC="glibc" ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" EPREFIX="" EROOT="/" ESYSROOT="/" FCFLAGS="-O2 -march=i686 -pipe" FEATURES="assume-digests binpkg-logs cgroup config-protect-if-modified distlocks downgrade-backup ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -march=i686 -pipe" GCC_SPECS="" GRUB_PLATFORMS="efi-32 pc" GSETTINGS_BACKEND="dconf" HOME="/root" INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/7.3.0/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.30/info:/usr/share/info" INPUT_DEVICES="libinput keyboard mouse" IUSE_IMPLICIT="abi_x86_32 prefix prefix-chain prefix-guest" KERNEL="linux" L10N="en en-US de de-DE" LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" LC_MESSAGES="C" LC_PAPER="de_DE.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LIBDIR_x86="lib" LINGUAS="en de" LOGNAME="root" MAIL="/var/mail/root" MAKEOPTS="--jobs 5 --load-average 7.95" MULTILIB_ABIS="x86" NOCOLOR="true" OFFICE_IMPLEMENTATION="libreoffice" OLDPWD="/var/tmp/distfiles" OPENCL_PROFILE="mesa" OPENGL_PROFILE="xorg-x11" PAGER="/usr/bin/less" PATH="/usr/i686-pc-linux-gnu/gcc-bin/7.3.0:/usr/lib/llvm/6/bin:/usr/lib/llvm/5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5 postgres10" PWD="/tmp" PYTHONDONTWRITEBYTECODE="1" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" QT_GRAPHICSSYSTEM="raster" ROOT="/" ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/7.3.0:/usr/lib/llvm/6/bin:/usr/lib/llvm/5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin" RUBY_TARGETS="ruby22 ruby23" SHELL="/bin/bash" SHLVL="2" SSH_TTY="/dev/pts/0" SYSROOT="/" TERM="tmux-256color" TMUX="/tmp/tmux-0/default,5591,0" TMUX_PANE="%2" TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1" USER="root" USERLAND="GNU" VIDEO_CARDS="vmware"
So this actually looks like an internal error (without any particular error message!) in the gcc linker. Is this reproducible for you?
Yes, reproducible. Sometimes it is failing with > error: Could not compile `serde`. It is also failing with dev-lang/rust-bin. It will create a coredump, here's the backtrace (using dev-lang/rust-1.28.0-r1): > # gdb /usr/bin/rustc-1.28.0 /var/tmp/coredumps/rustc.28692.1534420824 > GNU gdb (Gentoo 8.1 p1) 8.1 > Copyright (C) 2018 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "i686-pc-linux-gnu". > Type "show configuration" for configuration details. > For bug reporting instructions, please see: > <https://bugs.gentoo.org/>. > Find the GDB manual and other documentation resources online at: > <http://www.gnu.org/software/gdb/documentation/>. > For help, type "help". > Type "apropos word" to search for commands related to "word"... > Reading symbols from /usr/bin/rustc-1.28.0...Reading symbols from /usr/lib/debug//usr/bin/rustc-1.28.0.debug...done. > done. > > warning: core file may not match specified executable file. > [New LWP 28692] > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/libthread_db.so.1". > Core was generated by `rustc --crate-name build_script_build /var/tmp/portage/dev-util/cargo-0.29.0/wo'. > Program terminated with signal SIGABRT, Aborted. > #0 0xb7fcbb55 in __kernel_vsyscall () > (gdb) bt > #0 0xb7fcbb55 in __kernel_vsyscall () > #1 0xb79af3aa in __libc_signal_restore_set (set=0xbfcba71c) at ../sysdeps/unix/sysv/linux/nptl-signals.h:80 > #2 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:48 > #3 0xb79b0df9 in __GI_abort () at abort.c:90 > #4 0xb7be59f5 in std::sys::unix::abort_internal () from /usr/lib/libstd-b064191cfffad400.so > #5 0xb7bf8737 in std::sys_common::util::abort () from /usr/lib/libstd-b064191cfffad400.so > #6 0xb7bc895a in rust_panic.llvm () from /usr/lib/libstd-b064191cfffad400.so > #7 0xb7bc8885 in std::panicking::update_count_then_panic () from /usr/lib/libstd-b064191cfffad400.so > #8 0xb7bc24a0 in std::panic::resume_unwind () from /usr/lib/libstd-b064191cfffad400.so > #9 0xb5277871 in rustc_errors::FatalError::raise () from /usr/lib/librustc_errors-70fda7a4186a5a74.so > #10 0xb5279307 in rustc_errors::Handler::abort_if_errors () from /usr/lib/librustc_errors-70fda7a4186a5a74.so > #11 0xb5b483b1 in rustc::session::Session::abort_if_errors () from /usr/lib/librustc-b307bb487d2d4885.so > #12 0xb256f723 in rustc_codegen_llvm::back::link::link_natively () > from /usr/lib/rustlib/i686-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so > #13 0xb256a38a in rustc_codegen_llvm::back::link::link_binary () > from /usr/lib/rustlib/i686-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so > #14 0xb2542396 in <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_utils::codegen_backend::CodegenBackend>::join_codegen_and_link::{{closure}} () > from /usr/lib/rustlib/i686-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so > #15 0xb253488a in rustc::util::common::time () > from /usr/lib/rustlib/i686-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so > #16 0xb2617683 in <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_utils::codegen_backend::CodegenBackend>::join_codegen_and_link () from /usr/lib/rustlib/i686-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so > #17 0xb7dce38d in rustc_driver::driver::compile_input () from /usr/lib/librustc_driver-aa0324c2de90a4a8.so > #18 0xb7e61861 in rustc_driver::run_compiler_with_pool () from /usr/lib/librustc_driver-aa0324c2de90a4a8.so > #19 0xb7dbc13f in <scoped_tls::ScopedKey<T>>::set () from /usr/lib/librustc_driver-aa0324c2de90a4a8.so > #20 0xb7d8fbd2 in syntax::with_globals () from /usr/lib/librustc_driver-aa0324c2de90a4a8.so > #21 0xb7d6e2e6 in <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once () > from /usr/lib/librustc_driver-aa0324c2de90a4a8.so > #22 0xb7c08048 in __rust_maybe_catch_panic () from /usr/lib/libstd-b064191cfffad400.so > #23 0xb7e5ecdb in rustc_driver::run () from /usr/lib/librustc_driver-aa0324c2de90a4a8.so > #24 0xb7e6e71a in rustc_driver::main () from /usr/lib/librustc_driver-aa0324c2de90a4a8.so > #25 0x004478ea in rustc_binary::main () > #26 0x00447896 in std::rt::lang_start::{{closure}} () > #27 0xb7bcaa0e in std::sys_common::backtrace::__rust_begin_short_backtrace () from /usr/lib/libstd-b064191cfffad400.so > #28 0xb7bc8112 in std::panicking::try::do_call () from /usr/lib/libstd-b064191cfffad400.so > #29 0xb7c08048 in __rust_maybe_catch_panic () from /usr/lib/libstd-b064191cfffad400.so > #30 0xb7bc8076 in std::panicking::try () from /usr/lib/libstd-b064191cfffad400.so > #31 0xb7bbb615 in std::rt::lang_start_internal () from /usr/lib/libstd-b064191cfffad400.so > #32 0x00447921 in main () > (gdb) q
If I read this correctly, you have 3GB of memory on this machine? I'm wondering if there's some kind of memory shortage at fault here.
I've filed a bug against binutils upstream, let's see what they say. I suspect you might be running out of memory.
Created attachment 544268 [details] Compiling cargo v0.29.0 error: expected one of `,` or `as`, found `::` Compiling cargo v0.29.0 (file:///var/tmp/portage/dev-util/cargo-0.29.0/work/cargo-0.29.0) error: expected one of `,` or `as`, found `::` --> src/cargo/util/config.rs:22:19 | 22 | use serde::{de, de::IntoDeserializer, Serialize, Serializer}; | ^^ expected one of `,` or `as` here error: expected one of `;`, `as`, or `self`, found `::` --> src/cargo/util/config.rs:22:19 | 22 | use serde::{de, de::IntoDeserializer, Serialize, Serializer}; | ^^ expected one of `;`, `as`, or `self` here error: aborting due to 2 previous errors error: Could not compile `cargo`.
Portage 2.3.48 (python 3.5.5-final-0, targets/desktop/gnome/3.24, gcc-7.3.0, glibc-2.27-r6, 4.9.97-backbone x86_64) ================================================================= System uname: Linux-4.9.97-backbone-x86_64-Intel-R-_Core-TM-_i7-2635QM_CPU_@_2.00GHz-with-gentoo-2.6 KiB Mem: 8075264 total, 3436208 free KiB Swap: 8387904 total, 8387072 free Timestamp of repository gentoo: Tue, 21 Aug 2018 05:15:01 +0000 Head commit of repository gentoo: fdf580a1422bb5ebcbe7a8218eaea67341901d77 Head commit of repository elementary: 8b20be0bad920b04901bdd49a2bd7ef5becd3566 Head commit of repository nightmare: f567036b649f16a7f23ab90155a2b53132994acc Head commit of repository dantrell-gnome-3-24: 52d534a130ca5fe08b341e786adb046a243796c3 Head commit of repository dantrell-gnome-3-26: 0e8dae92bf170446880be5165af0bdf3f043df57 Head commit of repository dantrell-gnome: 689d55cb0d05c0bbcf3617765f8a90f6e0d94523 sh bash 4.4_p23 ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1 app-shells/bash: 4.4_p23::gentoo dev-java/java-config: 2.2.0-r4::gentoo dev-lang/perl: 5.26.2::gentoo dev-lang/python: 2.7.15-r100::stefantalpalaru, 3.4.8-r1::gentoo, 3.5.5-r1::gentoo, 3.6.6::gentoo, 3.7.0::gentoo dev-util/cmake: 3.12.1::gentoo dev-util/pkgconfig: 0.29.2::gentoo sys-apps/baselayout: 2.6-r1::gentoo sys-apps/openrc: 0.35.5::dantrell-gnome sys-apps/sandbox: 2.13::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r4::gentoo sys-devel/automake: 1.11.6-r3::gentoo, 1.14.1-r2::gentoo, 1.15.1-r2::gentoo, 1.16.1-r1::gentoo sys-devel/binutils: 2.25.1-r1::gentoo, 2.29.1-r1::gentoo, 2.30-r3::gentoo, 2.31.1::gentoo sys-devel/gcc: 4.9.4::gentoo, 6.4.0-r3::gentoo, 7.3.0-r4::gentoo, 8.2.0-r2::gentoo sys-devel/gcc-config: 1.9.1::gentoo sys-devel/libtool: 2.4.6-r5::gentoo sys-devel/make: 4.2.1-r3::gentoo sys-kernel/linux-headers: 4.17::gentoo (virtual/os-headers) sys-libs/glibc: 2.27-r6::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.mirrors.ustc.edu.cn/gentoo-portage/ priority: -1000 sync-rsync-extra-opts: sync-rsync-verify-max-age: 24 sync-rsync-verify-metamanifest: yes sync-rsync-verify-jobs: 1 0x4d4c location: /var/lib/layman/0x4d4c masters: gentoo priority: 50 elementary location: /var/lib/layman/elementary sync-type: git sync-uri: https://github.com/pimvullers/elementary.git masters: gentoo priority: 50 gentoo-zh location: /var/lib/layman/gentoo-zh masters: gentoo priority: 50 nightmare location: /var/lib/layman/nightmare sync-type: git sync-uri: https://gitlab.com/r3lgar/nightmare.git masters: gentoo priority: 50 oboeverlay location: /var/lib/layman/oboeverlay masters: gentoo priority: 50 powerman location: /var/lib/layman/powerman masters: gentoo priority: 50 stefantalpalaru location: /var/lib/layman/stefantalpalaru masters: gentoo priority: 50 yandex location: /var/lib/layman/yandex masters: gentoo priority: 50 dantrell-gnome-3-24 location: /var/lib/layman/dantrell-gnome-3-24 sync-type: git sync-uri: https://github.com/dantrell/gentoo-overlay-dantrell-gnome-3-24.git masters: gentoo priority: 100 dantrell-gnome-3-26 location: /var/lib/layman/dantrell-gnome-3-26 sync-type: git sync-uri: https://github.com/dantrell/gentoo-overlay-dantrell-gnome-3-26.git masters: gentoo priority: 100 dantrell-gnome location: /var/lib/layman/dantrell-gnome sync-type: git sync-uri: https://github.com/dantrell/gentoo-overlay-dantrell-gnome.git masters: gentoo priority: 150 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.2/ext-active/ /etc/php/cgi-php7.2/ext-active/ /etc/php/cli-php7.2/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/vmware-installer" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/usr/portage/distfiles" ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://mirrors.163.com/gentoo/" LANG="zh_CN.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="zh_CN zh_TW en_US" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="256-color X aac acl alsa amd64 asf berkdb bluetooth bzip2 cdr cjk clang cli colord crypt curl cxx dbus dri dvd dvdr elogind fbcondecor fortran gdbm gif gnome-keyring gnome-online-accounts gtk gtk2 gtk3 gtkstyle gui hfs iconv icu introspection ipv6 jpeg libnotify libtirpc mad minizip mmx modules mp3 mp4 multilib nautilus ncurses nls nptl nsplugin objc openmp pam pantheon pcre pdf png policykit pulseaudio python qt4 qt5 readline real seccomp sse sse2 ssl svc svg tcpd tiff tracker truetype unicode unicode3 vim-syntax wayland widgets wifi win32codecs x264 xattr xft xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon plan sheets stage words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev synaptics" KERNEL="linux" L10N="zh-CN en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5 postgres10" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_4 python3_5 python3_6" RUBY_TARGETS="ruby23" USERLAND="GNU" VIDEO_CARDS="intel i965 r600 i915 radeon" XFCE_PLUGINS="brightness clock trash" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Morladim: that seems like a completely different issue. Please file a different bug for it (though I have no clue why you are seeing this). Thomas: upstream suggests in https://sourceware.org/bugzilla/show_bug.cgi?id=23534 that they think it's a hardware issue. Have you had any issues with that machine recently?
I can reproduce on real x86 hardware *and* my x86 virtual machine (the VM is running on a host with ECC memory). On the same VM host, package builds fine in another amd64 VM. I have zero indication for a hardware problem. But let's request a test from zlogene who should also have access to x86 hardware. @ zlogene: Can you please try to build package list from bug 662904 on a real x86 host (i.e. gcc-7.3.0, glibc-2.26-r7, i686, a CPU like -march=pentium4m or -march=prescott (no sse3 support!)?
This seems to be a x86 specific issue? If so, please remove the blocker so that the stabilization for amd64 can be continued.
For those who can reproduce this, upstream has posted some instructions for investigating the problem: "One of you who can manage to reproduce this bug will need to spend a little time using gdb to find out what is going on. If I had a reproducible test case, I'd a) Run the failing link with "-save-temps -v -Wl,-v" added to the command line. b) Run the ld invocation so found to check that the error still occurs. c) Run that under gdb, putting a breakpoint on the assertion. d) Find the address of entry->the_bfd->link.next when the assertion triggers. e) Put a watchpoint on writes to that address, and run it again."
(In reply to Thomas Deutschmann from comment #9) > I can reproduce on real x86 hardware *and* my x86 virtual machine (the VM is > running on a host with ECC memory). On the same VM host, package builds fine > in another amd64 VM. I have zero indication for a hardware problem. But > let's request a test from zlogene who should also have access to x86 > hardware. > > @ zlogene: > Can you please try to build package list from bug 662904 on a real x86 host > (i.e. gcc-7.3.0, glibc-2.26-r7, i686, a CPU like -march=pentium4m or > -march=prescott (no sse3 support!)? On real x86 I can reproduce
(In reply to Mikle Kolyada from comment #12) > On real x86 I can reproduce Good. Thanks for confirmation that this is not just *my* setup :-) I'll now look into requested debug information.
1) May I suggest the following ebuild changes? --- a/dev-util/cargo/cargo-0.29.0.ebuild +++ b/dev-util/cargo/cargo-0.29.0.ebuild @@ -125,7 +125,7 @@ wincolor-0.1.6 wincolor-1.0.0 " -inherit cargo bash-completion-r1 versionator +inherit cargo bash-completion-r1 multiprocessing versionator BOOTSTRAP_VERSION="0.$(($(get_version_component_range 2) - 1)).0" @@ -195,7 +195,7 @@ src_configure() { src_compile() { export CARGO_HOME="${ECARGO_HOME}" local cargo="${WORKDIR}/cargo-${BOOTSTRAP_VERSION}-${TRIPLE}/cargo/bin/cargo" - ${cargo} build --release + ${cargo} build -j$(makeopts_jobs) -vv --release || die # Building HTML documentation use doc && ${cargo} doc This will make the ebuild honor MAKEOPTS, be verbose and fail in src_compile if an error occured (without that, errors are only caught in src_install phase because the binaries we want to install aren't created due to error in src_compile phase and therefore missing. 2) I am unable to reproduce using dev-lang/rust-bin-1.28.0-r1. I thought I was but maybe I didn't realize that you can install rust slotted in Gentoo and forgot to switch. But at least now I can say for sure that I am unable to reproduce when "rust-bin-1.28.0" is selected but I can reproduce with "rust-1.28.0" built on that host. 3) This looks like a binutils problem! I keyworded and installed sys-devel/binutils-2.31.1 on that host. Once used, building dev-util/cargo-0.29.0 is now successful that host. When I switch back to i686-pc-linux-gnu-2.30 using `eselect` (and source profile), cargo will fail to compile like before. I don't understand why using rust-bin seems to work, maybe someone can explain that. But instead of wasting more time I would say: Let's ask toolchain project if we can stabilize binutils-2.31.1 and move on.
Adding the || die and the -j option sounds good. I think the verbose output is a bit too wordy, and generally when it dies it will still be pretty verbose about the failure anyway. It seems obvious that rust-bin wouldn't die in this way, since it just installs binaries -- so there's no linking step happening. Good to know that it seems better with the newer binutils!
I can also reproduce this, in a i686 chroot (amd64 host).
The failure is triggered by the fact of injecting /usr/lib into LD_LIBRARY_PATH by cargo (or rust?): $ LD_LIBRARY_PATH=/usr/lib ld --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o z /usr/lib/Scrt1.o ld: internal error /dev/shm/portage/sys-devel/binutils-2.30/work/binutils-2.30/ld/ldlang.c 6635 I'll try to dig into why binutils fails.
(In reply to Sergei Trofimovich from comment #17) > The failure is triggered by the fact of injecting /usr/lib into > LD_LIBRARY_PATH by cargo (or rust?): > > $ LD_LIBRARY_PATH=/usr/lib ld --eh-frame-hdr -m elf_i386 -dynamic-linker > /lib/ld-linux.so.2 -o z /usr/lib/Scrt1.o > ld: internal error > /dev/shm/portage/sys-devel/binutils-2.30/work/binutils-2.30/ld/ldlang.c 6635 > > I'll try to dig into why binutils fails. It happens because /usr/lib/libbfd-2.30.0.so comes from sys-libs/binutils-libs (LD_LIBRARY_PATH=/usr/lib) /usr/lib/binutils/i686-pc-linux-gnu/2.30/libbfd-2.30.0.so comes from sys-devel/binutils (LD_LIBRARY_PATH=) I think we managed to skew ABI in gentoo across binutils / binutils-libs either with backported patches or some configure flags.
The ABI mismatch is at least in global array exported by libbfd: $ LANG=C readelf -a /usr/lib/binutils/i686-pc-linux-gnu/2.30/libbfd-2.30.0.so | grep OBJECT | sort -k 8 > /b $ LANG=C readelf -a /usr/lib/libbfd-2.30.0.so | grep OBJECT | sort -k 8 > /bl - 717: 001358e0 768 OBJECT GLOBAL DEFAULT 22 _bfd_std_section + 951: 000f68a0 672 OBJECT GLOBAL DEFAULT 22 _bfd_std_section This is a case of breakage similar to nettle breakage we have seen last time: http://trofi.github.io/posts/195-dynamic-linking-ABI-is-hard.html Looking at configure flags difference: sys-libs/binutils-libs has optional USE=64-bit-bfd while sys-devel/binutils always enables it on 32-bit targets: ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) toolchain@ could mitigate it with a few ways: 1. change SONAME for sys-devel/binutils package into something that is guaranteed not to collide with sys-libs/binutils-libs 2. enforce the same ABI-affecting configure flags to both packages I think 1. is worth a shot.
Just a quick update regarding my comment #14: No, dev-util/cargo doesn't build when using binutils-2.31.1. Sergei was so kind to explain to me, that sys-devel/binutils and sys-libs/binutils-libs must be in sync. When I tested, I only updated sys-devel/binutils package. Due to that, /usr/lib/libbfd-2.30.0 owned by sys-libs/binutils-libs was no longer loaded so I didn't run into the error. Once binutils and binutils-libs are back in sync at same version, even at 2.31.1, the error is back. So I am looking forward to toolchain project to fix the problem shown by slyfox in previous comment.
Sergei, very nice work! Thank you for digging into this. I'm following up with the Rust folks to see what the `LD_LIBRARY_PATH` injection is for.
I have the same problem on two amd64 systems, one with no-multilib. I have not yet tried to build it on an x86. Please see attached cargo-0.29.0.log (from the multilib system).
Created attachment 546606 [details] Log from multilib amd64 system.
(In reply to MickKi from comment #22) > I have the same problem on two amd64 systems [...] MickKi, please try it after `eselect rust set rust-1.28.0`
(In reply to josef.95 from comment #24) > MickKi, please try it after `eselect rust set rust-1.28.0` Thanks josef.95, for some reason I've had rust-bin installed on my systems: $ eselect rust list Available Rust versions: [1] rust-1.28.0 [2] rust-bin-1.25.0 * After I've switched to rust-1.28.0 I was able to install cargo. I got some warnings but no errors. I will install on an x86 system soon to see if this is related. -- Kind regards, Mick
Something recently pulled rust-bin as a dependency and made it the default, causing various rust related build errors like cargo. Switching to rust-1.28.0 solved all of my issues.
(In reply to Sergei Trofimovich from comment #19) > toolchain@ could mitigate it with a few ways: > 1. change SONAME for sys-devel/binutils package into something that is > guaranteed not to collide with sys-libs/binutils-libs > 2. enforce the same ABI-affecting configure flags to both packages > > I think 1. is worth a shot. binutils/binutils-libs/binutils-hppa64 changes will be handled in bug #666100 Meanwhile workaround for this bug: enable USE=64-bit-bfd for sys-libs/binutils-libs.
Created attachment 547028 [details] Log from x86 system I've keyworded: =dev-lang/rust-1.28.0-r1 ~x86 =virtual/rust-1.28.0 ~x86 =sys-devel/binutils-2.31.1 ~x86 =dev-util/cargo-0.29.0 ~x86 in the hope of being able to install cargo in order to update firefox, but it failed as per the attached log.
MickKi, did you apply the workaround from comment 27?
(In reply to Dirkjan Ochtman from comment #29) > MickKi, did you apply the workaround from comment 27? According to toolchain project this is not yet ready to test. This was just an "idea", they are working on this.
The workaround in comment 27 won't work on a x86 system, would it? I tried building this within a chroot and on the x86 client system itself. Anyway, I removed all keyworded packages and now rust-1.25.0 and cargo-0.26.0 build fine, but firefox-60.2.0 fails ... which is what started me keywording these dependencies in the first place. :-(
(In reply to MickKi from comment #31) > The workaround in comment 27 won't work on a x86 system, would it? I tried > building this within a chroot and on the x86 client system itself. > > Anyway, I removed all keyworded packages and now rust-1.25.0 and > cargo-0.26.0 build fine, but firefox-60.2.0 fails ... which is what started > me keywording these dependencies in the first place. :-( If you really want a workaround to build newer firefox, unmerge sys-libs/binutils-libs temporary (or just ensure that '/usr/lib64/libbfd.so' cannot be found, i.e. remove symlink/target temporary). This will cause rust/cargo to fall back to lib from binutils package which works and you are therefore able to emerge cargo. Don't forget to restore binutils-libs package after that.
(In reply to Thomas Deutschmann from comment #32) > If you really want a workaround to build newer firefox, unmerge > sys-libs/binutils-libs temporary (or just ensure that '/usr/lib64/libbfd.so' > cannot be found, i.e. remove symlink/target temporary). This will cause > rust/cargo to fall back to lib from binutils package which works and you are > therefore able to emerge cargo. > > Don't forget to restore binutils-libs package after that. Thanks Thomas, yes, removing the symlink works, but Firefox still fails to build. Probably a different bug.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=42a2033b9cdf87e13684dba32e70b4366e2fcdbb commit 42a2033b9cdf87e13684dba32e70b4366e2fcdbb Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2018-09-20 22:14:39 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2018-09-21 07:00:30 +0000 sys-devel/binutils-hppa64: release patchset 3 for 2.31.1 One new patch: + 0014-Gentoo-add-with-extra-soversion-suffix-option.patch Changes SONAME from libopcodes-2.31.1.so to libopcodes-2.31.1.gentoo-sys-devel-binutils-hppa64-st.so SONAME now encodes USE=multilib and package name. Bug: https://bugs.gentoo.org/663690 Bug: https://bugs.gentoo.org/666376 Bug: https://bugs.gentoo.org/666100 Package-Manager: Portage-2.3.49, Repoman-2.3.10 sys-devel/binutils-hppa64/Manifest | 1 + .../binutils-hppa64-2.31.1-r1.ebuild | 396 +++++++++++++++++++++ 2 files changed, 397 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=29a5c809380b2a3cb1eb15229404e9cf4dfca61c commit 29a5c809380b2a3cb1eb15229404e9cf4dfca61c Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2018-09-20 21:58:33 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2018-09-21 07:00:29 +0000 sys-devel/binutils: release patchset 3 for 2.31.1 One new patch: + 0014-Gentoo-add-with-extra-soversion-suffix-option.patch Changes SONAME from libopcodes-2.31.1.so to libopcodes-2.31.1.gentoo-sys-devel-binutils-mt.so SONAME now encodes USE=multilib and package name. Bug: https://bugs.gentoo.org/663690 Bug: https://bugs.gentoo.org/666376 Bug: https://bugs.gentoo.org/666100 Package-Manager: Portage-2.3.49, Repoman-2.3.10 sys-devel/binutils/Manifest | 1 + sys-devel/binutils/binutils-2.31.1-r1.ebuild | 427 +++++++++++++++++++++++++++ 2 files changed, 428 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a15bb52d009b4071e0e3d28b7bba6abad725f8d3 commit a15bb52d009b4071e0e3d28b7bba6abad725f8d3 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2018-09-20 21:39:59 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2018-09-21 07:00:29 +0000 sys-libs/binutils-libs: release patchset 3 for 2.31.1 One new patch: + 0014-Gentoo-add-with-extra-soversion-suffix-option.patch Changes SONAME from libopcodes-2.31.1.so to libopcodes-2.31.1.gentoo-sys-libs-binutils-libs-mt-def.so SONAME now encodes USE=multilib, USE=64-bit-bfd and package name. Bug: https://bugs.gentoo.org/663690 Bug: https://bugs.gentoo.org/666376 Bug: https://bugs.gentoo.org/666100 Package-Manager: Portage-2.3.49, Repoman-2.3.10 sys-libs/binutils-libs/Manifest | 1 + .../binutils-libs/binutils-libs-2.31.1-r1.ebuild | 112 +++++++++++++++++++++ 2 files changed, 113 insertions(+)
*** Bug 665664 has been marked as a duplicate of this bug. ***
*** Bug 666508 has been marked as a duplicate of this bug. ***
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec9a106deef4fc52c5f81a1ef52e18af323f2513 commit ec9a106deef4fc52c5f81a1ef52e18af323f2513 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2018-09-25 07:33:26 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2018-09-25 07:33:26 +0000 sys-libs/binutils-libs: release patchset 5 for 2.30 One new main patch: + 0098-Gentoo-add-with-extra-soversion-suffix-option.patch And four backports: + 0094-Replace-CET-bit-with-IBT-and-SHSTK-bits.patch + 0095-Fix-parens-in-ld-bootstrap.exp.patch + 0096-x86-64-Clear-the-R_X86_64_converted_reloc_bit-bit.patch + 0097-Fix-unwind-offset-for-call_info-start_symbol.patch Changes SONAME from libopcodes-2.30.so to libopcodes-2.30.gentoo-sys-libs-binutils-libs-mt-def.so SONAME now encodes USE=multilib and package name. Bug: https://bugs.gentoo.org/663690 Bug: https://bugs.gentoo.org/666376 Bug: https://bugs.gentoo.org/666100 Package-Manager: Portage-2.3.49, Repoman-2.3.11 sys-libs/binutils-libs/Manifest | 1 + .../binutils-libs/binutils-libs-2.30-r4.ebuild | 112 +++++++++++++++++++++ 2 files changed, 113 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7764cb4e0cf79ec433f488a7cc76f0f9da34285 commit f7764cb4e0cf79ec433f488a7cc76f0f9da34285 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2018-09-25 07:32:10 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2018-09-25 07:32:10 +0000 sys-devel/binutils-hppa64: release patchset 5 for 2.30 One new main patch: + 0098-Gentoo-add-with-extra-soversion-suffix-option.patch And four backports: + 0094-Replace-CET-bit-with-IBT-and-SHSTK-bits.patch + 0095-Fix-parens-in-ld-bootstrap.exp.patch + 0096-x86-64-Clear-the-R_X86_64_converted_reloc_bit-bit.patch + 0097-Fix-unwind-offset-for-call_info-start_symbol.patch Changes SONAME from libopcodes-2.30.so to libopcodes-2.30.gentoo-sys-devel-binutils-hppa64-st.so SONAME now encodes USE=multilib and package name. Bug: https://bugs.gentoo.org/663690 Bug: https://bugs.gentoo.org/666376 Bug: https://bugs.gentoo.org/666100 Package-Manager: Portage-2.3.49, Repoman-2.3.11 sys-devel/binutils-hppa64/Manifest | 1 + .../binutils-hppa64/binutils-hppa64-2.30-r4.ebuild | 396 +++++++++++++++++++++ 2 files changed, 397 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8b0a8d7bb07bd2a7c4bd33a9e9598051030823a commit d8b0a8d7bb07bd2a7c4bd33a9e9598051030823a Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2018-09-25 07:30:30 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2018-09-25 07:30:30 +0000 sys-devel/binutils: release patchset 5 for 2.30 One new main patch: + 0098-Gentoo-add-with-extra-soversion-suffix-option.patch And four backports: + 0094-Replace-CET-bit-with-IBT-and-SHSTK-bits.patch + 0095-Fix-parens-in-ld-bootstrap.exp.patch + 0096-x86-64-Clear-the-R_X86_64_converted_reloc_bit-bit.patch + 0097-Fix-unwind-offset-for-call_info-start_symbol.patch Changes SONAME from libopcodes-2.30.so to libopcodes-2.30.gentoo-sys-devel-binutils-mt.so SONAME now encodes USE=multilib and package name. Bug: https://bugs.gentoo.org/663690 Bug: https://bugs.gentoo.org/666376 Bug: https://bugs.gentoo.org/666100 Package-Manager: Portage-2.3.49, Repoman-2.3.11 sys-devel/binutils/Manifest | 1 + sys-devel/binutils/binutils-2.30-r4.ebuild | 419 +++++++++++++++++++++++++++++ 2 files changed, 420 insertions(+)
I can confirm that using binutils(-libs)-2.30-r4, I was successful in building cargo on x86 which previously was affected. Thanks to all involved!
So let's close this.
*** Bug 658362 has been marked as a duplicate of this bug. ***