Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 89893 - app-misc/freemind uses bundled .jar files
Summary: app-misc/freemind uses bundled .jar files
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High normal
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on: 79816
Blocks:
  Show dependency tree
 
Reported: 2005-04-20 23:50 UTC by Adrian Lambeck
Modified: 2007-05-07 12:58 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
patch for ebuild that makes freemind run (freemind-0.8.0_rc2.ebuild.patch,331 bytes, patch)
2005-04-21 04:54 UTC, Hubert Iwaniuk
Details | Diff
this patch makes freemind run (freemind-0.8.0_rc2.ebuild.patch,605 bytes, patch)
2005-04-21 07:20 UTC, Hubert Iwaniuk
Details | Diff
/mod_parrot.tgz including all files (mod_parrot.tgz,1.68 KB, application/x-compressed)
2005-08-12 09:06 UTC, Adrian Lambeck
Details
freemind-0.8.0.ebuild (freemind-0.8.0.ebuild,1.10 KB, text/plain)
2005-09-24 11:11 UTC, Francesco R. (RETIRED)
Details
freemind-0.9.0_beta8.ebuild (freemind-0.9.0_beta8.ebuild,1.26 KB, text/plain)
2007-01-25 07:52 UTC, gorf
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Adrian Lambeck 2005-04-20 23:50:03 UTC
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.
Comment 1 Dave Pretty 2005-04-21 00:12:55 UTC
Same for me also, using ~x86
Comment 2 Dead Schorsch 2005-04-21 01:33:56 UTC
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
Comment 3 Dead Schorsch 2005-04-21 01:39:05 UTC
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.
Comment 4 Dead Schorsch 2005-04-21 01:48:46 UTC
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.

Comment 5 Adrian Lambeck 2005-04-21 04:44:36 UTC
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.
Comment 6 Hubert Iwaniuk 2005-04-21 04:54:13 UTC
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.
Comment 7 Hubert Iwaniuk 2005-04-21 05:21:31 UTC
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.
Comment 8 Dave Pretty 2005-04-21 05:33:03 UTC
sorry, I applied the patch and re-emerged, but got the same (original) error.
Comment 9 Hubert Iwaniuk 2005-04-21 06:36:29 UTC
Yes, error in it, I'm fixing it now
Comment 10 Jan Brinkmann (RETIRED) gentoo-dev 2005-04-21 06:59:50 UTC
that solution will not go into the tree, since it would introduce a new packed jars issue. i'm already working on this issue.
Comment 11 Jan Brinkmann (RETIRED) gentoo-dev 2005-04-21 07:17:13 UTC
seems that dependencies in the tree are missing. i dont have the time today to write an ebuild for them, though :(.
Comment 12 Hubert Iwaniuk 2005-04-21 07:20:33 UTC
Created attachment 56832 [details, diff]
this patch makes freemind run

This time it runs.
Comment 13 Jan Brinkmann (RETIRED) gentoo-dev 2005-04-21 07:26:40 UTC
as i said before, that introduces a packed jar issue which is not acceptable:

http://gentoo-wiki.com/Gentoo_Java_Policy
Comment 14 Adrian Lambeck 2005-04-21 07:47:29 UTC
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 .... 
Comment 15 Jan Brinkmann (RETIRED) gentoo-dev 2005-04-21 07:56:38 UTC
> 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.

Comment 16 Dead Schorsch 2005-04-21 08:13:10 UTC
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 ..
Comment 17 Jan Brinkmann (RETIRED) gentoo-dev 2005-04-21 08:40:00 UTC
version is now masked until we have added all dependencies to the tree
Comment 18 Adrian Lambeck 2005-08-12 09:06:56 UTC
Created attachment 65768 [details]
/mod_parrot.tgz including all files
Comment 19 Adrian Lambeck 2005-08-12 09:08:03 UTC
Comment on attachment 65768 [details]
/mod_parrot.tgz including all files

sorry - wrong corner
Comment 20 Francesco R. (RETIRED) gentoo-dev 2005-09-24 11:11:11 UTC
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
Comment 21 Thomas Matthijs (RETIRED) gentoo-dev 2005-09-24 11:40:49 UTC
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
Comment 22 gorf 2007-01-25 07:52:30 UTC
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.
Comment 23 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2007-01-25 11:11:44 UTC
(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.

Comment 24 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2007-05-07 12:58:40 UTC
Fixed in 0.9.0_beta9. Currently ~x86, see bug 170892 for other keywords.