Hi Jean-Frederic,

        I like your patch. Thanks for your help. :-)

        I'm also wondering why we dlopen libjvm.so in the first place ?
        
        After all, on my linux machine I had to specify the location
        of libjvm.so and other JRE .so files via LD_LIBRARY_PATH anyway
        (otherwise I would receive a JVM init error while the VM was trying to
        load other JRE libraries).

        So, if the user has to specify the LD_LIBRARY_PATH to get everything
        to work anyway, why not dynamically link jsvc against libjvm.so in the
        first place ? This makes things much simpler and removes the need to
        calculate which VM to use and where it is, and lets the user change it
        via an environment variable ?

        I'm interested in everyone's thoughts for and against ?

        Cheers,

        Marcus

"jean-frederic" wrote:
>
> "Pier P. Fumagalli" wrote:
> > 
> > Marcus Crafter <[EMAIL PROTECTED]> wrote:
> > 
> > > systeminfo.h does not exist under Linux (at least on my system, it's
> > > sysinfo.h), and the sysinfo system call made (jsvc_unix.c, line 158) also
> > > doesn't exist. :-( There is a sysinfo system call, but it returns a struct
> > > containing system details like uptime, load, etc.
> > >
> > > sysinfo() is used in jsvc_unix.c to obtain the architecture, which is used to
> > > build up a string locating libjvm.so. Looks like under linux we'll have to do
> > > this another way, unless I've overlooked/missed something ?
> >
> > The problem lies in the fact that I'm developing the native components under
> > Solaris, and up to this point, I've never tried a port to Linux or other
> > OSes (my next attempt is a build on MacOS/X, and then Yellow Dog Linux for
> > PPC - Can you tell I work on Macintoshes now?).
> 
> And that no easy... But what is needed is the patch to libjvm.so isn't
> it?
> On my Linux it is:
> /home2/jdk1.2.2/jre/lib/i386/classic/libjvm.so
> (JAVA_HOME is /home2/jdk1.2.2).
> On a ReliantUnix it is:
> /opt/java/jdk12/jre/lib/mips/classic/green_threads/libjvm.so
> 
> I would suggest to define it in the Makedefs:
> I have tried the following Makedefs on Linux:
> +++
> JAVA_HOME = /home2/jdk1.2.2
>  
> JAVAC       = $(JAVA_HOME)/bin/javac
> JAVACOPTS   = -O
> JAVADOC     = $(JAVA_HOME)/bin/javadoc
> JAVADOCOPTS = -author -version -splitindex -windowtitle "Apache Service
> Interface"
> JAR         = $(JAVA_HOME)/bin/jar
> JVMLIB      = $(JAVA_HOME)/jre/lib/i386/classic/libjvm.so
>  
> CC    = gcc
> COPTS = -O6 -Wall -Wstrict-prototypes
> CINCS = -I. -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
> -DJVMLIB=\""$(JVMLIB)"\"
> CLIBS =
> -ldl                                                                                 
>           

-- 
        .....
     ,,$$$$$$$$$,      Marcus Crafter
    ;$'      '$$$$:    Computer Systems Engineer
    $:         $$$$:   Open Software Associates GmbH
     $       o_)$$$:   82-84 Mainzer Landstrasse
     ;$,    _/\ &&:'   60327 Frankfurt Germany
       '     /( &&&
           \_&&&&'     Email : [EMAIL PROTECTED]
          &&&&.        Business Hours : +49 69 9757 200
    &&&&&&&:           After Hours    : +49 69 49086750


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to