[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