Bug 233489 - trouble to build pdftk
trouble to build pdftk
Product: Fedora
Classification: Fedora
Component: java-1.5.0-gcj (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Thomas Fitzsimmons
Depends On:
  Show dependency treegraph
Reported: 2007-03-22 14:49 EDT by Jochen Schmitt
Modified: 2007-11-30 17:11 EST (History)
1 user (show)

See Also:
Fixed In Version: 1.41-5.fc7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2007-04-12 11:35:07 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Jochen Schmitt 2007-03-22 14:49:49 EDT
When I try to build pdftk for the devel branch; i will get the following error

gcjh --classpath="." Gnu;
Exception in thread "main" java.io.IOException: can't find class file
java_local/security/Provider.class in
parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], pare
   at gnu.classpath.tools.javah.Main.getClass(libgcj-tools.so.8rh)
   at gnu.classpath.tools.javah.ClassWrapper.linkSupers(libgcj-tools.so.8rh)
   at gnu.classpath.tools.javah.ClassWrapper.printFully(libgcj-tools.so.8rh)
   at gnu.classpath.tools.javah.CniIncludePrinter.printClass(libgcj-tools.so.8rh)
   at gnu.classpath.tools.javah.Main.writeHeaders(libgcj-tools.so.8rh)
   at gnu.classpath.tools.javah.Main.run(libgcj-tools.so.8rh)
   at gnu.classpath.tools.javah.GcjhMain.main(libgcj-tools.so.8rh)
make[2]: *** [Gnu.h] Error 1
rm Gnu.class
make[2]: Leaving directory
make[1]: *** [libgcj_local] Error 2
Comment 1 Thomas Fitzsimmons 2007-03-22 17:53:02 EDT
I think the --classpath option should be ".:../../../..".

That said, Rawhide pdftk shouldn't need gcjh to build: it should be able to
BuildRequire system dependencies rather than bundling the dependencies under
Comment 2 Thomas Fitzsimmons 2007-03-22 17:58:02 EDT
I filed a separate bug for the dependency issue:

Comment 3 Tom Tromey 2007-03-26 11:34:44 EDT
I looked at pdftk a little a week or two ago.

It included some classpath security code... this seemed weird to me.

Its use of gcjh worked with the old gcjh, but won't work any more.
gcjh really needs to traverse the class hierarchy (both for miranda
methods and also to properly handle bridge methods).  So the approach
pdftk takes to invoking gcjh no longer works, and can't really be made
to work.

Instead a package has to invoke gcjh in a "java-like" way.  So eg when
making a header for "p1.p2.Class", gcjh ought to be invoked from
$basedir, not $basedir/p1/p2/ -- I hope this makes sense.  If the target
class(es) has a dependency on some other set of classes, these must be
findable by gcjh using the class path.
Comment 4 Thomas Fitzsimmons 2007-04-12 11:35:07 EDT
I committed a patch to invoke gcjh in the new way and rebuilt this package in

Note You need to log in before you can comment on or make changes to this bug.