octave-maintainers
[Top][All Lists]
Advanced

[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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]