Running on amd64 skype fails to launch with this error: ~ $ skype /opt/skype/skype: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory However libstdc++.so.6 exists in: /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/libstdc++.so.6 and the path /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4 is set in /etc/ld.so.config However, I guessed that skype would need the 32 bit version of libstdc++.so.6 and voila, launching skype like this works well: LD_LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/32 skype emerge --info: Portage 2.1.6.13 (default/linux/amd64/10.0, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.32-gentoo x86_64) ================================================================= System uname: Linux-2.6.32-gentoo-x86_64-Intel-R-_Core-TM-2_Duo_CPU_P7550_@_2.26GHz-with-gentoo-1.12.13 Timestamp of tree: Wed, 30 Dec 2009 06:00:23 +0000 app-shells/bash: 4.0_p35 dev-java/java-config: 2.1.9-r2 dev-lang/python: 2.6.4 dev-util/cmake: 2.6.4-r3 sys-apps/baselayout: 1.12.13 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.8.5-r3, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=native -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=native -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://mirror.netcologne.de/gentoo/ http://gentoo.mneisen.org/ http://de-mirror.org/distro/gentoo/ " LDFLAGS="-Wl,-O1" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/layman/kde /usr/local/portage/layman/kde-sunset /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi ads aim aio alsa amazon amd64 bash-completion battery berkdb bittorrent bluetooth bonjour bzip2 cairo cli consolekit cracklib crypt css cups curl cxx dar32 dbus dhcpcd dri dvd encode facebook ffmpeg flac fortran gdbm gimp git gpm hal hfs iconv iphone ipod isight java jpeg jpeg2k kde kdehiddenvisibility kvm laptop ldap lzo mmx mng modules mono mp3 mp4 mpeg mpeg2 mplayer mudflap multilib ncurses networkmanager nls no-old-linux nptl nptlonly nsplugin ogg opengl openmp pam pcre perl png pppd python qt3support qt4 rdesktiop readline reflection rtsp samba sdl session spl sql sqlite sse sse2 sse3 ssl startup-notification subversion svg sysfs tcpd theora threads tiff truetype udev unicode usb webkit wifi x264 xorg xv zlib" 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" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nv vesa" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Does this still stay after "# env-update" and maybe "# ldconfig" ?
(In reply to comment #1) Yes it stays. (as root) ~ # env-update >>> Regenerating /etc/ld.so.cache... ~ # ldconfig (as user, in a newly opened konsole window) ~ $ skype /opt/skype/skype: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
Run gcc-config -l and set (another time) correct compiler. After that check that /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4 path is set in 05gcc-* file. If path is not set something broken with gcc installation as it should define correct LDPATH so after env-update linker should see required libraries.
The LDPATH seems to be okay and /etc/env.d/05gcc-x86_64-pc-linux-gnu was already correcly contained in /etc/ld.so.conf The culprit is that I need the *32 BIT* version of libstdc, i.e. I added "/32" to the LDPATH, see the last part of this statement: LD_LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/32 skype To be sure I did the steps you advised: # 05gcc before running gcc-config: ~ # cat /etc/env.d/05gcc-x86_64-pc-linux-gnu MANPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.3.4/man" INFOPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.3.4/info" LDPATH="/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4" PATH="/usr/x86_64-pc-linux-gnu/gcc-bin/4.3.4" ROOTPATH="/usr/x86_64-pc-linux-gnu/gcc-bin/4.3.4" ~ # gcc-config -l [1] x86_64-pc-linux-gnu-4.3.4 * ~ # gcc-config 1 * Switching native-compiler to x86_64-pc-linux-gnu-4.3.4 ... [ ok ] ~ # cat /etc/env.d/05gcc-x86_64-pc-linux-gnu MANPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.3.4/man" INFOPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.3.4/info" LDPATH="/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4" PATH="/usr/x86_64-pc-linux-gnu/gcc-bin/4.3.4" ROOTPATH="/usr/x86_64-pc-linux-gnu/gcc-bin/4.3.4" GCC_SPECS="" ~ # ldconfig ~ # env-update >>> Regenerating /etc/ld.so.cache... ~ # . /etc/profile ~ $ skype /opt/skype/skype: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory So it seems that skype needs the 32 bit version of libstdc++ and the LDPATH only contains the 64 bit version.
As Peter noted, your gcc is probably broken. Does the file /etc/env.d/gcc/x86_64-pc-linux-gnu-4.3.4 contain the path to 32-bit libstdc++.so.6? If not, does re-emerging sys-devel/gcc fix this?
@toolchain, do you have any ideas why .../32 path could be missed in LDPATH? Felix, .../32 should be in LDPATH too. $ cat 05gcc-x86_64-pc-linux-gnu ... LDPATH="/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.2:/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.2/32:/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4:/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/32:/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2:/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/32"
OK, this is interesting: After re-emerging the same gcc version with the very same use flags, LDPATH now correctly contains the 32 bit directory: ~ # cat /etc/env.d/gcc/x86_64-pc-linux-gnu-4.3.4 LDPATH="/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4:/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/32" MANPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.3.4/man" INFOPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.3.4/info" STDCXX_INCDIR="g++-v4" GCC_PATH="/usr/x86_64-pc-linux-gnu/gcc-bin/4.3.4" And skype is also happy now. Regarding the issue that /32 was missing, I can only give you a background of my system: It's fresh gentoo installation from this stage3 tarball: http://mirrors.kernel.org/gentoo/releases/amd64/autobuilds/current-stage3/stage3-amd64-20091217.tar.bz2 I see in the "genlop -l" output, that gcc was never emerge'd. So it might be an error in the stage3 tarball (I'm checking this now and will report back)
Created attachment 214711 [details] Output of genlop -l
Ok, the stage3 tarball contains the correct LDPATH. I assume that my /etc/env.d must have been accidentally overwritten when I copied over some settings from another laptop and I close this bug as INVALID. Cheers, Felix