>>>>> Bernd Kreimeier writes:

    Bernd> Juergen Kreileder wrote May 6th:
    >> With a few changes to the linking step your example works for me,
    >> I'll send you my changes later.

    Bernd> I haven't gotten any changes, or any response to the three 
    Bernd> inquiries I sent you since.

Sorry, I've been very busy last week.

    Bernd> I digged around in ./include and tried -DNATIVE as well as
    Bernd> a leading -I$(JDK_HOME)/include/native_threads/include/
    Bernd> to rule out that my binary is accidentally compiled using
    Bernd> green threads headers (btw., the README.linux is still the
    Bernd> 9/5/99 one w/o native thread docs - phooey).

Yep, I know. They got lost somehow :-(

    Bernd> My linker flags are still:
    Bernd>   LFLAGS= -L. -L$(JDK_HOME)/lib/i586/native_threads/ -ljava
    Bernd> plus various versions of scipted preloads:
    Bernd>   LD_PRELOAD="libjava.so libXt.so libXm.so libXext.so"
    Bernd>   LD_BIND_NOW=1

    Bernd> I do not have the option to link against X11 libs directly.

That was my first solution...

    Bernd> So, what am I supposed to to? I have been stuck here for
    Bernd> nearly a fortnight now, if would be kind if you'd care to
    Bernd> disclose the secret.

With LD_PRELOAD all I have to do is 

$ LD_PRELOAD="libXm.so" LD_BIND_NOW=true ./bug

and your program works. 
The only change I made was to keep your c program from exiting,
otherwise the Frame won't show up.

libXm.so is Metro Links' Motif 2.1 library.
$ ldd /usr/X11R6/lib/libXm.so
        libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40192000)
        libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x401db000)
        libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x401e4000)
        libXp.so.6 => /usr/X11R6/lib/libXp.so.6 (0x401f9000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40200000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4020c000)
        libc.so.6 => /lib/libc.so.6 (0x402af000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)
$ ldd ./bug
        libjava.so => /home/kreilede/local/jdk117_v3/lib/i386/native_threads/lib
java.so (0x4000f000)
        libc.so.6 => /lib/libc.so.6 (0x40081000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x40126000)
        libm.so.6 => /lib/libm.so.6 (0x40133000)
        libdl.so.2 => /lib/libdl.so.2 (0x4014c000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

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


        Juergen


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

Reply via email to