LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (http://www.linuxquestions.org/questions/linux-software-2/)
-   -   error while loading shared libraries: libgtkglextmm-x11-1.2.so.0 (http://www.linuxquestions.org/questions/linux-software-2/error-while-loading-shared-libraries-libgtkglextmm-x11-1-2-so-0-a-723020/)

chire 05-01-2009 03:53 PM

error while loading shared libraries: libgtkglextmm-x11-1.2.so.0
 
im trying to run some software from console, that uses gtk libraries.

but im getting this error

error while loading shared libraries: libgtkglextmm-x11-1.2.so.0: cannot open shared object file: No such file or directory

and yes i do have that library on /usr/local/lib/

root@neoideo-desktop:/usr/local/lib# ls
gtkglext-1.0
libgdkglext-x11-1.0.so
libgtkglext-x11-1.0.a
libgtkglext-x11-1.0.so.0
python2.6
libgdkglext-x11-1.0.a
libgdkglext-x11-1.0.so.0
libgtkglext-x11-1.0.la
libgtkglext-x11-1.0.so.0.0.0
libgdkglext-x11-1.0.la
libgdkglext-x11-1.0.so.0.0.0
libgtkglext-x11-1.0.so
pkgconfig
root@neoideo-desktop:/usr/local/lib#

can someone help me maybe there is a link i have to make ,

thanks in advance

Cristobal

bathory 05-01-2009 05:28 PM

You can set/edit the LD_LIBRARY_PATH like this:
Code:

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
so your app will look first in /usr/local/lib to find the needed libraries.
Or you can add /usr/local/lib in /etc/ld.so.conf and run
Code:

ldconfig
The 1st solution is temporary unless you put that command in your .bashrc or .profile, while the 2nd is permanent.

colucix 05-01-2009 05:38 PM

Actually I don't see that library in the list you've posted. Maybe you have to install the gtkglextmm package (opensuse) or libgtkglextmm-x11-dev (ubuntu). The method suggested by bathory is correct to include a non-standard place in the search path, but if you install the library from the binary package of your distribution, it is not necessary.

chire 05-02-2009 01:15 PM

ok thanks , first of all as one of you said, the library is not there, it is on this path /usr/lib sorry for that:

root@neoideo-desktop:/usr/lib# ls | grep libgtkglextmm
libgtkglextmm-x11-1.2.a
libgtkglextmm-x11-1.2.la
libgtkglextmm-x11-1.2.so
libgtkglextmm-x11-1.2.so.0
libgtkglextmm-x11-1.2.so.0.0.0

i tried doing as you said, with this actual path not the other one.
tried
Code:

export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH
but didnt work, the same error message appears.

tried adding a new line to /etc/ld.so.conf so now it is
Code:

neoideo@neoideo-desktop:~$ cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
include /usr/lib/

then
Code:

sudo ldconfig
but when i run the app im still getting the same error :(

do i have to get rid of the 1.0 version of libgtkglextmm maybe version 1.2 cannot work because of 1.0 i dont know.

what other option do i have?
many thanks in advance

colucix 05-02-2009 02:36 PM

That's really strange. What is the output of the following command?
Code:

sudo ldconfig -p | grep libgtkglex
And which command are you trying to execute? Can you run ldd on the executable and show us the output? Thanks.

chire 05-03-2009 12:15 PM

Quote:

Originally Posted by colucix (Post 3527936)
That's really strange. What is the output of the following command?
Code:

sudo ldconfig -p | grep libgtkglex
And which command are you trying to execute? Can you run ldd on the executable and show us the output? Thanks.


this is the output of
Code:

sudo ldconfig -p | grep libgtkglext
Code:

neoideo@neoideo-desktop:~/Desktop$ sudo ldconfig -p | grep libgtkglext
        libgtkglextmm-x11-1.2.so.0 (libc6,x86-64) => /usr/lib/libgtkglextmm-x11-1.2.so.0
        libgtkglextmm-x11-1.2.so (libc6,x86-64) => /usr/lib/libgtkglextmm-x11-1.2.so
        libgtkglext-x11-1.0.so.0 (libc6,x86-64) => /usr/local/lib/libgtkglext-x11-1.0.so.0
        libgtkglext-x11-1.0.so.0 (libc6,x86-64) => /usr/lib/libgtkglext-x11-1.0.so.0
        libgtkglext-x11-1.0.so (libc6,x86-64) => /usr/local/lib/libgtkglext-x11-1.0.so
        libgtkglext-x11-1.0.so (libc6,x86-64) => /usr/lib/libgtkglext-x11-1.0.so

just to make sure, does this library work with 64 bit ubuntu?


the application is a proyect made in kdevelop, i just run the binary on Release folder.
Code:

neoideo@neoideo-desktop:~/Desktop/TreeGrowthSimulator/bin/Release$ ./treegrowthsimulator
./treegrowthsimulator: error while loading shared libraries: libgtkglextmm-x11-1.2.so.0: cannot open shared object file: No such file or directory

this is the out put of
Code:

ldd treegrowthsimulator
.

Code:

linux-gate.so.1 =>  (0xf7ee3000)
        libgtkglextmm-x11-1.2.so.0 => not found
        libgdkglextmm-x11-1.2.so.0 => not found
        libgtkglext-x11-1.0.so.0 => not found
        libgtkmm-2.4.so.1 => not found
        libgdkglext-x11-1.0.so.0 => not found
        libGLU.so.1 => /usr/lib32/libGLU.so.1 (0xf7e51000)
        libGL.so.1 => /usr/lib32/libGL.so.1 (0xf7d97000)
        libXmu.so.6 => /usr/lib32/libXmu.so.6 (0xf7d80000)
        libXt.so.6 => /usr/lib32/libXt.so.6 (0xf7d2d000)
        libSM.so.6 => /usr/lib32/libSM.so.6 (0xf7d24000)
        libICE.so.6 => /usr/lib32/libICE.so.6 (0xf7d0c000)
        libpangox-1.0.so.0 => /usr/lib32/libpangox-1.0.so.0 (0xf7cff000)
        libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7c10000)
        libgdkmm-2.4.so.1 => not found
        libatkmm-1.6.so.1 => not found
        libgtk-x11-2.0.so.0 => /usr/lib32/libgtk-x11-2.0.so.0 (0xf785e000)
        libpangomm-1.4.so.1 => not found
        libcairomm-1.0.so.1 => not found
        libglibmm-2.4.so.1 => not found
        libsigc-2.0.so.0 => /usr/lib32/libsigc-2.0.so.0 (0xf7856000)
        libgdk-x11-2.0.so.0 => /usr/lib32/libgdk-x11-2.0.so.0 (0xf77c9000)
        libatk-1.0.so.0 => /usr/lib32/libatk-1.0.so.0 (0xf77ae000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib32/libgdk_pixbuf-2.0.so.0 (0xf7794000)
        libpangocairo-1.0.so.0 => /usr/lib32/libpangocairo-1.0.so.0 (0xf7787000)
        libpango-1.0.so.0 => /usr/lib32/libpango-1.0.so.0 (0xf7744000)
        libcairo.so.2 => /usr/lib32/libcairo.so.2 (0xf76ca000)
        libgobject-2.0.so.0 => /usr/lib32/libgobject-2.0.so.0 (0xf768c000)
        libgmodule-2.0.so.0 => /usr/lib32/libgmodule-2.0.so.0 (0xf7687000)
        libdl.so.2 => /lib32/libdl.so.2 (0xf7682000)
        libglib-2.0.so.0 => /usr/lib32/libglib-2.0.so.0 (0xf75ca000)
        libm.so.6 => /lib32/libm.so.6 (0xf75a4000)
        libgsl.so.0 => /usr/lib32/libgsl.so.0 (0xf73c3000)
        libgslcblas.so.0 => /usr/lib32/libgslcblas.so.0 (0xf738a000)
        libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf729b000)
        libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf728b000)
        libc.so.6 => /lib32/libc.so.6 (0xf7128000)
        libpthread.so.0 => /lib32/libpthread.so.0 (0xf710f000)
        libGLcore.so.1 => /usr/lib32/libGLcore.so.1 (0xf61f7000)
        libnvidia-tls.so.1 => /usr/lib32/tls/libnvidia-tls.so.1 (0xf61f5000)
        libXext.so.6 => /usr/lib32/libXext.so.6 (0xf61e4000)
        libuuid.so.1 => /lib32/libuuid.so.1 (0xf61df000)
        libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf61c5000)
        libXrender.so.1 => /usr/lib32/libXrender.so.1 (0xf61bb000)
        libXinerama.so.1 => /usr/lib32/libXinerama.so.1 (0xf61b8000)
        libXi.so.6 => /usr/lib32/libXi.so.6 (0xf61ad000)
        libXrandr.so.2 => /usr/lib32/libXrandr.so.2 (0xf61a5000)
        libXcursor.so.1 => /usr/lib32/libXcursor.so.1 (0xf619c000)
        libXcomposite.so.1 => /usr/lib32/libXcomposite.so.1 (0xf6198000)
        libXdamage.so.1 => /usr/lib32/libXdamage.so.1 (0xf6195000)
        libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf618f000)
        libgio-2.0.so.0 => /usr/lib32/libgio-2.0.so.0 (0xf6121000)
        libpangoft2-1.0.so.0 => /usr/lib32/libpangoft2-1.0.so.0 (0xf60f8000)
        libfreetype.so.6 => /usr/lib32/libfreetype.so.6 (0xf6081000)
        libz.so.1 => /usr/lib32/libz.so.1 (0xf606b000)
        libfontconfig.so.1 => /usr/lib32/libfontconfig.so.1 (0xf603e000)
        libpixman-1.so.0 => /usr/lib32/libpixman-1.so.0 (0xf5ffa000)
        libdirectfb-1.0.so.0 => /usr/lib32/libdirectfb-1.0.so.0 (0xf5f94000)
        libfusion-1.0.so.0 => /usr/lib32/libfusion-1.0.so.0 (0xf5f8b000)
        libdirect-1.0.so.0 => /usr/lib32/libdirect-1.0.so.0 (0xf5f76000)
        libpng12.so.0 => /usr/lib32/libpng12.so.0 (0xf5f50000)
        libxcb-render-util.so.0 => /usr/lib32/libxcb-render-util.so.0 (0xf5f4a000)
        libxcb-render.so.0 => /usr/lib32/libxcb-render.so.0 (0xf5f42000)
        libpcre.so.3 => /lib32/libpcre.so.3 (0xf5f10000)
        /lib/ld-linux.so.2 (0xf7ee4000)
        libXau.so.6 => /usr/lib32/libXau.so.6 (0xf5f0c000)
        libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf5f07000)
        libselinux.so.1 => /lib32/libselinux.so.1 (0xf5eec000)
        libexpat.so.1 => /usr/lib32/libexpat.so.1 (0xf5ec5000)

UPDATE:
i tried moving the libraries into /usr/lib32 folder,
and then thid this
Code:

neoideo@neoideo-desktop:~/Desktop/TreeGrowthSimulator/bin/Release$ sudo ldconfig
[sudo] password for neoideo:
/sbin/ldconfig.real: /usr/lib32/libgtkglextmm-x11-1.2.so.0 is not a symbolic link

and then i get this error
Code:

neoideo@neoideo-desktop:~/Desktop/TreeGrowthSimulator/bin/Release$ ./treegrowthsimulator
./treegrowthsimulator: error while loading shared libraries: libgtkglextmm-x11-1.2.so.0: wrong ELF class: ELFCLASS64

i guess im gonna undo those changes lol

colucix 05-03-2009 04:13 PM

Code:

libgtkglextmm-x11-1.2.so.0 (libc6,x86-64) => /usr/lib/libgtkglextmm-x11-1.2.so.0
this is a 64-bit library, but it looks like the application you're trying to run is 32-bit. If this is the case, it needs the 32-bit version of the library, so that you have to install it. Don't worry about installing two different architectures of the same library: the system should take care of it by placing them in different directories (lib and lib32) and updating the library cache in the proper way (you should see something like
Code:

libgtkglextmm-x11-1.2.so.0 (libc6,x86-64) => /usr/lib/libgtkglextmm-x11-1.2.so.0
libgtkglextmm-x11-1.2.so.0 (libc6) => /usr/lib32/libgtkglextmm-x11-1.2.so.0

from ldconfig -p). And yes... undo the last changes: even if you put a 64-bit object in /usr/lib32 it is recognized as 64-bit and it does not work.

