[OTR-users] gaim not loading static plugin, etc.

Ian Goldberg ian at cypherpunks.ca
Tue Dec 6 08:59:11 EST 2005


On Tue, Dec 06, 2005 at 08:09:26AM -0500, Emilio Recio wrote:
> Since i didn't find anything of interest on the mailing lists. I ran 
> "gaim -d" and it didn't find the gaim-otr plugin at all. The odd part is 
> that when I did a "make uninstall" to recompile the plugin, there was 
> only one file. It seems like the static library (gaim-otr.la), but not 
> the shared library.
> 
> So... I recompiled the plugin with (enable-shared):
> ./configure --disable-nls --prefix=/usr/local/ --enable-shared
> 
> So... I got this:
> plugins: /usr/local/lib/gaim/gaim-otr.so is unloadable: libotr.so.2: 
> cannot open shared object file: No such file or directory
> 
> So... I did a search (libotr.so.2):
> $ locate libotr.so.2
> /usr/local/src/libotr-3.0.0/src/.libs/libotr.so.2.0.0
> /usr/local/src/libotr-3.0.0/src/.libs/libotr.so.2
> /usr/local/lib/libotr.so.2.0.0
> /usr/local/lib/libotr.so.2
> 
> So... I ldd'd it:
> $ ldd /usr/local/lib/gaim/gaim-otr.so
>         linux-gate.so.1 =>  (0x00de6000)
>         libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0x00c8e000)
>         libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00f0c000)
>         libotr.so.2 => not found
>         libc.so.6 => /lib/tls/libc.so.6 (0x00541000)
>         libnsl.so.1 => /lib/libnsl.so.1 (0x006a2000)
>         /lib/ld-linux.so.2 (0x003b3000)
> 
> So... I added it (/usr/local/lib) to /etc/ld.so.conf, reran ldconfig.
> 
> Thanks for the "gaim -d" tip... but... why is --enable-shared required? 
> Shouldn't gaim automagically load the statically linked gaim-otr.la?

The .la *isn't* the static library.  Static libs end in ".a".  A ".la"
file is just information *about* a shared library (it's a text file;
look at it and see).

I think now that you have /usr/local/lib in your /etc/ld.so.conf,
compiling without an explicit --enable-shared should probably work fine.

   - Ian



More information about the OTR-users mailing list