[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#488989: how to obtain JNI_CreateJavaVM/libjvm?



Re: Peter Eisentraut 2008-07-02 <20080702160751.9897.51965.reportbug@hawking.credativ.lan>
> Package: java-common
> Version: 0.30
> Severity: normal
> 
> I have a problem with the postgresql-pljava package.  Per bug #390661, 
> JNI_CreateJavaVM has gone missing from libgcj and should be found in libjvm.  
> libgcj is now found via /usr/lib/jvm/default-java/lib, but libjvm has to be 
> dug up via something like /usr/lib/gcj-4.3-90.  Maybe a symlink in 
> /usr/lib/jvm/default-java/lib could be added, or perhaps libgcj should pull in 
> libjvm or something.  I am confused.  What is the plan?

The problem today is as follows:

postgresql-pljava builds a postgresql extension that executes java
code by executing it with (lib)gcj. Probably due to the above change,
the old -lgcj can be replaced by -ljvm. Unfortunately, libjvm.so is in
a place that needs a rather ugly -L/usr/lib/jvm/java-1.5.0-gcj/lib (or
-L/usr/lib/jvm/java-1.5.0-gcj-4.4/lib) to work. So question 1 is

* Is -L/usr/lib/jvm/java-1.5.0-gcj/lib -ljvm the right way to embed a
  JVM in applications? (or with -4.4 as the other one is only in
  gcj-jre-headless?)

During build, dpkg-shlibdeps still complains about not finding
libjvm.so

* Shouldn't libjvm be mentioned in /var/lib/dpkg/info/libgcj10.shlibs
  so packages using it do depend on libgcj10?

At runtime, pljava.so still needs a LD_LIBRARY_PATH =
'/usr/lib/jvm/java-1.5.0-gcj-4.4/lib' or similar in
/etc/postgresql/8.4/main/environment.

* Is there a static path I can use? Would RPATH help?

Christoph
-- 
cb@df7cb.de | http://www.df7cb.de/

Attachment: signature.asc
Description: Digital signature


Reply to: