> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Aaron
> M. Renn
>
>
> Brian Jones wrote:
> > Could someone email me what it would take to make the native libs
> > useful for installation? I'm assuming we basically need some sort of
> > shared library, possibly several, all installed appropriately for
> > whatever VM we are using. The more details the better.
>
> The Hackers Guide gives my view of library layout. Roughly, one shared
> library per package, loaded in a static initializer. Named
> libXXX.so where
> XXX is the package name. (I many have actually used libjaphar_XXX.so
> because Japhar used to require that). Plus maybe a common library.
> Interlibrary dependencies are broken in libtool, so I don't know for sure
> how we'll make this all work. I had to link my java.io libraries
> with "ld"
> by hand.
>
> Oh, and I'd install the libraries in the JVM specific "lib" directory. I
> don't think classpath needs its own directory space for this.
>
Yeah, that's a good idea.
> Which brings up a point. John, you said you got "Hello, World"
> to work with
> classpath. Were you using Sun's java.io for this? If you got my java.io
> native libraries to build and install properly using automake/libtool, you
> are a better man than me. Especially since they depend on your old method
> id caching library which may or may not be part of CVS anymore.
>
Yes, Hello World worked with your java.io.
Hmm? I *always* get the native libs to work. I'll check and see if my
version is out of synch, but I'm pretty sure it isn't. We should compare
notes on this. There may be some dependency on my system that you don't
have. I have built successfully on two different RedHat systems, though,
one of which had never seen Classpath before.
Note for getting Classpath+Japhar to run: your java.io Java side was the
only place that I had to modify to get Classpath+Japhar to work. Something
is wrong with exception handling and system properties, and in PrintWriter
you grab System.getProperty("file.property") and it returns null. That part
is fine, but then you try to throw an exception and everything breaks. I
changed it so that it set sep = "\n" in that case. I didn't check it in
because that's a workaround, not good behavior. That modified class is in
classpath.zip on the webserver.
Sorry about all those changes to the caching lib back then. It took a long
while to streamline them to the point where they did what they were supposed
to and nothing more. I didn't understand native libs and ClassLoaders and
such well enough to do it right the first time.
Make sure you have the most recent CVS. I may have made changes to java.io
with caching, I remember something like that.
--John Keiser