[fedora-java] aot-compile-rpm

Gary Benson gbenson at redhat.com
Thu Jul 7 11:25:53 UTC 2005


Andrew Overholt wrote:
> On Wed, 2005-06-07 at 18:10 +0100, Gary Benson wrote:
> > Thomas Fitzsimmons wrote:
> > > Does aot-compile-rpm provide a way to exclude certain jars from
> > > native compilation?  This is sometimes necessary to work around
> > > gcj bugs.
> > 
> > There's no generic way, but if you have already compiled a solib
> > yourself then it won't recreate it.  This allows you to compile it
> > with -O0 instead of -O2, for example, which has worked for every
> > gcj bug I've seen so far.
> 
> The way we've been doing it with Eclipse is by moving the .jars that
> we don't want to be compiled to .jar.bak.  This won't work with
> aot-compile-rpm, so we'll have to find a better way.  -O2 -> -O0
> doesn't work in some cases.  Yes, tracking down the remaining
> mis-compilations is on my list of things to do :) .

Ok, I added an --exclude option to handle this, and it's now built in
beehive as java-1.4.2-gcj-compat-1.4.2.0-40jpp_32rh so if you could
test it it would be very cool.  You should be able to drop all solib
compilation and database building stuff, sticking an aot-compile-rpm
at the end of %install, and changing the %files sections to the new
locations.

Note that for --exclude the path you must is the final installed
path of the jarfile, for example
/usr/share/eclipse/plugins/org.eclipse.ui.workbench_3.1.0.jar
(_not_ prefixed with $RPM_BUILD_ROOT).

Note also that you shouldn't need to do this for the PPC limit
(#158308) because aot-compile-rpm ought to be able to handle it.
If you do have problems then let me know as it's a bug I should
be fixing.

Also note that for optimizer failures you can build the solib
yourself into the location that aot-compile-rpm would have built
it _before_ running aot-compile-rpm.  aot-compile-rpm will generate
the database for it.

Finally, note that you can remove the %{_libdir} argument from all
the rebuild-gcj-db commands, as it's not necessary any more.

Cheers,
Gary




More information about the fedora-devel-java-list mailing list