Java guidelines questions

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

 



I have some questions about the Java packaging guidelines with respect
to native libraries [1].  JNI using packages must put the JAR and .so
in %{_libdir}/%{name}, and use System.load() with a full path instead
of using System.loadLibrary().  I guess this is for multilib
situations, so you can have multiple JARs, each pointing to the
correct .so.  Since that full path can start with either /usr/lib or
/usr/lib64, how have others generated that full path?

Wouldn't it be better to have a single JAR in /usr/share/java, and
choose the correct path with the os.arch system property (which,
annoyingly, is "amd64" with OpenJDK and "x86_64" with gcj on my
machine)?  We have to pass a full path to System.load() anyway, so I
don't see the advantage of having the JAR under %{_libdir} in that
case.  Has there been any thoughts around providing a Fedora-specific
JAR to hide the details of native library loading?  (Maybe
"Fedora.loadLibrary()"?)

Also, I know how to generate a .so with GCJ using aot-compile-rpm.
How is this supposed to work for applications?  Say I have a JAR file
with a main method, and a wrapper script to invoke it in %{_bindir}.
On a system that uses GCJ primarily, does that wrapper script do the
right thing (invoke the gcj-compiled code)?

Finally, does anybody know why "gcj --target-help" sends this to stderr?

cc1: warning: command line option
"-fbootclasspath=./:/usr/share/java/libgcj-4.3.0.jar" is valid for
Java but not for C

References:
[1] https://fedoraproject.org/wiki/Packaging/Java#Packaging_JAR_file

Thanks,
-- 
Jerry James
http://loganjerry.googlepages.com/

-- 
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux