# [solved] shared object file not found

## nes

Warum findet er bei eclipse die libgtk nicht, liegt doch eh im richtigen ordner, alles andere geht ja auch? Konkret:

```

bash-2.05b$ ./eclipse

./eclipse: error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

bash-2.05b$

bash-2.05b$ ls -la /usr/lib/libgtk-x11-2.0.so.0

lrwxrwxrwx  1 root root 25 29. Aug 11:00 /usr/lib/libgtk-x11-2.0.so.0 -> libgtk-x11-2.0.so.0.400.4

bash-2.05b$ ls -la /usr/lib/libgtk-x11-2.0.so.0.400.4

-rwxr-xr-x  1 root root 3076608 29. Aug 11:00 /usr/lib/libgtk-x11-2.0.so.0.400.4

bash-2.05b$

```

lg., nesLast edited by nes on Sun Sep 05, 2004 6:13 am; edited 1 time in total

----------

## dgently

Was sagt denn "ldd eclipse" und "ldconfig  -p | grep libgtk-x11"?

----------

## nes

```

bash-2.05b$ ldd eclipse

        linux-gate.so.1 =>  (0xffffe000)

        libgtk-x11-2.0.so.0 => not found

        libgdk_pixbuf-2.0.so.0 => not found

        libc.so.6 => /lib32/libc.so.6 (0x5557e000)

        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x55555000)

        libgdk-x11-2.0.so.0 => not found

        libgobject-2.0.so.0 => not found

bash-2.05b$

bash-2.05b$ /sbin/ldconfig -p | grep libgtk-x11

        libgtk-x11-2.0.so.0 (libc6,x86-64) => /usr/lib/libgtk-x11-2.0.so.0

        libgtk-x11-2.0.so (libc6,x86-64) => /usr/lib/libgtk-x11-2.0.so

bash-2.05b$

```

lg., nes

----------

## Carlo

 :Arrow:  revdep-rebuild -p

----------

## nes

Gerade getan, am Fehler hat sich aber leider nichts geändert:

```

gamma root # revdep-rebuild -p

Checking reverse dependencies...

Packages containing binaries and libraries broken by any package update,

will be recompiled.

Collecting system binaries and libraries... done.

  (/root/.revdep-rebuild.1_files)

Collecting complete LD_LIBRARY_PATH... done.

  (/root/.revdep-rebuild.2_ldpath)

Checking dynamic linking consistency...

 done.

  (/root/.revdep-rebuild.3_rebuild)

Assigning files to ebuilds... Nothing to rebuild

Evaluating package order... done.

  (/root/.revdep-rebuild.5_order)

Dynamic linking on your system is consistent... All done.

gamma root #

```

Wie gesagt, beim Aufruf von eclipse gleicher Fehler wie zuvor: Er findet die libgtk nicht.

lg., nes

----------

## Beforegod

Bleibt Dir nichts anderes übrig als eclipse neu zu emergen.

----------

## Carlo

Die gesuchten Bibliotheken  sind von x11-libs/gtk+, also würde ich mich darüber her machen. Aber schon verwunderlich, daß revdep-rebuild da nichts liefert. Wie stehts mit qpkg -l gtk+-2 | grep lib/lib?

----------

## dgently

 *nes wrote:*   

> 
> 
> ```
> 
> bash-2.05b$ ldd eclipse
> ...

 

Ich kenne mich zwar nicht mit x86-64 aus, aber ich vermute mal das Problem ist, dass eclipse ne 32bit Anwendung ist ("libc.so.6 => /lib32/libc.so.6") und du damit nicht die "x86-64" version von libgtk verwenden kannst.

Du brauchst also noch ne 32bit version von libgtk, oder ein fuer 64bit kompiliertes eclipse.

----------

## Carlo

dgently: Und ich darf mich mal wieder fragen, wozu ich die Brille auf der Nase habe...  :Rolling Eyes: 

----------

## nes

 *dgently wrote:*   

> 
> 
> Ich kenne mich zwar nicht mit x86-64 aus, aber ich vermute mal das Problem ist, dass eclipse ne 32bit Anwendung ist ("libc.so.6 => /lib32/libc.so.6") und du damit nicht die "x86-64" version von libgtk verwenden kannst.
> 
> Du brauchst also noch ne 32bit version von libgtk, oder ein fuer 64bit kompiliertes eclipse.

 

Danke, das duerfte es wohl sein. Nur, wie bekomme ich die? Gar nicht? Das heisst, dass ich da per chroot eine komplette 32-Bit-Umgebung in die Höhe ziehen müsste?

lg., nes

----------

## Carlo

Nein, Du kannst - so denn die jeweiligen Ebuilds darauf vorbereitet sind - unter x86-64 32 und 64 bit parallel fahren.

 :Arrow:  emerge -s emul-linux

----------

## nes

Herzlichen Dank!

Mein Problem ist zwar definitiv nicht gelöst (Es gibt keinen eclipse-ebuild für amd64 bzw. ~amd64), aber mir ist jetzt zumindest mal klar warum mein naiver Ansatz einfach eclipse von www.eclipse.org runterzuladen und es damit auszuprobieren nicht funktionieren kann.

lg., nes

----------

