[Gvsig_english] gvSIG and Java on Mac OS X

Benjamin Ducke benjamin.ducke at oxfordarch.co.uk
Fri Oct 17 10:19:31 CEST 2008


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.



More information about the Gvsig_internacional mailing list