compiles on amd64 but does not start: Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException at freemind.modes.mindmapmode.MindMapMode.init(MindMapMode.java:43) at freemind.modes.ModesCreator.getMode(ModesCreator.java:83) at freemind.controller.Controller.changeToMode(Controller.java:410) at freemind.main.FreeMind.<init>(FreeMind.java:267) at freemind.main.FreeMind.main(FreeMind.java:531) Is this an installation problem ? I guess it is since a class is missing.
Same for me also, using ~x86
The classes for this "Java API for XML Binding (JAXP)" are part of the source archive (freemind/lib/ant/lib/jaxb-*.jar). The one that contains the missing JAXBException class is jaxb-api.jar Also I did copy all them to the java-classpath ($JAVA_HOME/jre/lib), there are still not observerd and the bug persists. Don't know why. Christoph
BTW: Running freemind using the file freemind-bin-max-0_8_0_rc2.zip from the download page and the includes starter "freemind.sh" works perfect.
Okay, the following dirty workaround does the trick. After installing to /opt/freemind cd /opt unzip /usr/portage/distfiles/freemind-src-0_8_0_RC2.zip freemind/lib/ant/lib/* freemind/freemind.sh chmod +x freemind/freemind.sh Then edit the starter at /opt/freemind to look like this: #!/bin/bash cd /opt/freemind ./freemind.sh That makes freemind work again, but is dead ugly. The ebuild should be modified to include only the jaxb apis in the install-directory and use the new starter. Unfortunally, I have no clue how to do this.
I just remember that I needed to do ebuild digest because the file that was downloaded did not fit the checksum. Maybe they changed the file after the ebuild got online.
Created attachment 56824 [details, diff] patch for ebuild that makes freemind run This patch to ebuild makes freemind run, it simply copies lib/ant/*.jar from src to /opt/freeemind/lib/ant, HTH, H.
Christoph: Putting libs in $JAVA_HOME/jre/lib is not enought, MANIFEST.MF of freemind says to look for jars in lib and lib/ant, that's why your java couldn't find this jars.
sorry, I applied the patch and re-emerged, but got the same (original) error.
Yes, error in it, I'm fixing it now
that solution will not go into the tree, since it would introduce a new packed jars issue. i'm already working on this issue.
seems that dependencies in the tree are missing. i dont have the time today to write an ebuild for them, though :(.
Created attachment 56832 [details, diff] this patch makes freemind run This time it runs.
as i said before, that introduces a packed jar issue which is not acceptable: http://gentoo-wiki.com/Gentoo_Java_Policy
sounds like you are begging for comments .... I don`t understand all this Java Policy. If I can decide to use software that "violates" this policy or sit around and don`t use it - eventhough I want it - then I would decide that this policy does not exist (in my eyes). The problem is that "make" runs "out-of-the-box" but i.e. ant doese sometimes requiere an special setup (bacause of IDE's) and so on. I tried to write ebuilds for java apps. The binaries are portable - the sources are not - so I just use the binaries as long as it works ....
> sounds like you are begging for comments .... ? > I don`t understand all this Java Policy. If I can decide to use software that "violates" this > policy or sit around and don`t use it - eventhough I want it - then I would decide that > this policy does not exist (in my eyes). you can of course maintain your own ebuild in an local overlay, we as a linux distribution aim to maintain clean systems which dont require a user to keep multiple copies of the same library. > The problem is that "make" runs "out-of-the-box" but i.e. ant doese sometimes > requiere an special setup (bacause of IDE's) and so on. I tried to write ebuilds for java > apps. The binaries are portable - the sources are not - so I just use the binaries as long > as it works .... it's much easier and much simpler to write build.xml files than use autotools in a /proper/ way. it's quite hard to do so.ant works out of the box, the problem is that most java programmers aren't as genius as c programmers are. they know more about open source and packaging or atleast they think more about it. in the c world the situation with packed libraries isnt as bad as it is in the java world. another big problem is that most of the java libraries change their apis even in minor revisions. the policy definitly makes sense, and as i said feel free to maintain a system which is poluted which various stuff, but dont expect that this will make it's way into the main tree. so, no need for offense at all.
Easy guys, it's just software. Jan, what you are telling as applying to this package. freemind uses a very old version of the JAXB API (0.75 i think), the package naming has changed since then and - from what I have seen at a quick glance - the API is not for download standalone any more, but as part of some kind of Web Service Development package. That one - of course - needs a graphical installer to be run ..
version is now masked until we have added all dependencies to the tree
Created attachment 65768 [details] /mod_parrot.tgz including all files
Comment on attachment 65768 [details] /mod_parrot.tgz including all files sorry - wrong corner
Created attachment 69173 [details] freemind-0.8.0.ebuild baaa, not easy to enter in the java world. The attached ebuild make freemind run with also the new wonderful plugins. It's not an example of good ebuild I think but usable waiting for java herd providing a better solution (hopeful soon this is *really* a great app). note for developers: used RESTRICT="primaryuri" and uploaded freemind-src-0_8_0.tar.gz to our servers. If the job is done in a week or so you don't need to upload it again ;) ciao, francesco
You need to get rid of the bundled libraries lib/ has dev-java/commons-lang dev-java/jgoodies-froms jarbudler (remove completely) and in lib/ant it has jaxb/relaxng and a few others it needs to use the external dependencies
Created attachment 108095 [details] freemind-0.9.0_beta8.ebuild I wrote the freemind 0.9.0-beta8.ebuild . Changed from freemind-0.8.0-r2.ebuild. When my locale is EN, and the java's version is blackdown-1.4.2.03, I can use it normally. But when I use zh_CN.utf8 or I use java-1.5 or java-1.6, I cannot start it.
(In reply to comment #22) > Created an attachment (id=108095) [edit] > freemind-0.9.0_beta8.ebuild That doesn't really belong to this bug.
Fixed in 0.9.0_beta9. Currently ~x86, see bug 170892 for other keywords.