chire 05-03-2009 10:30 PM

Quote:

Originally Posted by colucix (Post 3528792)
Code:

libgtkglextmm-x11-1.2.so.0 (libc6,x86-64) => /usr/lib/libgtkglextmm-x11-1.2.so.0
this is a 64-bit library, but it looks like the application you're trying to run is 32-bit. If this is the case, it needs the 32-bit version of the library, so that you have to install it. Don't worry about installing two different architectures of the same library: the system should take care of it by placing them in different directories (lib and lib32) and updating the library cache in the proper way (you should see something like
Code:

libgtkglextmm-x11-1.2.so.0 (libc6,x86-64) => /usr/lib/libgtkglextmm-x11-1.2.so.0
libgtkglextmm-x11-1.2.so.0 (libc6) => /usr/lib32/libgtkglextmm-x11-1.2.so.0

from ldconfig -p). And yes... undo the last changes: even if you put a 64-bit object in /usr/lib32 it is recognized as 64-bit and it does not work.


thank you for helping, i will do what yous uggest and answer back with news.

chire 05-04-2009 10:24 AM

where can i find the 32 bit library?
ill keep looking in google meanwhile

colucix 05-04-2009 01:13 PM

The 32-bit libraries are grouped in some packages. For a minimal installation you have to do
Code:

