Am oder ungefähr am Freitag, 12. März 2010, schrieb David C. Rankin: > Guys, > > I need pdftk for a script I use that does fax processing. I ran into > this > problem 6-7 months ago, but still had another server with pdftk on it so it > wasn't critical. Now, I need to solve it.
Hi David!
I always liked to have pdftk around and one or two years ago built it from aur.
But then at some point I uninstalled it and now I cannot build it again because
I get the very same error you describe here.
> Currently pdftk in AUR is out of date due to it a dependency of gcc-gcj
> requiring it to be built against gcc-4.3. The building gcc-4.3 and then
> gcc-gcj
> part of the pdftk build goes fine (takes forever, but goes fine). The build
> seems to crater on a java-lib issue. Here is the actual error with a few lines
> of context:
>
> ----------- 8< -------------
> gcj -march=x86-64 -mtune=generic -O2 -pipe -w --encoding=UTF-8
> --classpath="/usr/share/java/libgcj-4.3.jar:/home/david/arch/pkg/bld/pdftk/src/pdftk-1.41/java_libs"
> -c Anchor.java -o Anchor.o
> Exception in thread "main" java.lang.NoClassDefFoundError:
> org.eclipse.jdt.internal.compiler.batch.GCCMain
This exception means that gcj was looking for a class named
org.eclipse.jdt.internal.compiler.batch.GCCMain and could not find it in the
class path.
> at gnu.java.lang.MainThread.run(libgcj.so.9)
> Caused by: java.lang.ClassNotFoundException:
> org.eclipse.jdt.internal.compiler.batch.GCCMain not found in
> gnu.gcj.runtime.SystemClassLoader{urls=[file:/usr/share/java/eclipse-ecj.jar],
> parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
This part explains a little more details about what the classpath was gcj
looked in. It seems that the only file in the classpath at this point is
/usr/share/java/eclipse-ecj.jar which is consistent with the call of gcj above
(notice the --classpath argument).
If you look into eclipse-ecj.jar you find that it contains a class named
org.eclipse.jdt.internal.compiler.batch.Main and thus I think that this class
was renamed at some point after gcj 4.3 was released. So it seems that this is
indeed a java library issue.
I did another test and tried to run gcj on a simple Hello-World java file and
it failed with the same exception. So it seems not to be a problem with the
pdftk build process but rather that the old gcj does not work anymore with the
current eclipse-ecj package.
I then looked at the current gcc PKGBUILD and thought I could compile it with
java support but failed because I don’t really understand the gcc PKGBUILD
(which is rather complex I think).
> ----------------- 8< ---------------------
> The problem is I am no good at figuring out what this is telling me I
> need to
> do to fix it. I know there was an exception thrown in thread "main"
> java.lang.NoClassDefFoundError: ........ what I don't know is whether this is
> telling me there is a javalib version mismatch or something similar and
> whether
> this is something I might work around by loading/building some alternative
> java
> package, etc..
> If you have any idea what is going on here, please pass along a pointer
> or two.
> If this is just one of those areas where I'm screwed and there isn't a way
> around it -- well knowing that would be helpful too. Thanks.
If you find out anything more or even get pdftk to build again I would really
like to know how to do that! :)
Good luck!
Edgar
signature.asc
Description: This is a digitally signed message part.

