Juergen Kreileder writes:
 
 >> I do not have the option to link against X11 libs directly. 
 > That was my first solution...

 > With LD_PRELOAD all I have to do is 
 > $ LD_PRELOAD="libXm.so" LD_BIND_NOW=true ./bug

bash-2.01$ LD_PRELOAD="libXm.so" LD_BIND_NOW=true ./bug
   ./bug: error in loading shared libraries
   /opt/local/lib/libXm.so: undefined symbol: XtStrings

 > libXm.so is Metro Links' Motif 2.1 library.

Which I do not have. Frankly, it is nice of Metro to donate
their Motif for building, but if that's supposed to say I have
to buy it to get JDK to work, I am not too enthusiastic. What
is the problem with Lesstif?


 > $ ldd /usr/X11R6/lib/libXm.so

bash-2.01$ ldd /opt/local/lib/libXm.so
  libc.so.6 => /lib/libc.so.6 (0x40164000)
  /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)

Hmmm. Maybe that's the problem with Lesstif. Guess I have to
take a closer look at a more recent release, and the way it 
links. Anybody been down this road already?

        
 > $ ldd ./bug

 libjava.so 
  => /opt/local/java/jdk/lib/i586/native_threads/libjava.so (0x40010000)
 libc.so.6 => /lib/libc.so.6 (0x40075000)
 libpthread.so.0 => /lib/libpthread.so.0 (0x4011c000)
 libm.so.6 => /lib/libm.so.6 (0x40129000)
 libdl.so.2 => /lib/libdl.so.2 (0x40142000)
 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

and no way to change this. In reality, it is even worse:
I want to create a DLL that is loaded by an application 
with the following fixed linkage:

 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40010000)
 libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x400b3000)
 libdl.so.2 => /lib/libdl.so.2 (0x400c1000)
 libm.so.6 => /lib/libm.so.6 (0x400c4000)
 libc.so.6 => /lib/libc.so.6 (0x400dd000)
 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

This app will do dlopen("bug"), effectively. I have to link
bug.so against libXm.so and libjava.so, and have to preload
them when starting an application that doesn't use them. 

 > The preload of libjava.so should not be necessary with v2/v3
 > because I've added an ld lock. 

OK. I got another bug program to test that ;-).


                                                 b.



----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to