Here's my first stab at an RPM with the new scripts (find-and-nativify and rebuild-gcj-db). It's the OpenGL java bindings:
http://people.redhat.com/green/FC4
A couple of observations....
It's still not super-trivial to add native versions of jar files. See attached spec file. On the other hand, I don't know how we could make it simpler.
Our libjawt.so.6 is a bit of a problem. I was unable to run any jogl code with a non-gcj alternative, since they all pick up /usr/lib/libjawt.so.6, which has references to our gtk peers and fails to load. Should libjawt.so be an alternative? Or can we install it somewhere gcj specific?
AG
On Sun, 2005-04-03 at 16:41 -0700, Anthony Green wrote:
Here's my first stab at an RPM with the new scripts (find-and-nativify and rebuild-gcj-db). It's the OpenGL java bindings:
http://people.redhat.com/green/FC4
A couple of observations....
It's still not super-trivial to add native versions of jar files. See attached spec file. On the other hand, I don't know how we could make it simpler.
Our libjawt.so.6 is a bit of a problem. I was unable to run any jogl code with a non-gcj alternative, since they all pick up /usr/lib/libjawt.so.6, which has references to our gtk peers and fails to load. Should libjawt.so be an alternative? Or can we install it somewhere gcj specific?
I think we should rename it libgcj-jawt.so. libjawt-using apps will look for $JAVA_HOME/jre/lib/i386/libjawt.so which we already have a symlink for in java-gcj-compat.
Tom
On Mon, 2005-04-04 at 01:24 -0400, Thomas Fitzsimmons wrote:
I think we should rename it libgcj-jawt.so. libjawt-using apps will look for $JAVA_HOME/jre/lib/i386/libjawt.so which we already have a symlink for in java-gcj-compat.
This is a fine idea for java-gcj-compat users, but what about the others?
AG
On Mon, 2005-04-04 at 01:24 -0400, Thomas Fitzsimmons wrote:
I think we should rename it libgcj-jawt.so. libjawt-using apps will look for $JAVA_HOME/jre/lib/i386/libjawt.so which we already have a symlink for in java-gcj-compat.
Tom - this doesn't quite work as implemented.
It turns out that jogl does a System.loadLibrary("jawt") which fails since we renamed the library.
I'm not sure what the best solution is.
If we make libjawt.so an alternative, then it will mess up running non- alternative java programs. Maybe we should have stowed it away in a libgcj specific directory instead of renaming it.
AG
On Tue, 2005-05-24 at 11:40 -0700, Anthony Green wrote:
On Mon, 2005-04-04 at 01:24 -0400, Thomas Fitzsimmons wrote:
I think we should rename it libgcj-jawt.so. libjawt-using apps will look for $JAVA_HOME/jre/lib/i386/libjawt.so which we already have a symlink for in java-gcj-compat.
Tom - this doesn't quite work as implemented.
It turns out that jogl does a System.loadLibrary("jawt") which fails since we renamed the library.
This should work, if LD_LIBRARY_PATH points to /usr/lib/jvm/jre/lib/%{_arch}.
Tom
On Tue, 2005-05-24 at 14:56 -0400, Thomas Fitzsimmons wrote:
This should work, if LD_LIBRARY_PATH points to /usr/lib/jvm/jre/lib/%{_arch}.
Ok - that works - but I don't think we should force people to set LD_LIBRARY_PATH.
Maybe Runtime.loadLibrary could be taught to look there.
AG
On Tue, 2005-05-24 at 12:25 -0700, Anthony Green wrote:
Maybe Runtime.loadLibrary could be taught to look there.
I've filed a bug for this:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21741
AG
java-devel@lists.fedoraproject.org