[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