Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm trying to execute a binary and it says ./xtensoftphone: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory. This library is indeed installed under /usr/lib. Is there something I need to do to get the binary to see the library? I thought all /usr/lib libraries were visible.


blaine :: ~/Downloads/xten-xlite » ldd xtensoftphone                                                                                                                    
linux-gate.so.1 =>  (0xf7783000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7749000)
libgthread-2.0.so.0 => /usr/lib32/libgthread-2.0.so.0 (0xf7743000)
libglade-2.0.so.0 => /usr/lib32/libglade-2.0.so.0 (0xf772a000)
libgtk-x11-2.0.so.0 => /usr/lib32/libgtk-x11-2.0.so.0 (0xf7355000)
libxml2.so.2 => /usr/lib32/libxml2.so.2 (0xf722b000)
libz.so.1 => /usr/lib32/libz.so.1 (0xf7216000)
libgdk-x11-2.0.so.0 => /usr/lib32/libgdk-x11-2.0.so.0 (0xf7180000)
libatk-1.0.so.0 => /usr/lib32/libatk-1.0.so.0 (0xf7163000)
libgdk_pixbuf-2.0.so.0 => /usr/lib32/libgdk_pixbuf-2.0.so.0 (0xf7149000)
libpangoxft-1.0.so.0 => /usr/lib32/libpangoxft-1.0.so.0 (0xf7141000)
libpangox-1.0.so.0 => /usr/lib32/libpangox-1.0.so.0 (0xf7134000)
libpango-1.0.so.0 => /usr/lib32/libpango-1.0.so.0 (0xf70f1000)
libgobject-2.0.so.0 => /usr/lib32/libgobject-2.0.so.0 (0xf70b1000)
libgmodule-2.0.so.0 => /usr/lib32/libgmodule-2.0.so.0 (0xf70ac000)
libdl.so.2 => /lib32/libdl.so.2 (0xf70a8000)
libglib-2.0.so.0 => /lib32/libglib-2.0.so.0 (0xf6fde000)
libm.so.6 => /lib32/libm.so.6 (0xf6fb8000)
libstdc++.so.5 => not found
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf6f98000)
libc.so.6 => /lib32/libc.so.6 (0xf6e3e000)
libX11.so.6 => /usr/lib32/libX11.so.6 (0xf6d21000)
/lib/ld-linux.so.2 (0xf7784000)
librt.so.1 => /lib32/librt.so.1 (0xf6d18000)
libpcre.so.3 => /lib32/libpcre.so.3 (0xf6ce7000)
libpangoft2-1.0.so.0 => /usr/lib32/libpangoft2-1.0.so.0 (0xf6cbf000)
libpangocairo-1.0.so.0 => /usr/lib32/libpangocairo-1.0.so.0 (0xf6cb3000)
libgio-2.0.so.0 => /usr/lib32/libgio-2.0.so.0 (0xf6c15000)
libcairo.so.2 => /usr/lib32/libcairo.so.2 (0xf6b9b000)
libfreetype.so.6 => /usr/lib32/libfreetype.so.6 (0xf6b25000)
libfontconfig.so.1 => /usr/lib32/libfontconfig.so.1 (0xf6af4000)
libXext.so.6 => /usr/lib32/libXext.so.6 (0xf6ae4000)
libXrender.so.1 => /usr/lib32/libXrender.so.1 (0xf6ada000)
libXinerama.so.1 => /usr/lib32/libXinerama.so.1 (0xf6ad6000)
libXi.so.6 => /usr/lib32/libXi.so.6 (0xf6ac8000)
libXrandr.so.2 => /usr/lib32/libXrandr.so.2 (0xf6abf000)
libXcursor.so.1 => /usr/lib32/libXcursor.so.1 (0xf6ab5000)
libXcomposite.so.1 => /usr/lib32/libXcomposite.so.1 (0xf6ab1000)
libXdamage.so.1 => /usr/lib32/libXdamage.so.1 (0xf6aad000)
libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf6aa7000)
libXft.so.2 => /usr/lib32/libXft.so.2 (0xf6a92000)
libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf6a78000)
libresolv.so.2 => /lib32/libresolv.so.2 (0xf6a64000)
libselinux.so.1 => /lib32/libselinux.so.1 (0xf6a49000)
libpixman-1.so.0 => /usr/lib32/libpixman-1.so.0 (0xf69ee000)
libdirectfb-1.2.so.0 => /usr/lib32/libdirectfb-1.2.so.0 (0xf6977000)
libfusion-1.2.so.0 => /usr/lib32/libfusion-1.2.so.0 (0xf696d000)
libdirect-1.2.so.0 => /usr/lib32/libdirect-1.2.so.0 (0xf6957000)
libpng12.so.0 => /lib32/libpng12.so.0 (0xf6932000)
libxcb-render-util.so.0 => /usr/lib32/libxcb-render-util.so.0 (0xf692c000)
libxcb-render.so.0 => /usr/lib32/libxcb-render.so.0 (0xf6924000)
libexpat.so.1 => /lib32/libexpat.so.1 (0xf68fd000)
libXau.so.6 => /usr/lib32/libXau.so.6 (0xf68f9000)
libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf68f3000)

blaine :: ~/Downloads/xten-xlite » cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
share|improve this question
    
apparently xtensoftphone is a 32-bit executable; do you have a 32-bit libstdc++.so.5, or only a 64-bit one? What does file -L /usr/lib*/libstdc++.so.5 show? –  Gilles Aug 5 '10 at 20:42
add comment

3 Answers

Do you really have /usr/lib/libstdc++.so.5, in addition to /usr/lib/libstdc++.so.6? The two are not compatible (in the sense that a program that requires one won't work with the other, of course you can install both).

Ubuntu 10.04 no longer has libstdc++5, but if you need it, you can grab the package from an older release and install it manually with dpkg.

share|improve this answer
    
I do have 5 and 6 installed. The program is not requiring both, only 5, as shown by the ldd output above. –  brlafreniere Aug 5 '10 at 19:12
    
I installed 5 from a .deb –  brlafreniere Aug 6 '10 at 2:26
    
@Blaine: do you have a 32-bit or 64-bit system? If you installed a 64-bit library from a .deb, it won't work with your 32-bit executable. –  Gilles Aug 6 '10 at 6:53
add comment

You need to run ldconfig after each change to the libraries. If in doubt, just run it, it won't hurt if run too often.

If that does not fix it, please post the output of ldd xtensoftphone , and the contents of /etc/ld.so.conf (plus any files under /etc/ld.so.conf.d), then we'll see.

share|improve this answer
    
See details added above –  brlafreniere Aug 5 '10 at 20:24
    
For a library in /usr/lib, the package manager should have run ldconfig. For anyone with a similar problem: if you install a library manually, put it in /usr/local/lib, and run ldconfig afterwards. –  Gilles Aug 5 '10 at 20:43
add comment

Try adding the location of the library to the LD_LIBRARY_PATH

share|improve this answer
    
-1 This is more likely to further complicate matters. Libraries under /usr/lib should be picked up without LD_LIBRARY_PATH. –  sleske Aug 4 '10 at 17:32
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.