sudo apt-get install ia32-libs ia32-libs-gtk
for a more complete installation
Code:

sudo apt-get install libqt4-gui libqt4-core ia32-libs ia32-libs-gtk ia32-libs-kde lib32asound2 lib32gcc1 lib32stdc++6 lib32z1 libqt3-mt
You can also try the getlibs script, that installs automatically the libraries from which an executable depends:
Code:

wget http://www.boundlesssupremacy.com/Cappy/getlibs/getlibs
sudo mv getlibs /usr/bin

finally run your application as
Code:

sudo getlibs /path/to/treegrowthsimulator

chire 05-05-2009 04:04 PM

Quote:

Originally Posted by colucix (Post 3529832)
The 32-bit libraries are grouped in some packages. For a minimal installation you have to do
Code:

sudo apt-get install ia32-libs ia32-libs-gtk
for a more complete installation
Code:

sudo apt-get install libqt4-gui libqt4-core ia32-libs ia32-libs-gtk ia32-libs-kde lib32asound2 lib32gcc1 lib32stdc++6 lib32z1 libqt3-mt
You can also try the getlibs script, that installs automatically the libraries from which an executable depends:
Code:

wget http://www.boundlesssupremacy.com/Cappy/getlibs/getlibs
sudo mv getlibs /usr/bin

finally run your application as
Code:

sudo getlibs /path/to/treegrowthsimulator


now it works very well!
getlibs downloaded the correct libs
very useful tool
thanks for all the help you provided :)
i also learned a lot through the way
this topic can help other people with similar problems.


All times are GMT -5. The time now is 05:53 AM.