On boot, when /etc/init.d/modules is called, modules-update fails complaining that cp cannot load the libstc++.so.6 shared library. The library has been compiled correctly and after login cp works without problems. 'ldd /bin/cp' shows: libacl.so.1 => /lib/libacl.so.1 (0x00002aaaaabc3000) libattr.so.1 => /lib/libattr.so.1 (0x00002aaaaacca000) libc.so.6 => /lib/libc.so.6 (0x00002aaaaadce000) libstdc++.so.6 => //usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/libstdc++.so.6 (0x00002aaaab007000) libm.so.6 => /lib/libm.so.6 (0x00002aaaab1f7000) libgcc_s.so.1 => //usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/libgcc_s.so.1 (0x00002aaaab37e000) /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000) Since libstdc++.so.6 is under /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/, it's never accessible on boot until /usr is mounted. IMHO, the problem depends on /etc/init.d/modules being called before /etc/init.d/localmount, which is necessary for /usr/ to be mounted. But /etc/init.d/localmount depends on /etc/init.d/modules. Is that a paradox :-) ? I tried to modify /sbin/modules-update, and it turns out that /bin/mv is affected by this problem too. I'm not sure, but maybe the problem started when I builded coreutils (last version I tried is 5.2.1-r5) with the acl USE flag. Reproducible: Always Steps to Reproduce: 1. simply boot Portage 2.0.51.20-r5 (default-linux/amd64/2005.0, gcc-3.4.3-20050110, glibc-2.3.5-r0, 2.6.11-gentoo-r4-c1 x86_64) ================================================================= System uname: 2.6.11-gentoo-r4-c1 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.6.11 distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.3 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r8 sys-devel/libtool: 1.5.16 virtual/os-headers: 2.6.11 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=athlon64 -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O2 -march=athlon64 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox strict usersandbox" GENTOO_MIRRORS="http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://212.54.48.26/gentoo/" LANG="it_IT@euro" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="amd64 X aalib acl acpi alsa bash-completion berkdb bitmap-fonts crypt cscope dvd esd flac font-server fortran gd gdbm gif gpm gtk guile imagemagick imlib ipv6 java jp2 jpeg libwww lzw lzw-tiff mad maildir mbox mikmod mng motif mozilla mp3 nas ncurses nls nptl nptlonly ogg oggvorbis opengl oss pam perl plotutils png python readline ruby sdl slang speex ssl svg sysfs syslog tcpd tetex tiff truetype truetype-fonts type1-fonts usb userlocales vorbis wmf xml2 xmms xpm xrandr xv zlib userland_GNU kernel_linux libc_glibc" Unset: ASFLAGS, CTARGET, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
Please use "New -> Gentoo Linux -> Component: Ebuilds" in future. Infrastructure is not the correct addressee.
your /bin/cp should not be linked against the C++ library please post the output after running: for f in /bin/cp /lib/libacl.so.1 /lib/libattr.so.1 /lib/libc.so.6 /lib/libm.so.6 libgcc_s.so.1 ; do readelf -d ${f} | grep NEEDED done
Same here: ldd /bin/cp linux-gate.so.1 => (0xffffe000) libacl.so.1 => /lib/libacl.so.1 (0xb7fd4000) libattr.so.1 => /lib/libattr.so.1 (0xb7fcf000) libc.so.6 => /lib/libc.so.6 (0xb7eb9000) libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.so.5 (0xb7dfc000) libm.so.6 => /lib/libm.so.6 (0xb7dd9000) libgcc_s.so.1 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libgcc_s.so.1 (0xb7dd1000) /lib/ld-linux.so.2 (0xb7feb000) 0x00000001 (NEEDED) Shared library: [libacl.so.1] 0x00000001 (NEEDED) Shared library: [libattr.so.1] 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x00000001 (NEEDED) Shared library: [libattr.so.1] 0x00000001 (NEEDED) Shared library: [libstdc++.so.5] 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x00000001 (NEEDED) Shared library: [libgcc_s.so.1] 0x00000001 (NEEDED) Shared library: [libstdc++.so.5] 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x00000001 (NEEDED) Shared library: [libgcc_s.so.1] 0x00000001 (NEEDED) Shared library: [ld-linux.so.2] 0x00000001 (NEEDED) Shared library: [ld-linux.so.2] 0x00000001 (NEEDED) Shared library: [libc.so.6] readelf: Error: 'libgcc_s.so.1': No such file Huh? *confused*
err, that output is useless, try this for f in /bin/cp /lib/libacl.so.1 /lib/libattr.so.1 /lib/libc.so.6 /lib/libm.so.6 /lib/libgcc_s.so.1 ; do echo ${f} readelf -d ${f} | grep NEEDED done
OK. ;-) /bin/cp 0x00000001 (NEEDED) Shared library: [libacl.so.1] 0x00000001 (NEEDED) Shared library: [libattr.so.1] 0x00000001 (NEEDED) Shared library: [libc.so.6] /lib/libacl.so.1 0x00000001 (NEEDED) Shared library: [libattr.so.1] 0x00000001 (NEEDED) Shared library: [libstdc++.so.5] 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x00000001 (NEEDED) Shared library: [libgcc_s.so.1] /lib/libattr.so.1 0x00000001 (NEEDED) Shared library: [libstdc++.so.5] 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x00000001 (NEEDED) Shared library: [libgcc_s.so.1] /lib/libc.so.6 0x00000001 (NEEDED) Shared library: [ld-linux.so.2] /lib/libm.so.6 0x00000001 (NEEDED) Shared library: [ld-linux.so.2] 0x00000001 (NEEDED) Shared library: [libc.so.6] /lib/libgcc_s.so.1 readelf: Error: '/lib/libgcc_s.so.1': No such file Of course there is no such file, it
OK. ;-) /bin/cp 0x00000001 (NEEDED) Shared library: [libacl.so.1] 0x00000001 (NEEDED) Shared library: [libattr.so.1] 0x00000001 (NEEDED) Shared library: [libc.so.6] /lib/libacl.so.1 0x00000001 (NEEDED) Shared library: [libattr.so.1] 0x00000001 (NEEDED) Shared library: [libstdc++.so.5] 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x00000001 (NEEDED) Shared library: [libgcc_s.so.1] /lib/libattr.so.1 0x00000001 (NEEDED) Shared library: [libstdc++.so.5] 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x00000001 (NEEDED) Shared library: [libgcc_s.so.1] /lib/libc.so.6 0x00000001 (NEEDED) Shared library: [ld-linux.so.2] /lib/libm.so.6 0x00000001 (NEEDED) Shared library: [ld-linux.so.2] 0x00000001 (NEEDED) Shared library: [libc.so.6] /lib/libgcc_s.so.1 readelf: Error: '/lib/libgcc_s.so.1': No such file Of course there is no such file, it´s in /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/
what versions of sys-apps/{acl,attr} do you have emerged ? i have acl-2.2.7 and attr-2.4.19 and neither link with C++ on my boxes ...
sys-apps/acl-2.2.27 and sys-apps/attr-2.4.19 *more confused*
Actually, there is only one version for both in portage, so not much choice. :-)
no, but not everyone stays up-to-date :P please run `emerge acl >& log` and attach the log file
Created attachment 57791 [details] emerge acl log
looks like the final link stage is using g++ for some stupid reason ... what version of libtool do you have emerged ? why not post `emerge info` now :p /usr/bin/libtool --mode=link i686-pc-linux-gnu-gcc -Wl,--version-script,../exports -rpath /lib -version-info 2:0:1 -o libacl.la acl_add_perm.lo acl_calc_mask.lo acl_clear_perms.lo acl_copy_entry.lo acl_copy_ext.lo acl_copy_int.lo acl_create_entry.lo acl_delete_def_file.lo acl_delete_entry.lo acl_delete_perm.lo acl_dup.lo acl_free.lo acl_from_text.lo acl_get_entry.lo acl_get_fd.lo acl_get_file.lo acl_get_perm.lo acl_get_permset.lo acl_get_qualifier.lo acl_get_tag_type.lo acl_init.lo acl_set_fd.lo acl_set_file.lo acl_set_permset.lo acl_set_qualifier.lo acl_set_tag_type.lo acl_to_text.lo acl_valid.lo acl_size.lo acl_to_any_text.lo acl_entries.lo acl_check.lo acl_error.lo acl_cmp.lo acl_extended_fd.lo acl_extended_file.lo acl_equiv_mode.lo acl_from_mode.lo __acl_to_any_text.lo __acl_to_xattr.lo __acl_from_xattr.lo __acl_reorder_obj_p.lo __libobj.lo __apply_mask_to_mode.lo perm_copy_fd.lo perm_copy_file.lo -lattr ../libmisc/libmisc.la g++ -shared -nostdlib /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/../../../crti.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/crtbeginS.o .libs/acl_add_perm.o .libs/acl_calc_mask.o .libs/acl_clear_perms.o .libs/acl_copy_entry.o .libs/acl_copy_ext.o .libs/acl_copy_int.o .libs/acl_create_entry.o .libs/acl_delete_def_file.o .libs/acl_delete_entry.o .libs/acl_delete_perm.o .libs/acl_dup.o .libs/acl_free.o .libs/acl_from_text.o .libs/acl_get_entry.o .libs/acl_get_fd.o .libs/acl_get_file.o .libs/acl_get_perm.o .libs/acl_get_permset.o .libs/acl_get_qualifier.o .libs/acl_get_tag_type.o .libs/acl_init.o .libs/acl_set_fd.o .libs/acl_set_file.o .libs/acl_set_permset.o .libs/acl_set_qualifier.o .libs/acl_set_tag_type.o .libs/acl_to_text.o .libs/acl_valid.o .libs/acl_size.o .libs/acl_to_any_text.o .libs/acl_entries.o .libs/acl_check.o .libs/acl_error.o .libs/acl_cmp.o .libs/acl_extended_fd.o .libs/acl_extended_file.o .libs/acl_equiv_mode.o .libs/acl_from_mode.o .libs/__acl_to_any_text.o .libs/__acl_to_xattr.o .libs/__acl_from_xattr.o .libs/__acl_reorder_obj_p.o .libs/__libobj.o .libs/__apply_mask_to_mode.o .libs/perm_copy_fd.o .libs/perm_copy_file.o -Wl,--whole-archive ../libmisc/.libs/libmisc.a -Wl,--no-whole-archive -Wl,--rpath -Wl,/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130 -Wl,--rpath -Wl,/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130 /lib/libattr.so -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130 -L/usr/i686-pc-linux-gnu/bin -L/usr/i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/../../../../i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/../../.. /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.so -lm -lc -lgcc_s /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/crtendS.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/../../../crtn.o -Wl,--version-script -Wl,../exports -Wl,-soname -Wl,libacl.so.1 -o .libs/libacl.so.1.1.0
Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r6 i686) ================================================================= System uname: 2.6.11-gentoo-r6 i686 AMD Athlon(tm) XP 2200+ Gentoo Base System version 1.6.11 Python: dev-lang/python-2.3.5 [2.3.5 (#1, Apr 29 2005, 09:54:18)] ccache version 2.4 [enabled] dev-lang/python: 2.3.5 sys-apps/sandbox: [Not Present] sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.5, 1.8.5-r3, 1.6.3, 1.7.9-r1, 1.4_p6, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r7 sys-devel/libtool: 1.4.3-r4, 1.5.16 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-mcpu=athlon-xp -O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-mcpu=athlon-xp -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig buildpkg ccache distlocks sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LANG="cs_CZ" LINGUAS="cs en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow X acl acpi alsa apm arts avi bash-completion berkdb bitmap-fonts cdr crypt cups curl dvd dvdr emboss encode fbcon foomaticdb fortran gdbm gif gpm icq imap imlib java jpeg kde kdeenablefinal kdexdeltas libg++ libwww mad maildir mikmod mmx motif mozilla mp3 mpeg ncurses nls nptl nptlonly nvidia offensive ogg opengl pam pdflib perl png python qt quicktime readline sdl slang socks5 spell sse ssl svga tcpd tiff truetype truetype-fonts type1-fonts unicode usb vorbis win32codecs xml xml2 xmms xv zlib linguas_cs linguas_en userland_GNU kernel_linux libc_glibc" Unset: ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS
ugh, whats with version 1.4.5 on your system try doing `emerge -C libtool && emerge libtool` and see if acl emerges w/out being linked to libstdc++
Look much more sane now... /bin/cp 0x00000001 (NEEDED) Shared library: [libacl.so.1] 0x00000001 (NEEDED) Shared library: [libattr.so.1] 0x00000001 (NEEDED) Shared library: [libc.so.6] /lib/libacl.so.1 0x00000001 (NEEDED) Shared library: [libattr.so.1] 0x00000001 (NEEDED) Shared library: [libc.so.6] /lib/libattr.so.1 0x00000001 (NEEDED) Shared library: [libc.so.6] /lib/libc.so.6 0x00000001 (NEEDED) Shared library: [ld-linux.so.2] /lib/libm.so.6 0x00000001 (NEEDED) Shared library: [ld-linux.so.2] 0x00000001 (NEEDED) Shared library: [libc.so.6] /lib/libgcc_s.so.1 readelf: Error: '/lib/libgcc_s.so.1': No such file This was a pretty unmaintained box which was upgraded almost from scratch on this weekend, so 1/ Why the old libtool was not upgraded but rather sloted? 2/ Still - what
Look much more sane now... /bin/cp 0x00000001 (NEEDED) Shared library: [libacl.so.1] 0x00000001 (NEEDED) Shared library: [libattr.so.1] 0x00000001 (NEEDED) Shared library: [libc.so.6] /lib/libacl.so.1 0x00000001 (NEEDED) Shared library: [libattr.so.1] 0x00000001 (NEEDED) Shared library: [libc.so.6] /lib/libattr.so.1 0x00000001 (NEEDED) Shared library: [libc.so.6] /lib/libc.so.6 0x00000001 (NEEDED) Shared library: [ld-linux.so.2] /lib/libm.so.6 0x00000001 (NEEDED) Shared library: [ld-linux.so.2] 0x00000001 (NEEDED) Shared library: [libc.so.6] /lib/libgcc_s.so.1 readelf: Error: '/lib/libgcc_s.so.1': No such file This was a pretty unmaintained box which was upgraded almost from scratch on this weekend, so 1/ Why the old libtool was not upgraded but rather sloted? 2/ Still - what´s wrong with that /lib/libgcc_s.so.1 ? Anyway, please don´t close this bug b/c I pretty much hijacked it and I don´t see the libtool problem in the original bugreport. ;-)
ignore the libgcc_s.so.1 thing, that's fine original reporter: please try doing an `emerge sync` and re-emerging acl and see if that fixes this for you
One more thing - I also needed to re-emerge attr, otherwise it was only half-fixed. ;-)
Thank you all, and sorry if I have not been as fast as you :-) I recompiled acl, attr and coreutils and now the error has disappered on boot. cp is no more compiled against libstdc++. This problem is fixed. But /sbin/modules-update still complains at line 58: tail is not found. Of course, it is under /usr/bin which is not mounted before localmount is called. Should I open another bug report? Thanks
there is already another bug or two dealing with modules' dependency on /usr being mounted i'll chalk this bug up to old packages causing heart burn ;)