... the user friendly GPS tool


Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RouteConverter and Mac OS X
#21
(11.04.2010, 08:46)routeconverter Wrote:
(10.04.2010, 19:27)ioeioe Wrote: I think, because OS X 10.6 is a 64-bit System...

But I thought it's possible to execute a 32-bit version of the JVM?

Yes it is possible to execute a 32-bit version of the JVM, but that doesn't change anything. Only the error message is a little bit different.
As you wrote earlier, I also think it is a SWT problem. Maybe you can build a test version with the current SWT 3.6 Milestone-Build?
I found the following page where a user wrote that he had successfully build an app with SWT 3.6M3: http://sourceforge.net/projects/djprojec...ic/3531042

- ioeioe
Reply
#22
(10.04.2010, 22:26)knuddelbacke Wrote:
Quote:Is that typical for an Mac application?

No. But here are some possibilities:

Typically you download a .dmg-file.
[/quote]

Ok, for building a .dmg-file I need to build on a Mac. If that is not an option - is a zip acceptable?

(10.04.2010, 22:26)knuddelbacke Wrote: Not really. After the download of your .zip-file I've found a folder called 'RouteConverterMac-1.33-SNAPSHOT' with an included file 'The RouteConverter UI tool for Mac OS X' in my dowload-folder. Maybe you should compress just the file not the folder with the file?

In the latest prerelease I have changed the names to be as short as possible - please try it, if it makes more sense to you.
--
Christian
Reply
#23
(11.04.2010, 22:43)ioeioe Wrote: Maybe you can build a test version with the current SWT 3.6 Milestone-Build?

Ok, please test the latest prerelease I've just uploaded. The map may be a bit buggy though since I had to change quite some code to make in run under Windows. And I'd expect more problems on Mac OS X.
--
Christian
Reply
#24
(12.04.2010, 10:43)routeconverter Wrote:
(11.04.2010, 22:43)ioeioe Wrote: Maybe you can build a test version with the current SWT 3.6 Milestone-Build?

Ok, please test the latest prerelease I've just uploaded. The map may be a bit buggy though since I had to change quite some code to make in run under Windows. And I'd expect more problems on Mac OS X.

Sorry, no luck. Still no map but the following error:


java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at slash.navigation.gui.Application.invokeNativeInterfaceMethod(Application.java:85)
at slash.navigation.gui.Application.openNativeInterface(Application.java:94)
at slash.navigation.gui.Application.launch(Application.java:103)
at slash.navigation.converter.gui.RouteConverter6.main(RouteConverter6.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at apple.launcher.LaunchRunner.run(LaunchRunner.java:115)
at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:50)
at apple.launcher.JavaApplicationLauncher.launch(JavaApplicationLauncher.java:52)
Caused by: java.lang.IllegalStateException: An error occurred while creating the SWT Display! On a Mac, the Native Interface can only be initialized from the main thread and the Java process needs to be started with the "-XstartOnFirstThread" VM parameter.
at chrriis.dj.nativeswing.swtimpl.NativeInterface$InProcess.initialize(NativeInterface.java:444)
at chrriis.dj.nativeswing.swtimpl.NativeInterface$InProcess.access$0(NativeInterface.java:424)
at chrriis.dj.nativeswing.swtimpl.NativeInterface.initialize(NativeInterface.java:221)
at chrriis.dj.nativeswing.swtimpl.NativeInterface.open(NativeInterface.java:239)
... 15 more
Caused by: org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.widgets.Display.error(Unknown Source)
at org.eclipse.swt.widgets.Display.createDisplay(Unknown Source)
at org.eclipse.swt.widgets.Display.create(Unknown Source)
at org.eclipse.swt.graphics.Device.<init>(Unknown Source)
at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
at chrriis.dj.nativeswing.swtimpl.NativeInterface$InProcess.initialize(NativeInterface.java:441)
... 18 more
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at slash.navigation.gui.Application.invokeNativeInterfaceMethod(Application.java:85)
at slash.navigation.gui.Application.runNativeInterfaceEventPump(Application.java:98)
at slash.navigation.gui.Application.launch(Application.java:123)
at slash.navigation.converter.gui.RouteConverter6.main(RouteConverter6.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at apple.launcher.LaunchRunner.run(LaunchRunner.java:115)
at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:50)
at apple.launcher.JavaApplicationLauncher.launch(JavaApplicationLauncher.java:52)
Caused by: java.lang.IllegalStateException: Cannot run the event pump when the interface is not initialized!
at chrriis.dj.nativeswing.swtimpl.NativeInterface.runEventPump(NativeInterface.java:378)
... 15 more
Logging to /var/folders/Dc/Dcz5aQBKEr8i5F2FOauXPE+++TI/-Tmp-/RouteConverter.log


