help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Linux Jhandle print command, GL2PS error and png screen capture beha


From: Michael Goffioul
Subject: Re: Linux Jhandle print command, GL2PS error and png screen capture behavior
Date: Wed, 16 Jul 2008 12:38:57 +0200

On Sat, Jul 12, 2008 at 10:51 PM, Scott Haynes <address@hidden> wrote:
>
> I'm running Jhandles 0.3.3 on Fedora Linux. If I make a simple plot, ie
> "plot(0:10)" and then call the print statement, "print('-dpng','junk.png')"
> the figure will be printed. If however another window is in front of the
> figure window then the print statement appears to do a screen capture of the
> figure window area and makes a png file of whatever is visible over the
> figure.
>
> As an alternative I tried to call print and make a  postscript file, ie
> "print('-dps','junk.ps')".
> I received the following error.
>
> error: [java] javax.media.opengl.GLException:
> java.lang.NoClassDefFoundError: Could not initialize class
> org.octave.graphics.GL2PS
>
> error: evaluating switch command near line 25, column 7
>
> error: evaluating if command near line 21, column 5
>
> error: evaluating if command near line 19, column 3
>
> error: called from `drawnow' in file
> `/home/scott/apps/jhandles-0.3.3/inst/drawnow.m'
>
>
> I do not know enough java to know what this error means but is says it can't
> find something, a  "ClassDef" . I made sure "libgl2ps_java.so"  was in my
> LD_LIBRARY_PATH and made a symbolic link to "gl2ps_java.so" as this was how
> the library appeared in "gl2ps.java". The exact syntax is below.
>
>                System.load(System.getProperty("octave.jhandles.path") +
> java.io.File.separator +
>                        System.mapLibraryName("gl2ps_java"));
>
> I may be going off in the wrong direction, but here is the real issue.  I am
> writing a script which will run all the time and while I am pleased with the
> fact that the png output works (sort of). When the screen saver goes on or
> the monitor goes to sleep and octave stops making images.  My hope is that
> fixing the postscript output will fix this problem but perhaps it won't and
> I need to go about this another way.
>
> Any suggestions?

Normally, the "mapLibraryName' call maps the name to a platform dependent
library name. In your case, it should map gl2ps_java to libgl2ps_java.so,
so your symbolic link didn't make any change. The library should be in
java library path *before* starting the JVM, but in this specific case,
the library is loaded from a specific path (given by the property
octave.jhandles.path). You can check the following (at octave prompt):

java_invoke('java.lang.System', 'mapLibraryName', 'gl2ps_java')

java_invoke('java.lang.System', 'getProperty', 'java.library.path')

java_invoke('java.lang.System', 'getProperty', 'octave.jhandles.path')

The first call tells you the library name JHandles is looking for. The second
call tells you the path that are searched when looking for a library (not really
applicable in this case). The third call tells you the expected location for
libgl2ps_java.so.

Michael.


reply via email to

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