-dpng gives "invalid command"

John B. Thoo jthoo at yccd.edu
Tue Jul 14 18:04:01 CDT 2009


On Jul 14, 2009, at 2:06 PM, Ben Abbott wrote:

> On Jul 14, 2009, at 3:11 PM, "John B. Thoo" <jthoo at yccd.edu> wrote:
>
>> On Jul 10, 2009, at 11:55 AM, Thomas Treichl wrote:
>>
>>> John B. Thoo schrieb:
>>>> On Jul 10, 2009, at 11:29 AM, Thomas Treichl wrote:
>>>>> John B. Thoo schrieb:
>>>>>> Hi, Thomas.
>>>>>> gnuplot> show version long
>>>>>>        G N U P L O T
>>>>>>        Version 4.2 patchlevel 5
>>>>>>        last modified Mar 2009
>>>>>>        System: Darwin 8.11.0
>>>>>>        Copyright (C) 1986 - 1993, 1998, 2004, 2007 - 2009
>>>>>>        Thomas Williams, Colin Kelley and many others
>>>>>>        Type `help` to access the on-line reference manual.
>>>>>>        The gnuplot FAQ is available from http:// 
>>>>>> www.gnuplot.info/faq/
>>>>>>        Send bug reports and suggestions to <http:// 
>>>>>> sourceforge.net/projects/gnuplot>
>>>>>> Compile options:
>>>>>> +READLINE  -LIBREADLINE  +HISTORY  +BACKWARDS_COMPATIBILITY   
>>>>>> +BINARY_DATA
>>>>>> -LIBGD
>>>>>> -NOCWDRC  +X11  +X11_POLYGON  +MULTIBYTE  +USE_MOUSE   
>>>>>> +HIDDEN3D_QUADTREE
>>>>>> +DATASTRINGS  +HISTOGRAMS  +OBJECTS  +STRINGVARS  +MACROS  +IMAGE
>>>>>> DRIVER_DIR     = "/usr/local/libexec/gnuplot/4.2"
>>>>>> GNUPLOT_PS_DIR = "/usr/local/share/gnuplot/4.2/PostScript"
>>>>>> HELPFILE       = "/usr/local/share/gnuplot/4.2/gnuplot.gih"
>>>>>> gnuplot>
>>>>>> Thanks.
>>>>>> ---John.
>>>>>
>>>>> Then yes, you're right - you're missing support for *png. Your  
>>>>> version of Gnuplot has not been compiled against libgd. libgd  
>>>>> (and libpng and libjpg...) is the library that you need to  
>>>>> create graphics in *png, *jpg and *gif.
>>>>>
>>>>> As your binary is in /usr/local I would expect you either  
>>>>> compile and install Gnuplot for yourself or you use MacPorts?  
>>>>> Either or, you need a binary that should give you something  
>>>>> like this to save in *png on your Mac (compare compile options  
>>>>> GD_* from my machine with yours):
>>>>>
>>>>>  gnuplot> show version long
>>>>>
>>>>>        G N U P L O T
>>>>>        Version 4.2 patchlevel 5
>>>>>        last modified Mar 2009
>>>>>        System: Darwin 8.11.1
>>>>>
>>>>>        Copyright (C) 1986 - 1993, 1998, 2004, 2007 - 2009
>>>>>        Thomas Williams, Colin Kelley and many others
>>>>>
>>>>>        Type `help` to access the on-line reference manual.
>>>>>        The gnuplot FAQ is available from http:// 
>>>>> www.gnuplot.info/faq/
>>>>>
>>>>>        Send bug reports and suggestions to
>>>>>  <http://sourceforge.net/projects/gnuplot>
>>>>>
>>>>>  Compile options:
>>>>>  -READLINE  +LIBREADLINE  +HISTORY  +BACKWARDS_COMPATIBILITY  
>>>>> +BINARY_DATA
>>>>>  +GD_PNG  +GD_JPEG  +GD_GIF  +ANIMATION
>>>>>  -NOCWDRC  +X11  +X11_POLYGON  +MULTIBYTE  +USE_MOUSE   
>>>>> +HIDDEN3D_QUADTREE
>>>>>  +DATASTRINGS  +HISTOGRAMS  +OBJECTS  +STRINGVARS  +MACROS  +IMAGE
>>>>>
>>>>>  DRIVER_DIR     =
>>>>> "/Users/Thomas/bin/Octave.app.3.2.0/Gnuplot.app/Contents/ 
>>>>> Resources/libexec/gnuplot/4.2"
>>>>>  GNUPLOT_PS_DIR = "/tmp/gnuplot-i386/share/gnuplot/4.2/PostScript"
>>>>>  HELPFILE       = "/Users/Thomas/bin/Octave.app.3.2.0/ 
>>>>> Gnuplot.app/Contents/Resources/share/gnuplot/4.2/gnuplot.gih"
>>>>>
>>>>> Hope this helps somehow,
>>>>>
>>>>>  Thomas
>>>> Hi, Thomas.
>>>> Yes, I compiled gnuplot myself.  (I guess that was a mistake.)   
>>>> Would the easiest thing for me to do now be to install gnuplot  
>>>> from your octave-3.2.0-ppc.dmg?
>>>> If I drag-and-drop gnuplot from the .dmg into my Applications  
>>>> folder, would I then have to do anything in particular to use it  
>>>> instead of my previous installation?
>>>> Thanks again.
>>>> ---John.
>>>
>>> Hi John,
>>>
>>> why a mistake? From my point of view it is good if you try to  
>>> compile things for yourself. You just need to set up some more  
>>> libraries before compiling Gnuplot.
>>>
>>> Suggestion: If you already use Fink or MacPorts then this might  
>>> be a better solution to install Gnuplot that way. If you have  
>>> none of those or prefer Gnuplot.app beside others you can also  
>>> use Gnuplot.app, yes. There nearly is nothing more to do:  
>>> Drag'n'Drop Gnuplot.app from the *dmg to your Applications folder  
>>> and then set another link to use Gnuplot.app from command line,  
>>> too (maybe you should remove or rename or uninstall /usr/local/ 
>>> bin/gnuplot* before):
>>>
>>>  sudo ln -s /Applications/Gnuplot.app/Contents/Resources/bin/ 
>>> gnuplot /usr/local/bin/gnuplot
>>>
>>> Finally just type 'gnuplot' in Terminal.app and check once again  
>>> 'show version long'. Start your Octave and check
>>>
>>>  octave-3.2.0:1> system ('which gnuplot')
>>>
>>> Best regards,
>>>
>>>  Thomas
>>
>> Hi, Thomas.
>>
>> I installed your Gnuplot.app in my Applications folder and set the  
>> following symlink:
>>
>>  sudo ln -sfv /Applications/Gnuplot.app/Contents/Resources/bin/ 
>> gnuplot /usr/bin/gnuplot
>>
>> In gnuplot, I find that
>>
>> gnuplot> system ('which gnuplot')
>> /Applications/Gnuplot.app/Contents/Resources/bin/gnuplot
>> gnuplot>
>>
>> so I think it all looks OK.  I also tried to print a PNG and that  
>> worked: yea! :-)
>>
>> The only difference I see immediately between using Gnuplot.app  
>> and the gnuplot I had complied from source (besides now being able  
>> to print a PNG) is that the redrawing in Gnuplot.app seems to be  
>> slower, so that the following, which produced a pretty smooth  
>> animation in gnuplot, produces a somewhat jerky animation in  
>> Gnuplot.app:
>>
>>    lT = length (T) - 1;
>>    N = 10;   % number of time intervals (frames) to plot (must  
>> have N <= lT)
>>
>>    if (N > lT)
>>      error ('N > lT;  need  N <= lT');
>>    end
>>
>>    time = ones (1, N);
>>    time(2:N+1) = floor ((lT/N)*(1:N)) + 1;
>>
>>    for j = 1:N+1   % for "ode45"
>>      plot (x, u(:,time(j)));
>>      title (strcat ('time =', num2str ((tf-t0)*(time(j) - 1)/lT)));
>> %      axis ([0 2*pi -1.5 1.5]);
>>      axis([0 2*pi 2*min(real(u0)) 2*max(real(u0))]);
>>      pause(wait);
>>    end
>>
>> I'm not sure why.
>>
>> Btw, while I was at it, I also upgraded Octave to 3.2.0.
>>
>> Thanks for making this all very simple.
>>
>> ---John.
>
> This is due to a *feature* of 3.2. A patch has been committed.
>
> Ben

Ah, a feature.  Thank you. :-)


And on Jul 14, 2009, at 12:42 PM, Thomas Treichl wrote:

> Hi John,
>
> are you using the same backends (which one of X11 or AquaTerm) for  
> animations with gnuplot and Gnuplot.app? And which version of  
> gnuplot is it?
>
> Best regards,
>
>   Thomas

x11 in both cases, although I notice that this time the fonts look a  
bit different when gnuplot (i.e., Gnuplot.app) is called from Octave  
than when it's called outside of Octave.  Btw, I deleted my previous  
installations of gnuplot, and have only Gnuplot.app installed now  
from the latest *dmg.

---John.


More information about the Help-octave mailing list