- ioeioe
Reply
#25
(12.04.2010, 11:39)ioeioe Wrote: Caused by: java.lang.IllegalStateException: An error occurred while creating the SWT Display! On a Mac, the Native Interface can only be initialized from the main thread and the Java process needs to be started with the "-XstartOnFirstThread" VM parameter.

Please download and start again with

java -jar RouteConverterMac.jar

and with

java -XstartOnFirstThread -jar RouteConverterMac.jar

I'm very interested in the console output - especially if it starts with "Before ...."
--
Christian
Reply
#26
Any results?
--
Christian
Reply
#27
Hi, my first post here. I'm on OSX 10.5.8 and just installed the latest 1.6.0_20 java update for 10.5.8 via <http://muchsoft.com/java/macosxjavaversions.html>.
I also downloaded both the RouteconverterMac.zip and the Routeconverter.jar from your downloads page (so not the prereleases as I assume they are now older than the one on the downloads page).
I activated the the 1.6 JDK via the Java preferences.

In the terminal "java -version" gave
Code:
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02-279-9M3165)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01-279, mixed mode)

The .app doesn't run at all. I opened it from the command line to get stderr/stdout in the terminal with
Code:
open RouteConverter.app
and got
Code:
LSOpenFromURLSpec() failed with error -10810 for the file /Users/harryvanderwolf/Documents/Navigon/RouteConverter/RouteConverter.app
This normally means that the internal structure from the bundle is not correct.

Then I started the jar with
Code:
java -jar RouteConverter.jar
and got
Code:
java -jar RouteConverter.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:676)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:317)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)
The jar works fine apart from the map screen.
It starts with an error "Can't open <blah blah> due to unknow file type" (note:translated back to english from dutch) for the source. This is due to the fact that the application somehow tries to open a folder instead of a file. This only happens when no gps file hasn't been opened. Once a gps file has been opened this error doesn't return.

And then I started the jar with
Code:
java -XstartOnFirstThread -jar RouteConverter.jar
which gave the following error
Code:
2010-05-27 19:00:09.576 java[16310:c0b] [Java CocoaComponent compatibility mode]: Enabled
2010-05-27 19:00:09.613 java[16310:c0b] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at slash.navigation.gui.Application.invokeNativeInterfaceMethod(Application.java:85)
    at slash.navigation.gui.Application.openNativeInterface(Application.java:94)
    at slash.navigation.gui.Application.launch(Application.java:103)
    at slash.navigation.converter.gui.RouteConverter6.main(RouteConverter6.java:48)
Caused by: java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM
    at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
    at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
    at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
    at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at org.eclipse.swt.graphics.Device.<clinit>(Unknown Source)
    at chrriis.dj.nativeswing.swtimpl.NativeInterface$InProcess.initialize(NativeInterface.java:425)
    at chrriis.dj.nativeswing.swtimpl.NativeInterface$InProcess.access$0(NativeInterface.java:424)
    at chrriis.dj.nativeswing.swtimpl.NativeInterface.initialize(NativeInterface.java:221)
    at chrriis.dj.nativeswing.swtimpl.NativeInterface.open(NativeInterface.java:239)
    ... 8 more
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at slash.navigation.gui.Application.invokeNativeInterfaceMethod(Application.java:85)
    at slash.navigation.gui.Application.runNativeInterfaceEventPump(Application.java:98)
    at slash.navigation.gui.Application.launch(Application.java:123)
    at slash.navigation.converter.gui.RouteConverter6.main(RouteConverter6.java:48)
Caused by: java.lang.IllegalStateException: Cannot run the event pump when the interface is not initialized!
    at chrriis.dj.nativeswing.swtimpl.NativeInterface.runEventPump(NativeInterface.java:378)
    ... 8 more
