Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 298990 - net-im/skype-2.0.0.72: fails to start with because libstdc++.so.6 is not found
Summary: net-im/skype-2.0.0.72: fails to start with because libstdc++.so.6 is not found
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-30 15:30 UTC by Felix Leimbach
Modified: 2009-12-31 11:33 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Output of genlop -l (emerge-packages.txt.bz2,7.46 KB, application/octet-stream)
2009-12-31 11:18 UTC, Felix Leimbach
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Felix Leimbach 2009-12-30 15:30:37 UTC
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
Comment 1 Andrey Vihrov 2009-12-30 22:25:21 UTC
Does this still stay after "# env-update" and maybe "# ldconfig" ?
Comment 2 Felix Leimbach 2009-12-30 22:47:40 UTC
(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
Comment 3 Peter Volkov (RETIRED) gentoo-dev 2009-12-31 07:18:08 UTC
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.
Comment 4 Felix Leimbach 2009-12-31 08:04:55 UTC
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.
Comment 5 Andrey Vihrov 2009-12-31 08:22:39 UTC
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?
Comment 6 Peter Volkov (RETIRED) gentoo-dev 2009-12-31 08:46:53 UTC
@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"


Comment 7 Felix Leimbach 2009-12-31 11:17:26 UTC
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)
Comment 8 Felix Leimbach 2009-12-31 11:18:00 UTC
Created attachment 214711 [details]
Output of genlop -l
Comment 9 Felix Leimbach 2009-12-31 11:33:54 UTC
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