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
Attachment:
signature.asc
Description: This is a digitally signed message part.