Logging to /var/folders/+R/+RmeG2o8EleS+UbdOPEbWE+++TI/-Tmp-/RouteConverter.log
Now this "-XstartOnFirstThread" is the worst option you can use. The jar hangs completely.
When using "java -XstartOnFirstThread -jar RouteConverter.jar" I can cill it by Ctrl-C from the command line. Whne using "java -XstartOnFirstThread -jar RouteConverter.jar &", which I normally do, I had to kill the process from the command line.

Do you have more options for me to test?
I built another mac bundle using Platypus (I'm the OSX bundle maintainer for Avidemux. I also use Platypus there), you can find it here: <http://panorama.dyndns.org/tmp/RouteConverter.app.zip/RouteConverter.app.zip>.
It needs some improvements and an icon but that's easy to fix.
I simply zipped it for your convenience. The normal way of distribution on OSX would be a .dmg.
Off course it only runs when java 6 is on your system.
Reply
#28
(27.05.2010, 18:23)hvdwolf Wrote: Hi, my first post here.

Welcome to this forum!

(27.05.2010, 18:23)hvdwolf Wrote: so not the prereleases as I assume they are now older than the one on the downloads page

That assumption is not valid for my release process. The prereleases are always the latest versions you can get. And I update them at least once a week.

(27.05.2010, 18:23)hvdwolf Wrote: The .app doesn't run at all. I opened it from the command line to get stderr/stdout in the terminal with
Code:
open RouteConverter.app
and got
Code:
LSOpenFromURLSpec() failed with error -10810 for the file /Users/harryvanderwolf/Documents/Navigon/RouteConverter/RouteConverter.app
This normally means that the internal structure from the bundle is not correct.

I'm using the Maven osxappbundle-maven-plugin and thought it would produce reasonable bundles... Any hints regarding the pom.xml are appreciated.

(27.05.2010, 18:23)hvdwolf Wrote: Then I started the jar with
Code:
java -jar RouteConverter.jar
and got
Code:
java -jar RouteConverter.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file

From which in conclude that this does not start the Java 6 but the Java 5?

(27.05.2010, 18:23)hvdwolf Wrote: The jar works fine apart from the map screen.

It worked after the UnsupportedClassVersionError?

(27.05.2010, 18:23)hvdwolf Wrote: It starts with an error "Can't open <blah blah> due to unknow file type" (note:translated back to english from dutch) for the source. This is due to the fact that the application somehow tries to open a folder instead of a file.

Some users reported this to me and I'm confused... do you have an idea what can cause this error?

(27.05.2010, 18:23)hvdwolf Wrote: And then I started the jar with
Code:
java -XstartOnFirstThread -jar RouteConverter.jar
which gave the following error
Code:
Caused by: java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM

This is the real issue - can you manage to use the 32-bit Java 6 version? Or is it easier if I'd package a RouteConverter with an 64-bit SWT-library?

(27.05.2010, 18:23)hvdwolf Wrote: Do you have more options for me to test?

The ones above? Would be great!

(27.05.2010, 18:23)hvdwolf Wrote: I built another mac bundle using Platypus (I'm the OSX bundle maintainer for Avidemux. I also use Platypus there), you can find it here: <http://panorama.dyndns.org/tmp/RouteConverter.app.zip/RouteConverter.app.zip>.

Unfortunately I get a 404 for that url.

(27.05.2010, 18:23)hvdwolf Wrote: It needs some improvements and an icon but that's easy to fix.
I simply zipped it for your convenience. The normal way of distribution on OSX would be a .dmg.

I know but the osxappbundle-maven-plugin states:

Quote:Things to be aware of:
* The DMG disk image will only be built on OS X
--
Christian
Reply
#29
(27.05.2010, 22:16)routeconverter Wrote:
(27.05.2010, 18:23)hvdwolf Wrote: I built another mac bundle using Platypus (I'm the OSX bundle maintainer for Avidemux. I also use Platypus there), you can find it here: <http://panorama.dyndns.org/tmp/RouteConverter.app.zip/RouteConverter.app.zip>.

Unfortunately I get a 404 for that url.

I'm very sorry. It should be <http://panorama.dyndns.org/tmp/RouteConverter.app.zip>. I will create another bundle with an error check on the java version and with an icon. I saw an icon somewhere on the forum as far as I can remember.
I'll test again tonight.
Reply
#30
(28.05.2010, 07:03)hvdwolf Wrote: I saw an icon somewhere on the forum as far as I can remember.

I use
  • this ico for Windows
  • derived from this png
--
Christian
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)