Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Octave-Gnuplot-AquaTerm error: set terminal aqua enhanced title "Figure 1"...unknown terminal type"

I had to add setenv("GNUTERM","X11") to OCTAVE_HOME/share/octave/site/m/startup/octaverc (OCTAVE_HOME usually is /usr/local) to make it work permanently.

Solution found and more details on: http://www.mac-forums.com/forums/os-x-apps-games/242997-plots-octave-dont-work.html


I've ran into a similar issue with Octave-cli, version 3.8.0, on OS X 10.9.1. Observing how Octave-gui could still plot charts, and reading up the answer with octaverc, I've got plotting to work from Octave-cli by adding a line with setenv("GNUTERM","qt") to /usr/local/octave/3.8.0/share/octave/site/m/startup/octaverc

I didn't have to re-install gnuplot or other dependencies.


Setting the terminal type to x11 would solve the problem, but if you want to get AquaTerm working with gnuplot here's how:

First we need to uninstall the existing installation of gnuplot, open up a terminal and run this command.

brew uninstall gnuplot

Download AquaTerm from here: http://sourceforge.net/projects/aquaterm/ and install as you would any OSX application.

From here on, there are two ways to get gnuplot happy with aquaterm, Method 1 is easier, but didn't work for me because my AquaTerm installation didn't create the correct symlinks in /usr/local/lib, Method 2 is the one that worked for me, and I am sharing the steps I took to get it working.

Method 1: Simply reinstall gnuplot after installing AquaTerm seems to fix this issue for people.

brew install gnuplot

Go to the verify step to see if everything worked, if not, follow method 2

Method 2: This method is more advanced, but guaranteed to work if you are patient.

Essentially gnuplot cannot locate the AquaTerm library files, that's why aqua doesn't show up as a terminal type option after we installed gnuplot. We need to modify the homebrew recipe for gnuplot to enable aquaterm support, open up the brew recipe for gnuplot by typing:

brew edit gnuplot

And add these lines as shown in this github commit message, this will enable the brew option for gnuplot to include aquaterm https://github.com/mxcl/homebrew/issues/14647#issuecomment-21132477

Check to see if the proper AquaTerm library symlinks exist by doing these checks:

ls /usr/local/lib/libaquaterm*
ls /usr/local/include/aquaterm/*

The first line above should return some *.dylib files, the second line above should return some *.h files, if they do not exist run these commands from terminal:

sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/AquaTerm /usr/local/lib/libaquaterm.dylib
sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/AquaTerm /usr/local/lib/libaquaterm.1.0.0.dylib
sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/Headers/* /usr/local/include/aquaterm/.

This is necessary sometimes as the installer for AquaTerm can't create the symlinks in the correct places due to permission issues. Once the /usr/local/ symlinks are created, reinstall gnuplot like this:

brew install gnuplot --with-aquaterm # (formerly --aquaterm in old versions)

Verify that gnuplot can see aquaterm using the steps below and happy plotting!


Verify: that gnuplot was configured with AquaTerm correctly by launching gnuplot in terminal

gnuplot

Type this in the gnuplot terminal

gnuplot> set term

Look for the line

Available terminal types:
         aqua  Interface to graphics terminal server for Mac OS X
         ...

If you see the that line above, then you are done, gnuplot is configured correctly and everybody's happy.


I found a way to generate the plots with octave, although is not using AquaTerm but x11. The problem was that Octave was "forcing" gnuplot to use aquaterm to plot. Instead of installing and integrating aquaterm into gnuplot, in octave typed: setenv GNUTERM x11. With this, plots are generated with x11 which is already in the terminal list of gnuplot (set terminal). I know it's a patch, but finally I don't mind aquaterm or x11, I just want plots to be generated


set terminal or set term is gnuplot command.

You just need to run gnuplot from command line to get access to the gnuplot shell.

However, this didn't work for me, neither did the setenv("GNUTERM","x11") in /usr/local/share/octave/site/m/startup/octaverc or ~/.octaverc (both do the same thing).

So I ran set term in gnuplot shell as saw no x11 in the list. I used homebrew to install gnuplot, so I first uninstalled it brew uninstall gnuplot, then installed with x11 using --with-x flag for that:

brew install gnuplot --with-x

This solved the issue for me. Use brew info gnuplot to see the list of flags for gnuplot installation.

P.S. And yes, I did download an X11 dmg and installed it using package installer, still gnuplot had no x11 in the list of supported terminals.