[Quickfix-developers] Re: JNI library for Linux
Brought to you by:
orenmnero
From: Joerg T. <Joe...@ma...> - 2002-09-04 17:41:46
|
Joerg Thoennes wrote: > 1. The libquickfix.a as a shared object library. The documentation says > that for Linux only a statically linked version is available. Please, > could anybody point out more details why this is the case? Perhaps > this problem could be solved with a newer compiler, e.g. GCC 3.0? I think I have accomplished this task. The program libtool which is used to generate shared libs in a platform-independent way always got the option "-static" which forced it to omit the shared library. This was triggered by the following line in Makefile.am: libquickfix_la_LDFLAGS = -static In addition, there is a configure option "--enabled-shared". So I did the following: 1. Change all Makefile.am instance to comment out the above line. 2. Go to root directory and: ./bootstrap ./configure --enable-shared make Then "make install" installs /usr/local/lib as follows: -rwxr-xr-x 1 root staff 2402221 Sep 4 17:04 libquickfix.so.0.0.0 lrwxrwxrwx 1 root staff 20 Sep 4 17:04 libquickfix.so.0 -> libquickfix.so.0.0.0 lrwxrwxrwx 1 root staff 20 Sep 4 17:04 libquickfix.so -> libquickfix.so.0.0.0 -rwxr-xr-x 1 root staff 762 Sep 4 17:04 libquickfix.la -rw-r--r-- 1 root staff 11412896 Sep 4 17:04 libquickfix.a And ldd /usr/local/lib/libquickfix.so.0.0.0 libxml2.so.2 => /usr/lib/libxml2.so.2 (0x401d5000) libc.so.6 => /lib/libc.so.6 (0x40274000) libz.so.1 => /usr/lib/libz.so.1 (0x40392000) libm.so.6 => /lib/libm.so.6 (0x403a1000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) Now I try to create libquickfix_jni.so using the Makefile.am from src/C++. Oren, could you please send me your changes? Thanks, Jörg |