Partial success installing jhandles in Octave-Mingw

View: New views
1 Messages — Rating Filter:   Alert me  

Partial success installing jhandles in Octave-Mingw

by Philip Nienhuis :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

As announced earlier here's a report on jhandles in the Octave for
Windows MingW binaries (3.2.0 & 3.2.2).
The main purpose of this: Hopefully it is of use for the developers.

1. I've installed the java package (java-1.2.6.tar.gz) using the latest
fixes; see this thread dated 2009-09-22 17:09:
http://sourceforge.net/mailarchive/forum.php?thread_name=4ABA5B4B.2020502%40hccnet.nl&forum_name=octave-dev

2. Initially I've just copied the jogl include files to the /include dir
in the octave-3.2.0-MingW installation dir, & the jogl jar & dll files
to the /bin dir.

(I think another option may be to add the directory where jogl is
installed to the java include path environment variable. On my box it
then looks like this:

Octave-3.2.0: 1 > getenv("JAVA_INCS")
ans = -I:C:/Programs/java/jdk1.6.0_16/include
-I:C:/Programs/java/jdk1.6.0_16/include/win32 -I:C:/Programs/jogl/lib
Octave-3.2.0: 2 >

Also, the jogl/lib dir must be added to the PATH environment variable.

Compared to simply copying the jogl files into the octave installation
directory tree, this will lead to some extra, often unneeded, clutterin
various paths and files outside of octave. After all, on my box jogl is
only used for octave jhandles.)

Anyway, the next step, installing jhandles-0.3.5.tar.gz leads to:

Octave-3.2.0: 7 > pkg install -auto jhandles-0.3.5.tar.gz
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
gl2ps_java.c: In function 'Java_org_octave_graphics_GL2PS_gl2psBeginPage':
gl2ps_java.c:40: warning: passing argument 3 of 'gl2psBeginPage' from
incompatible pointer type
gl2ps_java.c: In function
'Java_org_octave_graphics_GL2PS_gl2psBeginViewport':
gl2ps_java.c:138: warning: passing argument 1 of 'gl2psBeginViewport'
from incompatible pointer type

warning: gen_doc_cache: unusable help text in 'addlistener'. Ignoring
function.
warning: gen_doc_cache: unusable help text in 'addprop'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'allchild'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'bar3'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'bar3h'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'colorbar'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'drawnow'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'gcbf'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'gcbo'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'hggroup'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'isprop'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'legend'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'light'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'mat2java'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'reset_property'. Ignoring
function.
warning: gen_doc_cache: unusable help text in 'stem3'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'uicontrol'. Ignoring
function.
warning: gen_doc_cache: unusable help text in 'uipanel'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'uiresume'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'uiwait'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'waitfor'. Ignoring function.
Octave-3.2.0: 8 >

Well: so far, so good.

Then:

Octave-3.2.0: 8 >cd
'C:\Programs\Octave\3.2.0_gcc-4.3.0\share\octave\packages\jhandles-0.3.5\doc'
# (one long line!!)
Octave-3.2.0: 9 > testX
m_view =

    1.00000   0.00000   0.00000  -0.50000
    0.00000   1.00000   0.00000  -0.50000
    0.00000   0.00000  -1.00000   9.16025
    0.00000   0.00000   0.00000   1.00000

m_proj =

    1.00000   0.00000   0.00000   0.00000
    0.00000   1.00000   0.00000   0.00000
    0.00000   0.00000   1.00000   0.00000
    0.00000   0.00000   0.00000   1.00000

error: `fig_pos' undefined near line 152 column 51
error: evaluating argument list element number 2
error: called from:
error:
C:\Programs\Octave\3.2.0_gcc-4.3.0\share\octave\packages\jhandles-0.3.5\doc\testX.m
at line
  152, column 16
Octave-3.2.0: 9 >

...And a figure appears with fairly basic functionality: just three
buttons, the left one inactive.

Trying to close it using the close button lead to these errors:

Octave-3.2.0: 9 > Exception in thread "AWT-EventQueue-0"
java.lang.UnsatisfiedLinkError: org.octave.
Octave.needThreadedInvokation()Z
         at org.octave.Octave.needThreadedInvokation(Native Method)
         at org.octave.Octave.invokeLater(Octave.java:151)
         at
org.octave.graphics.OctaveCallback.execute(OctaveCallback.java:58)
         at
org.octave.graphics.CallbackProperty.execute(CallbackProperty.java:81)
         at
org.octave.graphics.FigureObject.windowClosing(FigureObject.java:409)
         at java.awt.Window.processWindowEvent(Unknown Source)
         at java.awt.Window.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Window.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown
Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown
Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)

The only way to get rid of the figure is the close () command.


Basic plots work, some more complicated plots too. However, e.g., mixing
cell string arrays and strings in calls to legend leads to errors, while
gnuplot happily accepts this.
There are some raw edges left (e.g., resizing the picture leads to a
mess on screen; automatic redraw doesn't function properly yet).
So, for the time being, I'd prefer gnuplot.

In conclusion:
jhandles graphics works (and seemingly a little bit faster than
gnuplot), but not quite as slick as is in the deprecated
octave-MSVC-3.0.3 version.

Anyway: Thank you, developers!

Philip

------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Octave-dev mailing list
Octave-dev@...
https://lists.sourceforge.net/lists/listinfo/octave-dev