Except that it occurs on sparc, error is identical to unresolved gentoo bug 57654 on AMD-64, http://bugs.gentoo.org/show_bug.cgi?id=57654 However, the proposed libtool patches/solutions in 57654 are already present in libtool.m4 and do not have any bearing on the build problem. Reproducible: Always Steps to Reproduce: 1. on gento sparc64, `emerge db` 2. 3. Actual Results: Package failed to compile and ebuild failed with output: ... sparc64-unknown-linux-gnu-ar cru .libs/libdb-4.2.a mut_tas.o db185.o bt_compare.o bt_conv.o bt_curadj.o bt_cursor.o bt_delete.o bt_method.o bt_open.o bt_put.o bt_rec.o bt_reclaim.o bt_recno.o bt_rsearch.o bt_search.o bt_split.o bt_stat.o bt_upgrade.o btree_auto.o hash.o hash_auto.o hash_conv.o hash_dup.o hash_meta.o hash_method.o hash_open.o hash_page.o hash_rec.o hash_reclaim.o hash_stat.o hash_upgrade.o hash_verify.o qam.o qam_auto.o qam_conv.o qam_files.o qam_method.o qam_open.o qam_rec.o qam_stat.o qam_upgrade.o qam_verify.o rep_method.o rep_record.o rep_region.o rep_util.o db_ovfl_vrfy.o db_vrfy.o db_vrfyutil.o bt_verify.o aes_method.o crypto.o mt19937db.o rijndael-alg-fst.o rijndael-api-fst.o client.o db_server_clnt.o db_server_xdr.o gen_client.o gen_client_ret.o crdel_auto.o crdel_rec.o db.o db_am.o db_auto.o db_byteorder.o db_cam.o db_conv.o db_dispatch.o db_dup.o db_err.o db_getlong.o db_idspace.o db_iface.o db_join.o db_log2.o db_meta.o db_method.o db_open.o db_overflow.o db_pr.o db_rec.o db_reclaim.o db_rename.o db_remove.o db_ret.o db_salloc.o db_shash.o db_truncate.o db_upg.o db_upg_opd.o dbm.o dbreg.o dbreg_auto.o dbreg_rec.o dbreg_util.o env_file.o env_method.o env_open.o env_recover.o env_region.o fileops_auto.o fop_basic.o fop_rec.o fop_util.o hash_func.o hmac.o hsearch.o lock.o lock_deadlock.o lock_method.o lock_region.o lock_stat.o lock_util.o log.o log_archive.o log_compare.o log_get.o log_method.o log_put.o mp_alloc.o mp_bh.o mp_fget.o mp_fopen.o mp_fput.o mp_fset.o mp_method.o mp_region.o mp_register.o mp_stat.o mp_sync.o mp_trickle.o mutex.o os_abs.o os_alloc.o os_clock.o os_config.o os_dir.o os_errno.o os_fid.o os_fsync.o os_handle.o os_id.o os_map.o os_method.o os_oflags.o os_open.o os_region.o os_rename.o os_root.o os_rpath.o os_rw.o os_seek.o os_sleep.o os_spin.o os_stat.o os_tmpdir.o os_unlink.o sha1.o txn.o txn_auto.o txn_method.o txn_rec.o txn_recover.o txn_region.o txn_stat.o txn_util.o xa.o xa_db.o xa_map.o sparc64-unknown-linux-gnu-ranlib .libs/libdb-4.2.a creating libdb-4.2.la (cd .libs && rm -f libdb-4.2.la && ln -s ../libdb-4.2.la libdb-4.2.la) rm -f libdb.a test ! -f .libs/libdb-4.2.a || \ ln -s .libs/libdb-4.2.a libdb.a test -f .libs/libdb-4.2.a || \ (test -f libdb-4.2.a && ln -s libdb-4.2.a libdb.a) /bin/sh ./libtool --mode=link gcc -o berkeley_db_svc \ db_server_proc.lo db_server_svc.lo db_server_util.lo gen_db_server.lo util_log.lo libdb-4.2.la gcc -o .libs/berkeley_db_svc .libs/db_server_proc.o .libs/db_server_svc.o .libs/db_server_util.o .libs/gen_db_server.o .libs/util_log.o ./.libs/libdb-4.2.so creating berkeley_db_svc /bin/sh ./libtool --mode=execute true berkeley_db_svc /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../crti.o(.init+0x0): In function `_init': /var/tmp/portage/glibc-2.3.2-r9/work/glibc-2.3.2/buildhere/csu/crti.S:9: multiple definition of `_init' /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../crti.o(.init+0x0):/var/tmp/portage/glibc-2.3.2-r9/work/glibc-2.3.2/buildhere/csu/crti.S:9: first defined here /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../../sparc-unknown-linux-gnu/bin/ld: Disabling relaxation: it will not work with multiple definitions /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../crti.o(.fini+0x0): In function `_fini': : multiple definition of `_fini' /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../crti.o(.fini+0x0): first defined here /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/crtbeginS.o(.data.rel+0x0): multiple definition of `__dso_handle' /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/crtbeginS.o(.data.rel+0x0): first defined here collect2: ld returned 1 exit status make: *** [libdb_cxx-4.2.la] Error 1 make: *** Waiting for unfinished jobs.... /bin/sh ./libtool --mode=link g++ -avoid-version -rpath /usr/lib \ -o libdb_cxx-4.2.la cxx_db.lo cxx_dbc.lo cxx_dbt.lo cxx_env.lo cxx_except.lo cxx_lock.lo cxx_logc.lo cxx_mpool.lo cxx_txn.lo cxx_multi.lo mut_tas.lo db185.lo bt_compare.lo bt_conv.lo bt_curadj.lo bt_cursor.lo bt_delete.lo bt_method.lo bt_open.lo bt_put.lo bt_rec.lo bt_reclaim.lo bt_recno.lo bt_rsearch.lo bt_search.lo bt_split.lo bt_stat.lo bt_upgrade.lo btree_auto.lo hash.lo hash_auto.lo hash_conv.lo hash_dup.lo hash_meta.lo hash_method.lo hash_open.lo hash_page.lo hash_rec.lo hash_reclaim.lo hash_stat.lo hash_upgrade.lo hash_verify.lo qam.lo qam_auto.lo qam_conv.lo qam_files.lo qam_method.lo qam_open.lo qam_rec.lo qam_stat.lo qam_upgrade.lo qam_verify.lo rep_method.lo rep_record.lo rep_region.lo rep_util.lo db_ovfl_vrfy.lo db_vrfy.lo db_vrfyutil.lo bt_verify.lo aes_method.lo crypto.lo mt19937db.lo rijndael-alg-fst.lo rijndael-api-fst.lo client.lo db_server_clnt.lo db_server_xdr.lo gen_client.lo gen_client_ret.lo crdel_auto.lo crdel_rec.lo db.lo db_am.lo db_auto.lo db_byteorder.lo db_cam.lo db_conv.lo db_dispatch.lo db_dup.lo db_err.lo db_getlong.lo db_idspace.lo db_iface.lo db_join.lo db_log2.lo db_meta.lo db_method.lo db_open.lo db_overflow.lo db_pr.lo db_rec.lo db_reclaim.lo db_rename.lo db_remove.lo db_ret.lo db_salloc.lo db_shash.lo db_truncate.lo db_upg.lo db_upg_opd.lo dbm.lo dbreg.lo dbreg_auto.lo dbreg_rec.lo dbreg_util.lo env_file.lo env_method.lo env_open.lo env_recover.lo env_region.lo fileops_auto.lo fop_basic.lo fop_rec.lo fop_util.lo hash_func.lo hmac.lo hsearch.lo lock.lo lock_deadlock.lo lock_method.lo lock_region.lo lock_stat.lo lock_util.lo log.lo log_archive.lo log_compare.lo log_get.lo log_method.lo log_put.lo mp_alloc.lo mp_bh.lo mp_fget.lo mp_fopen.lo mp_fput.lo mp_fset.lo mp_method.lo mp_region.lo mp_register.lo mp_stat.lo mp_sync.lo mp_trickle.lo mutex.lo os_abs.lo os_alloc.lo os_clock.lo os_config.lo os_dir.lo os_errno.lo os_fid.lo os_fsync.lo os_handle.lo os_id.lo os_map.lo os_method.lo os_oflags.lo os_open.lo os_region.lo os_rename.lo os_root.lo os_rpath.lo os_rw.lo os_seek.lo os_sleep.lo os_spin.lo os_stat.lo os_tmpdir.lo os_unlink.lo sha1.lo txn.lo txn_auto.lo txn_method.lo txn_rec.lo txn_recover.lo txn_region.lo txn_stat.lo txn_util.lo xa.lo xa_db.lo xa_map.lo g++ -shared /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../crti.o /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/crtbeginS.o .libs/cxx_db.o .libs/cxx_dbc.o .libs/cxx_dbt.o .libs/cxx_env.o .libs/cxx_except.o .libs/cxx_lock.o .libs/cxx_logc.o .libs/cxx_mpool.o .libs/cxx_txn.o .libs/cxx_multi.o .libs/mut_tas.o .libs/db185.o .libs/bt_compare.o .libs/bt_conv.o .libs/bt_curadj.o .libs/bt_cursor.o .libs/bt_delete.o .libs/bt_method.o .libs/bt_open.o .libs/bt_put.o .libs/bt_rec.o .libs/bt_reclaim.o .libs/bt_recno.o .libs/bt_rsearch.o .libs/bt_search.o .libs/bt_split.o .libs/bt_stat.o .libs/bt_upgrade.o .libs/btree_auto.o .libs/hash.o .libs/hash_auto.o .libs/hash_conv.o .libs/hash_dup.o .libs/hash_meta.o .libs/hash_method.o .libs/hash_open.o .libs/hash_page.o .libs/hash_rec.o .libs/hash_reclaim.o .libs/hash_stat.o .libs/hash_upgrade.o .libs/hash_verify.o .libs/qam.o .libs/qam_auto.o .libs/qam_conv.o .libs/qam_files.o .libs/qam_method.o .libs/qam_open.o .libs/qam_rec.o .libs/qam_stat.o .libs/qam_upgrade.o .libs/qam_verify.o .libs/rep_method.o .libs/rep_record.o .libs/rep_region.o .libs/rep_util.o .libs/db_ovfl_vrfy.o .libs/db_vrfy.o .libs/db_vrfyutil.o .libs/bt_verify.o .libs/aes_method.o .libs/crypto.o .libs/mt19937db.o .libs/rijndael-alg-fst.o .libs/rijndael-api-fst.o .libs/client.o .libs/db_server_clnt.o .libs/db_server_xdr.o .libs/gen_client.o .libs/gen_client_ret.o .libs/crdel_auto.o .libs/crdel_rec.o .libs/db.o .libs/db_am.o .libs/db_auto.o .libs/db_byteorder.o .libs/db_cam.o .libs/db_conv.o .libs/db_dispatch.o .libs/db_dup.o .libs/db_err.o .libs/db_getlong.o .libs/db_idspace.o .libs/db_iface.o .libs/db_join.o .libs/db_log2.o .libs/db_meta.o .libs/db_method.o .libs/db_open.o .libs/db_overflow.o .libs/db_pr.o .libs/db_rec.o .libs/db_reclaim.o .libs/db_rename.o .libs/db_remove.o .libs/db_ret.o .libs/db_salloc.o .libs/db_shash.o .libs/db_truncate.o .libs/db_upg.o .libs/db_upg_opd.o .libs/dbm.o .libs/dbreg.o .libs/dbreg_auto.o .libs/dbreg_rec.o .libs/dbreg_util.o .libs/env_file.o .libs/env_method.o .libs/env_open.o .libs/env_recover.o .libs/env_region.o .libs/fileops_auto.o .libs/fop_basic.o .libs/fop_rec.o .libs/fop_util.o .libs/hash_func.o .libs/hmac.o .libs/hsearch.o .libs/lock.o .libs/lock_deadlock.o .libs/lock_method.o .libs/lock_region.o .libs/lock_stat.o .libs/lock_util.o .libs/log.o .libs/log_archive.o .libs/log_compare.o .libs/log_get.o .libs/log_method.o .libs/log_put.o .libs/mp_alloc.o .libs/mp_bh.o .libs/mp_fget.o .libs/mp_fopen.o .libs/mp_fput.o .libs/mp_fset.o .libs/mp_method.o .libs/mp_region.o .libs/mp_register.o .libs/mp_stat.o .libs/mp_sync.o .libs/mp_trickle.o .libs/mutex.o .libs/os_abs.o .libs/os_alloc.o .libs/os_clock.o .libs/os_config.o .libs/os_dir.o .libs/os_errno.o .libs/os_fid.o .libs/os_fsync.o .libs/os_handle.o .libs/os_id.o .libs/os_map.o .libs/os_method.o .libs/os_oflags.o .libs/os_open.o .libs/os_region.o .libs/os_rename.o .libs/os_root.o .libs/os_rpath.o .libs/os_rw.o .libs/os_seek.o .libs/os_sleep.o .libs/os_spin.o .libs/os_stat.o .libs/os_tmpdir.o .libs/os_unlink.o .libs/sha1.o .libs/txn.o .libs/txn_auto.o .libs/txn_method.o .libs/txn_rec.o .libs/txn_recover.o .libs/txn_region.o .libs/txn_stat.o .libs/txn_util.o .libs/xa.o .libs/xa_db.o .libs/xa_map.o -L/usr/sparc-unknown-linux-gnu/lib -L/usr/sparc-unknown-linux-gnu/bin -L/usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3 -L/usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../../sparc-unknown-linux-gnu/lib -L/usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../.. /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/libstdc++.so -lm -lc -lgcc_s /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/crtendS.o /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../crtn.o -o .libs/libdb_cxx-4.2.so /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../crti.o(.init+0x0): In function `_init': /var/tmp/portage/glibc-2.3.2-r9/work/glibc-2.3.2/buildhere/csu/crti.S:9: multiple definition of `_init' /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../crti.o(.init+0x0):/var/tmp/portage/glibc-2.3.2-r9/work/glibc-2.3.2/buildhere/csu/crti.S:9: first defined here /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../../sparc-unknown-linux-gnu/bin/ld: Disabling relaxation: it will not work with multiple definitions /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../crti.o(.fini+0x0): In function `_fini': : multiple definition of `_fini' /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../crti.o(.fini+0x0): first defined here /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/crtbeginS.o(.data.rel+0x0): multiple definition of `__dso_handle' /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/crtbeginS.o(.data.rel+0x0): first defined here collect2: ld returned 1 exit status make: *** [libdb_cxx-4.2.la] Error 1 !!! ERROR: sys-libs/db-4.2.52_p2 failed. !!! Function src_compile, Line 99, Exitcode 2 !!! (no error message) Expected Results: Package should have built and installed. Portage 2.0.50-r11 (default-sparc64-2004.0, gcc-3.3.3, glibc-2.3.2-r9, 2.4.26-sparc) ================================================================= System uname: 2.4.26-sparc sparc64 sun4u Gentoo Base System version 1.4.10 Autoconf: sys-devel/autoconf-2.58-r1 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="sparc ~sparc" AUTOCLEAN="yes" CFLAGS="-O3 -pipe -fomit-frame-pointer" CHOST="sparc64-unknown-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/al ias /var/qmail/control /var/vpopmail/domains /var/vpopmail/etc" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="ccache sandbox" GENTOO_MIRRORS="http://gentoo.ccccom.com" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="avi berkdb crypt encode gdbm gif gnome gtk imlib innodb jpeg libwww mpeg mysql ncurses nls oggvorbis oss pam perl png python readline slang sparc spell ssl tcpd xml2 zlib"
Sorry for the late reply. Are you still able to produce this? I tried replicating here tonight and was unable to.
Resolving as it works fine here. If it's still happening for you, your system is up to date, and the output of "revdep-rebuild -p" doesn't show anything to rebuild, feel free to re-open.
Still experiencing this problem. I just emerge sync'd did a revdep-rebuild and retried to emerge db. Same failure, details: Output of revdep-rebuild: -------------------------- Checking reverse dependencies... Packages containing binaries and libraries broken by any package update, will be recompiled. Collecting system binaries and libraries... terminated. Removing incomplete /root/.revdep-rebuild.1_files. stranded root # revdep-rebuild -p Checking reverse dependencies... Packages containing binaries and libraries broken by any package update, will be recompiled. Collecting system binaries and libraries... done. (/root/.revdep-rebuild.1_files) Collecting complete LD_LIBRARY_PATH... done. (/root/.revdep-rebuild.2_ldpath) Checking dynamic linking consistency... broken /usr/X11R6/lib/X11/xkb/xkbcomp (requires libXext.so.6 libX11.so.6) done. (/root/.revdep-rebuild.3_rebuild) Assigning files to ebuilds... done. (/root/.revdep-rebuild.4_ebuilds) Evaluating package order... done. (/root/.revdep-rebuild.5_order) Dynamic linking on your system is consistent... All done. Still failing emerge db: ------------------------- creating libdb-4.2.la (cd .libs && rm -f libdb-4.2.la && ln -s ../libdb-4.2.la libdb-4.2.la) rm -f libdb.a test ! -f .libs/libdb-4.2.a || \ ln -s .libs/libdb-4.2.a libdb.a test -f .libs/libdb-4.2.a || \ (test -f libdb-4.2.a && ln -s libdb-4.2.a libdb.a) /bin/sh ./libtool --mode=link gcc -o berkeley_db_svc \ db_server_proc.lo db_server_svc.lo db_server_util.lo gen_db_server.lo util_log.lo libdb-4.2.la gcc -o .libs/berkeley_db_svc .libs/db_server_proc.o .libs/db_server_svc.o .libs/db_server_util.o .libs/gen_db_server.o .libs/util_log.o ./.libs/libdb-4.2.so creating berkeley_db_svc /bin/sh ./libtool --mode=execute true berkeley_db_svc /bin/sh ./libtool --mode=link gcc -o db_archive \ db_archive.lo util_sig.lo libdb-4.2.la /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../crti.o(.init+0x0): In function `_init': /var/tmp/portage/glibc-2.3.2-r9/work/glibc-2.3.2/buildhere/csu/crti.S:9: multiple definition of `_init' /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../crti.o(.init+0x0):/var/tmp/portage/glibc-2.3.2-r9/work/glibc-2.3.2/buildhere/csu/crti.S:9: first defined here /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../../sparc-unknown-linux-gnu/bin/ld: Disabling relaxation: it will not work with multiple definitions /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../crti.o(.fini+0x0): In function `_fini': : multiple definition of `_fini' /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/../../../crti.o(.fini+0x0): first defined here /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/crtbeginS.o(.data.rel+0x0): multiple definition of `__dso_handle' /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.3.3/crtbeginS.o(.data.rel+0x0): first defined here collect2: ld returned 1 exit status make: *** [libdb_cxx-4.2.la] Error 1 make: *** Waiting for unfinished jobs.... gcc -o .libs/db_archive .libs/db_archive.o .libs/util_sig.o ./.libs/libdb-4.2.so creating db_archive /bin/sh ./libtool --mode=execute true db_archive make: *** Waiting for unfinished jobs....
Please try upgrading your gcc to 3.3.4-r1 and see if this problem persists. I'd also recommend updating any other packages that emerge -upvD system suggests need upgrading.
Created attachment 42888 [details] Patch failure log
Comment on attachment 42888 [details] Patch failure log yeah, I'm braindead, ignore this.
Are you still having this problem after upgrading to gcc-3.3.4-r1?
Can't upgrade to latest gcc ... complains in build about ignoring incompatible libc. Go to upgrade glibc, and I get: {standard input}: Assembler messages: {standard input}:52: Error: Architecture mismatch on "bcc,pt %xcc,1f". {standard input}:52: (Requires v9|v9a|v9b; requested architecture is sparclite.) make[2]: *** [/var/tmp/portage/glibc-2.3.3.20040420-r2/work/glibc-2.3.2/buildhere/csu/check_fds.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/var/tmp/portage/glibc-2.3.3.20040420-r2/work/glibc-2.3.2/csu' make[1]: *** [csu/subdir_lib] Error 2 make[1]: Leaving directory `/var/tmp/portage/glibc-2.3.3.20040420-r2/work/glibc-2.3.2' make: *** [all] Error 2
Ah your problem is your CHOST is set to sparc64-unknown-linux-gnu. This will cause (potentially) problems on Gentoo. Please change and/or rebuild your system with a CHOST of sparc-unknown-linux-gnu
CHOST needs to be sparc-unknown-linux-gnu. Not much else we can do about that. Documentation has been updated to more clearly reflect that the CHOST shouldn't be touched.