[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: java package
From: |
Michael Goffioul |
Subject: |
Re: java package |
Date: |
Wed, 9 May 2012 18:28:24 +0100 |
On Wed, May 9, 2012 at 6:09 PM, Alexander Hansen
<address@hidden> wrote:
> On 5/9/12 9:49 AM, John W. Eaton wrote:
>> I received a request to make the java package from Octave Forge part
>> of Octave. A number of the functions provided by the Octave Forge
>> java package are distributed as part of Matlab, not a separate
>> toolbox, so it makes sense to me to include them in Octave as well.
>> Is there any objection to doing that?
>>
>> jwe
>
> The existing java package has a couple of issues on Mac OS X:
>
> 1) It sets JAVA_INCS improperly for current OS X Java, so it doesn't
> build out of the box. Using
>
> JAVA_INCS="-I/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers"
>
> works on 10.5, 10.6, and 10.7.
>
> 2) Items like msgbox() which are supposed to open up a window don't
> seem to work:
>
> octave-3.4.3:4> msgbox("foo")
> 2012-05-09 10:04:28.573 octave-3.4.3[88991:1603] Apple AWT Java VM was
> loaded on first thread -- can't start AWT.
> error: [java] java.lang.InternalError: Can't start the AWT because Java
> was started on the first thread. Make sure StartOnFirstThread is not
> specified in your application's Info.plist or on the command line
> error: called from:
> error: /sw/share/octave/3.4.3/packages/java-1.2.8/msgbox.m at line 52,
> column 7
>
> (previously reported).
That's unfortunately a general problem on the Mac OS X platform: you
must run a GUI loop in the main program thread, which in the case of
octave is the main readline loop. Any toolkit that I have used suffer
from the same problem. This is the main (only?) reason that you are
warned in Qt when creating a QApplication outside of the main thread.
Maybe there are workarounds for that problem, but that would require a
knowledgeable developer using Mac OS X, and I'm not.
Michael.