"[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: > On Fri, 12 Apr 2002, Pier Fumagalli wrote: > >>>> Then it won't work... BTW, I hope you guys are not trying to load APR from >>>> the VM, right? Because if so, I _really_ want to see how you can do it on >>>> Mach-O kernel based Oses :) > > mod_jk2 is using APR, and on the java side the JNI and Unix socket > implementations are using APR. In addition we'll use APR to access shm, > etc. > > The socket transport will allways work - so if a VM can't load APR it can > use socket transport and ignore the advanced features ( or wait for a > fixed VM that supports JNI ).
It's not a matter of fixing the VM... >> And to explain it better, on some Oses, such as Apple's MacOS/X, >> System.load() will only load MH_BUNDLE libraries in the memory space, not >> common DYLIBs. So, you'd have to have a MH_BUNDLE containing the dlopen() >> (or however that function is called), so that you can load something like >> APR, once that's loaded you register the functions and such, and >> yadayadayada... Native loader... Way too compicarted... > > So the VM supports JNI, but the JNI functions can't use any library ? > Sounds like a serious bug. Hopefully we'll find a workaround, or just use > socket transport from java. Nope... The VM can load JNI libraries when those are linked as MH_BUNDLE, which is a great feature of Mach-O: it's basically the separation in concept of "library" and "plug-in". A plug-in is a MH_BUNDLE, and that gets loaded within the scope of the VM as RTLD_LOCAL does on dyld systems. Sure that a plugin can rely on external libraries (DYLIB or RTLD_GLOBAL), but those need to be read before the VM start to avoid runtime linkage errors (if there's a dual definition of a symbol, with RTLD_GLOBAL I'm dead, as I'll never know where my code will crash). That's why there's that nice environment *_PRELOAD (*=DYLD/LD), which links the binary at process startup and will not make the process start if something is not right. The JVM _is_ behaving correctly, no bug whatsoever, the problem is that you don't have to confuse a pluging (MH_BUNDLE, RTLD_LOCAL) with a library (DYLIB, RTLD_GLOBAL)... All nice and clean. >> believe we were still waiting for Costin to get the approval for >> SilverEgg's... > > jakarta-commons - I sent the proposal, it got the votes. Craps another ml to check. :( Pier -- I think that it's extremely foolish to name a server after the current U.S. President. B.W. Fitzpatrick -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>