[Gvsig_english] gvSIG and Java on Mac OS X

Benjamin Ducke benjamin.ducke at oxfordarch.co.uk
Fri Oct 17 11:11:11 CEST 2008


OK, I have adjusted the classpath but no luck.

However, things work just fine if I use the systems's
own 1.5 JDK!

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.



More information about the Gvsig_internacional mailing list