Hi Martina,

success! Thanks for your hints. In the following I summarize the steps taken in order to help others with simmilar problems:

I was able to compile and install 32-bit versions of the tcnative and the apr library on my 64-bit system. First I had to install some missing 32-bit dependencies using Yast. After that the following two commands created 32-bit versions of the apr and tcnative libraries:

1. APR: ./configure CFLAGS=-m32 && make && make install
2. TcNative: ./configure --with-apr=/usr/local/apr CFLAGS=-m32 && make && make install

The "file" command now outputs the following for these two libraries:

apr/lib/libtcnative-1.so.0.1.3: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped apr/lib/libapr-1.so.0.2.7: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped

Now the linker dependencies for tcnative are 32-bit libraries only:

alpha:/usr/local # ldd apr/lib/libtcnative-1.so.0.1.3
       linux-gate.so.1 =>  (0xffffe000)
       libapr-1.so.0 => /usr/local/apr/lib/libapr-1.so.0 (0x55597000)
       librt.so.1 => /lib/tls/librt.so.1 (0x555bf000)
       libcrypt.so.1 => /lib/libcrypt.so.1 (0x555c7000)
       libpthread.so.0 => /lib/tls/libpthread.so.0 (0x555f9000)
       libdl.so.2 => /lib/libdl.so.2 (0x5560a000)
       libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0x5560e000)
       libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0x5563e000)
       libc.so.6 => /lib/tls/libc.so.6 (0x55732000)
       /lib/ld-linux.so.2 (0x56555000)

Having a setenv.sh with the following line now allows Tomcat to use the APR with a 32-bit JVM:

export LD_LIBRARY_PATH=/usr/local/apr/lib:/lib/tls:/lib:/usr/lib

Similarly, I compiled and installed 64-bit versions of APR and TcNative using:

1. APR: ./configure --prefix=/usr/local/apr64 && make && make install
2. TcNative: ./configure --prefix=/usr/local/apr64 --with-apr=/usr/local/apr64 && make && make install

The 64-bit versions of the libraries are "enabled" by the following line in setenv.sh:

export LD_LIBRARY_PATH=/usr/local/apr64/lib:/lib64/tls:/lib64:/usr/lib64

Unfortunately it seems not to be possible to offer both sets of libraries simultaneously to Java and let Java do the choice. (I tried concatenating the two library paths. But it seems that the first found library wins and that additional matches are not considered.)

Regards,
--Stefan









Holst, Martina wrote:
Hi Steffen,

yes, it's possible. RPMs install 32-bit libraries into /lib rather than
/lib64.
Choose a different installation directory for self-compiled libraries
using --prefix option of configure, and set the -m32 option for gcc.

Regards,
Martina

-----Original Message-----
From: Stefan Wachter [mailto:[EMAIL PROTECTED] Sent: Monday, July 03, 2006 09:47
To: Tomcat Users List
Subject: Re: APR not found under Linux

Hi Martina,

you are right! Switching to the AMD-64-Bit virtual machine Tomcat does
no longer inform: "The Apache Native library...". Therefore I assume
that with that virtual machine the APR is used. Many thanks for your
hint!

Some time ago I compared the performance of the AMD-64-Bit VM with the
Intel-32-Bit VM and had the impression that the AMD-64-Bit VM is slower.

Now I have to take new measurements that consider Tomcat/APR/64Bit <->
Tomcat/32Bit.

Another option would be to install 32-Bit versions of the needed
libraries. Do you know if it is possible to install 32-Bit versions of
the needed libraries in addition to the already present 64-Bit versions?

Regards,
--Stefan



Holst, Martina wrote:
Hi Stefan,

Looking at your library path: I think you are trying to use a 32bit Java JDK with 64-bit APR/OprnSSL libraries. Java does not find the 32-bit binaries it needs, hence the error message. Best regards,
Martina


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to