[Gvsig_english] gvSIG and Java on Mac OS X
Benjamin Ducke
benjamin.ducke at oxfordarch.co.uk
Fri Oct 17 12:16:48 CEST 2008
Hi Mijail,
> For example, if you haven't tried yet, I would try changing in your
> script this:
> JAVA_VM="/usr/bin/java"
> and see if it still fails in the same way.
It works just fine then, using the system's default VM.
>
> Also, have you installed JAI-ImageIO in Soylatte?
Yes. I put it into [...]/jre/lib/ext/
>
> And, what exactly is the problem with Java 1.5 performance? (in case
> there is something we can do...)
Well, Java 6 has much improved memory management and garbage collection.
On all Windows and Linux systems that I have tried this on, swapping
the default 1.5 VM for a 1.6 VM has resulted in a significantly more
responsive user interface -- and thus happier users :).
If you want, I can put the version of gvSIG I am using, including the
soylatte JRE and my script on an FTP server and yo can play around
with it.
Ben
>
> Cheers!
>
>
>> Apparently, something is missing in the Soylatte JRE.
>>
>> I think I will give up on this for now, it is just taking
>> too much time (thanks, Apple for f****** up Java 6 on OS X like that!).
>> Will have to advise users on Mac OS X 10.4 that they won't be able
>> to get good Java performance for now and will have to upgrade to
>> 10.5 if they need it (talk about vendor lock-in...).
>>
>> Ben
>>
>>
>> Benjamin Ducke wrote:
>>> Mijail,
>>>> You should NOT touch the symlinks in the JavaVM framework unless you
>>>> have a very good reason and understanding of why. Usually you should
>>>> just use the Java Preferences app pointed to by Henning.
>>> Yeah, that's what I found out, too ;)
>>>>
>>>> And in your case, using SoyLatte, you should be already independent
>>>> of that.
>>>>
>>>> Which I guess is what you have run into when you say that gvSIG
>>>> chooses Java 1.5. I don't know how SoyLatte gets installed, but I
>>>> don't expect it to weave itself into the OS X Java installation,
>>>> without which the JavaApplicationStub inside
>>>> gvSIG.app/Contents/MacOS (which can be in part controlled with the
>>>> Java Preferences.app) will not go anywhere near your SoyLatte.
>>> Yes, the problem is that Soylatte is a standard JRE distribution
>>> ("bin","lib", ...), not one of those Apple Frameworks, so there is no
>>> way of cleanly integrating that into the rather complex Apple system
>>> of Java deployment.
>>>>
>>>> So I guess your shell script is the way to go to use SoyLatte.
>>> Well, it's almost working, so I will keep tuning it.
>>> I'll see if adjusting the classpath as you suggested fixes the
>>> problem. If not, I'll report back to this list.
>>> Thanks for the help,
>>> Ben
>>> P.S.:
>>> I am running this on Intel Mac OS X 10.4
>>>>
>>>> So what would I guess the problem is? We know CRS is not working in
>>>> PowerPC, BUT its exact failure mode was that it caused an exception
>>>> when you tried to load a layer. So you should be able to at least
>>>> show the gvSIG desktop and play a bit with it, even with the CRS
>>>> problem (which you can fix by just taking away the CRS extension, as
>>>> Agustin demonstrated).
>>>>
>>>> To me, it certainly looks like it is failing to find the CRS
>>>> extension. Not sure though.
>>>> I would suggest checking the classpath, since the one you are using
>>>> looks different to the one we are using in OS X. You can check it in
>>>> the file gvSIG.app/Contents/Info.plist, which is XML, and which
>>>> contains this classpath:
>>>> <key>ClassPath</key>
>>>> <array>
>>>> <string>andami.jar</string>
>>>> <string>lib/log4j-1.2.8.jar</string>
>>>> <string>lib/beans.jar</string>
>>>> <string>lib/gvsig-i18n.jar</string>
>>>> <string>lib/iver-utiles.jar</string>
>>>> <string>lib/castor-0.9.5.3-xml.jar</string>
>>>> <string>lib/crimson.jar</string>
>>>> <string>lib/xerces_2_5_0.jar</string>
>>>> <string>lib/javaws.jar</string>
>>>> <string>lib/xml-apis.jar</string>
>>>> <string>lib/JWizardComponent.jar</string>
>>>> <string>lib/looks-2.0.2.jar</string>
>>>> <string>lib/kxml2.jar</string>
>>>> <string>lib/jcalendar.jar</string>
>>>> <string>lib/xmlrpc-2.0.1.jar</string>
>>>> <string>lib/commons-codec-3.1.zip</string>
>>>> <string>lib/commons-collections-3.1.zip</string>
>>>> <string>lib/commons-pool-1.2.zip</string>
>>>> <string>lib/commons-dbcp-1.0-dev-20020806.zip</string>
>>>> <string>lib/jh.jar</string>
>>>> </array>
>>>>
>>>>
>>>> Let me know if that helps (or if I can help you avoid those gray
>>>> hairs :). I am in the process of slipping out of the gvSIG project,
>>>> but for some time I will still try to make myself available.
>>>>
>>>>
>>>> El 16/10/2008, a las 16:00, Henning Lorenz escribió:
>>>>
>>>>> You can set your Java Preferences in
>>>>> /Applications/Utilities/Java/Java Preferences.app
>>>>>
>>>>> Henning
>>>>>
>>>>> On 2008-10-16, at 15:25 , Benjamin Ducke wrote:
>>>>>
>>>>>> Hi Agustin,
>>>>>>
>>>>>> thanks for those pointers. I will try linking to my JRE as you
>>>>>> suggested, just to make sure that everything runs OK.
>>>>>>
>>>>>> But for a "proper" solution, I would like to avoid anything
>>>>>> that touches system files, so the installation can be completely
>>>>>> self-contained and won't require root access.
>>>>>>
>>>>>> Awesome that you got gvSIG running on PowerPCs, too.
>>>>>> I will have to take a look at that. For now, the Intel version
>>>>>> is giving me enough gray hair ...
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Ben
>>>>>>
>>>>>> Agustin Diez Castillo wrote:
>>>>>>> Ben,
>>>>>>> You can force Mac yo use a particular version of Java.
>>>>>>> All versions reside at
>>>>>>> /System/Library/Frameworks/JavaVM.framework/Versions
>>>>>>> and there a link point CurrentJDK to the version of your choice.
>>>>>>> So you only need to point CurrentJDK to your 1.6 JRE.
>>>>>>> But anyhow if you're in PPC machine you need to take out the crs
>>>>>>> folder (this is true after the 913 build including 12xx). I've
>>>>>>> prepared a Mac version with sextante and gvSIG mobile for PPC
>>>>>>> machines [1].
>>>>>>> Agustin
>>>>>>> [1]
>>>>>>> http://gvsigmac.blogspot.com/2008/08/gvsig-112-running-on-mac-ppcs.html
>>>>>>>
>>>>>>> El Oct 16, 2008, a las 2:47 PM, Benjamin Ducke escribió:
>>>>>>>> Dear developers/list,
>>>>>>>>
>>>>>>>> I am currently trying to understand how Java works on Mac OS X.
>>>>>>>> Since Apple decides what Java gets installed on any version of
>>>>>>>> Mac OS X, not the user, I would like to be able and bundle my own
>>>>>>>> 1.6 JRE with gvSIG, so that I can deploy an identical version on
>>>>>>>> any Mac.
>>>>>>>>
>>>>>>>> As a JRE, I am using the Soylatte FreeBSD port and that seems to
>>>>>>>> run
>>>>>>>> fine, but gvSIG always picks up the system's outdated Java 1.5
>>>>>>>> (I am
>>>>>>>> running on Mac OS 10.4 with no intentions whatsoever to update
>>>>>>>> to 10.5).
>>>>>>>>
>>>>>>>> Now, I have tried to recreate the whole Java startup procedure
>>>>>>>> using
>>>>>>>> a shell script, which I modeled after the one for Linux:
>>>>>>>>
>>>>>>>> ----
>>>>>>>>
>>>>>>>> #!/bin/sh
>>>>>>>> # gvSIG.sh: startup script for gvSIG on Mac OS X
>>>>>>>> PATH_TO_GVSIG="/Users/bartsimpson/Desktop/gvSIG1.1.2.app"
>>>>>>>> PATH_TO_RES="$PATH_TO_GVSIG/Contents/Resources/gvSIG/gvSIG 1.1.2
>>>>>>>> build 1045.app/Contents/Resources"
>>>>>>>>
>>>>>>>> export DYLD_LIBRARY_PATH="$PATH_TO_RES/NativeLibs"
>>>>>>>> export
>>>>>>>> PROJ_LIB="$PATH_TO_RES/Java/gvSIG/extensiones/org.gvsig.crs/data"
>>>>>>>>
>>>>>>>> cd "$PATH_TO_RES/Java"
>>>>>>>>
>>>>>>>> # Setup Java environment and run gvSIG
>>>>>>>>
>>>>>>>> # Java tuning settings
>>>>>>>> MAX_HEAP=512
>>>>>>>> INI_HEAP=512
>>>>>>>>
>>>>>>>> JAVA_VM="/Users/bartsimpson/Desktop/soylatte16-i386-1.0.3/bin/java"
>>>>>>>>
>>>>>>>> $JAVA_VM -Djava.library.path="../NativeLibs" -cp
>>>>>>>> andami.jar:./lib/gvsig-i18n.jar:./lib/beans.jar:./lib/log4j-1.2.8.jar:./lib/iver-utiles.jar:./lib/castor-0.9.5.3-xml.jar:./lib/crimson.jar:./lib/xerces_2_5_0.jar:./lib/javaws.jar:./lib/xml-apis.jar:./lib/looks-2.0.2.jar:./lib/JWizardComponent.jar:./lib/kxml2.jar:./lib/jcalendar.jar:./lib/jh.jar
>>>>>>>> -Xms${INI_HEAP}M -Xmx${MAX_HEAP}M com.iver.andami.Launcher gvSIG
>>>>>>>> gvSIG/extensiones "$@"
>>>>>>>>
>>>>>>>> ----
>>>>>>>>
>>>>>>>> This goes almost all the way to starting gvSIG, but eventually
>>>>>>>> fails:
>>>>>>>>
>>>>>>>> java.lang.reflect.InvocationTargetException
>>>>>>>> at java.awt.EventQueue.invokeAndWait(EventQueue.java:997)
>>>>>>>> at
>>>>>>>> javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1323)
>>>>>>>> at com.iver.andami.Launcher.main(Unknown Source)
>>>>>>>> Caused by: java.lang.NoClassDefFoundError: Could not initialize
>>>>>>>> class com.iver.cit.gvsig.fmap.crs.CRSFactory
>>>>>>>> at com.iver.cit.gvsig.project.Project.<clinit>(Unknown Source)
>>>>>>>> at
>>>>>>>> com.iver.cit.gvsig.project.ProjectFactory.createProject(Unknown
>>>>>>>> Source)
>>>>>>>> at
>>>>>>>> com.iver.cit.gvsig.ProjectExtension.loadInitialProject(Unknown
>>>>>>>> Source)
>>>>>>>> at
>>>>>>>> com.iver.cit.gvsig.ProjectExtension.postInitialize(Unknown Source)
>>>>>>>> at com.iver.andami.Launcher.postInitializeExtensions(Unknown
>>>>>>>> Source)
>>>>>>>> at com.iver.andami.Launcher.access$600(Unknown Source)
>>>>>>>> at com.iver.andami.Launcher$4.run(Unknown Source)
>>>>>>>> at
>>>>>>>> java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
>>>>>>>> at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
>>>>>>>> at com.iver.andami.ui.AndamiEventQueue.dispatchEvent(Unknown
>>>>>>>> Source)
>>>>>>>> at
>>>>>>>> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
>>>>>>>>
>>>>>>>> at
>>>>>>>> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
>>>>>>>>
>>>>>>>> at
>>>>>>>> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
>>>>>>>>
>>>>>>>> at
>>>>>>>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
>>>>>>>>
>>>>>>>> at
>>>>>>>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
>>>>>>>>
>>>>>>>> at
>>>>>>>> java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Can someone on this list make sense of that error message?
>>>>>>>> Is the problem with the CRS library? Did I forget to include
>>>>>>>> something into the Java classpath or the system's linker path?
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> Ben
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Benjamin Ducke
>>>>>>>> Senior Applications Support and Development Officer
>>>>>>>>
>>>>>>>> Oxford Archaeology Ltd
>>>>>>>> Janus House
>>>>>>>> Osney Mead
>>>>>>>> OX2 0ES
>>>>>>>> Oxford, U.K.
>>>>>>>>
>>>>>>>> Tel: +44 (0)1865 263 800 (switchboard)
>>>>>>>> Tel: +44 (0)1865 980 758 (direct)
>>>>>>>> Fax :+44 (0)1865 793 496
>>>>>>>> benjamin.ducke at oxfordarch.co.uk
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ------
>>>>>>>> Files attached to this email may be in ISO 26300 format (OASIS
>>>>>>>> Open Document Format). If you have difficulty opening them,
>>>>>>>> please visit http://iso26300.info for more information.
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Gvsig_internacional mailing list
>>>>>>>> Gvsig_internacional at runas.cap.gva.es
>>>>>>>> http://runas.cap.gva.es/mailman/listinfo/gvsig_internacional
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Gvsig_internacional mailing list
>>>>>>> Gvsig_internacional at runas.cap.gva.es
>>>>>>> http://runas.cap.gva.es/mailman/listinfo/gvsig_internacional
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Benjamin Ducke
>>>>>> Senior Applications Support and Development Officer
>>>>>>
>>>>>> Oxford Archaeology Ltd
>>>>>> Janus House
>>>>>> Osney Mead
>>>>>> OX2 0ES
>>>>>> Oxford, U.K.
>>>>>>
>>>>>> Tel: +44 (0)1865 263 800 (switchboard)
>>>>>> Tel: +44 (0)1865 980 758 (direct)
>>>>>> Fax :+44 (0)1865 793 496
>>>>>> benjamin.ducke at oxfordarch.co.uk
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> ------
>>>>>> Files attached to this email may be in ISO 26300 format (OASIS
>>>>>> Open Document Format). If you have difficulty opening them, please
>>>>>> visit http://iso26300.info for more information.
>>>>>>
>>>>>> _______________________________________________
>>>>>> Gvsig_internacional mailing list
>>>>>> Gvsig_internacional at runas.cap.gva.es
>>>>>> http://runas.cap.gva.es/mailman/listinfo/gvsig_internacional
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Gvsig_internacional mailing list
>>>>> Gvsig_internacional at runas.cap.gva.es
>>>>> http://runas.cap.gva.es/mailman/listinfo/gvsig_internacional
>>>>
>>>>
>>>> _______________________________________________
>>>> Gvsig_internacional mailing list
>>>> Gvsig_internacional at runas.cap.gva.es
>>>> http://runas.cap.gva.es/mailman/listinfo/gvsig_internacional
>>>>
>>>>
>>
>>
>> --
>> Benjamin Ducke
>> Senior Applications Support and Development Officer
>>
>> Oxford Archaeology Ltd
>> Janus House
>> Osney Mead
>> OX2 0ES
>> Oxford, U.K.
>>
>> Tel: +44 (0)1865 263 800 (switchboard)
>> Tel: +44 (0)1865 980 758 (direct)
>> Fax :+44 (0)1865 793 496
>> benjamin.ducke at oxfordarch.co.uk
>>
>>
>>
>>
>> ------
>> Files attached to this email may be in ISO 26300 format (OASIS Open
>> Document Format). If you have difficulty opening them, please visit
>> http://iso26300.info for more information.
>>
>> _______________________________________________
>> Gvsig_internacional mailing list
>> Gvsig_internacional at runas.cap.gva.es
>> http://runas.cap.gva.es/mailman/listinfo/gvsig_internacional
>
>
> _______________________________________________
> Gvsig_internacional mailing list
> Gvsig_internacional at runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_internacional
>
>
--
Benjamin Ducke
Senior Applications Support and Development Officer
Oxford Archaeology Ltd
Janus House
Osney Mead
OX2 0ES
Oxford, U.K.
Tel: +44 (0)1865 263 800 (switchboard)
Tel: +44 (0)1865 980 758 (direct)
Fax :+44 (0)1865 793 496
benjamin.ducke at oxfordarch.co.uk
------
Files attached to this email may be in ISO 26300 format (OASIS Open Document Format). If you have difficulty opening them, please visit http://iso26300.info for more information.
More information about the Gvsig_internacional
mailing list