You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Gil Shai <Gi...@GoNetworks.com> on 2005/04/10 09:09:28 UTC

Jsvc on amd64

Hi,

Recently I ran jsvc on an AMD64 machine and it didn't work. I ran it
with tomcat 5.0.28, apache 2.0.52 and Sun jdk 1_5_0_02. Basically, jsvc
is not supported on AMD64 with JDK 1.5. There is already an open bug on
this so I am not opening another one.
I want to share with the open source community an specifically the jsvc
developers what I did and found out.
Unfortunately the changes I did are very specific so I cannot contribute
them and I didn't have the time to do them generally or properly.
The changes I did were in three files:

1) configure - in this file I added the following line:

x86_64)
    CFLAGS="$CFLAGS -DCPU=\\\"amd64\\\"" ;;

Because there is no support for 64 bit on this machine.

2) location.c - in this file I added the path to the libjvm.so which is
different for JDK 1.5:

"$JAVA_HOME/jre/lib/" CPU "/server/libjvm.so",  /* Sun JDK 1.5 on amd64
*/

This line should be under:

char *location_jvm_default[] = {

3) jsvc-unix.c - I put in comment the following function:

set_caps

Since I got errors:

jsvc.exec error: syscall failed in set_caps 
jsvc.exec error: Service exit with a return value of 4 

For some reason, there were no permissions to call this function. I
didn't get too much into it since I didn't have time and I'm currently
running tomcat under root so I don't really need this function.

Thanks,
Gil