This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

LibGCJ static linking trouble



Hello all.


I'm following the instructions in
 http://gcc.gnu.org/wiki/Statically%20linking%20libgcj
for compiling things so that they don't need libgcj.so at runtime.

The final link-it-all-together line in my makefile is (remove carriage returns as needed)

$(EXECOUT)/%: %-adaptor.o globalphasing/maketnt/%.o $(maketntlibs) $(javalibs)
$(GCJ) -o $(EXECOUT)/$* $^ -shared-libgcc -Wl,-non_shared -lgcj -Wl,-call_shared -lsupc++ -Wl,--as-needed -lz -lgcc_s -lpthread -lc -lm -ldl -Wl,--no-as-needed


where %-adaptor.o contains main(), which calls various bits of C code which do some setup and then calls into the compiled java following the model of
http://www-ti.informatik.uni-tuebingen.de/~thiele/cni/


Unfortunately, whilst this produces enormous executables

twomack@harker:~> ls -l toadfarm/bin/linux/PDB2TNT
-rwxr-xr-x  1 twomack cdrom 19772164 2006-11-15 17:21 toadfarm/bin/linux/PDB2TNT
twomack@harker:~> strip toadfarm/bin/linux/PDB2TNT
twomack@harker:~> ls -l toadfarm/bin/linux/PDB2TNT
-rwxr-xr-x  1 twomack cdrom 8260516 2006-11-15 17:34 toadfarm/bin/linux/PDB2TNT

they don't appear to be statically linked:

twomack@harker:~> toadfarm/bin/linux/PDB2TNT
toadfarm/bin/linux/PDB2TNT: error while loading shared libraries: libgcj.so.7: cannot open shared object file: No such file or directory


twomack@harker:~> ldd toadfarm/bin/linux/PDB2TNT
        linux-gate.so.1 =>  (0xffffe000)
        libz.so.1 => /lib/libz.so.1 (0x5559b000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x555ae000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x555b9000)
        libc.so.6 => /lib/tls/libc.so.6 (0x555cb000)
        libdl.so.2 => /lib/libdl.so.2 (0x556ea000)
        libgcj.so.7 => not found
        libm.so.6 => /lib/tls/libm.so.6 (0x556ef000)
        /lib/ld-linux.so.2 (0x55555000)

Can you help?

Thomas Womack, Global Phasing Ltd.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]