在Ubuntu上安装Gnuplot 5.0

9

我一直在尝试在Ubuntu上从源代码安装Gnuplot 5.0。

我按照博客中给出的步骤进行操作:

从源代码安装gnuplot

我使用了以下命令:

tar xzf gnuplot-5.0.0.tar.gz
mkdir build
cd build
../gnuplot-5.0.0/configure --with-readline=gnu
make

在执行配置命令之前,一切都运行良好。然而,当我运行make命令时,我最终会遇到以下错误:

In file included from ../../gnuplot-5.0.0/src/qtterminal/QtGnuplotWindow.cpp:187:0:

./ui_QtGnuplotSettings.h:13:25: fatal error: QtGui/QAction: No such file or directory

#include <QtGui/QAction>

有没有人能指导如何解决这个问题?如果有更简单的方法来安装gnuplot 5.0.0,那就更好了。


你安装了 qtbase5-dev 吗?或者任何其他 qt 库组件吗? - Willem Van Onsem
是的。我已经安装了qtbase5-dev、qtdeclarative5-dev和libqt5svg5-dev。还有一堆qt4库已经安装好了,我没有删除它们。 - Ravi
有没有所有可用的qt4开发包的列表? - Ravi
1
我不确定构建带有qt的gnuplot所需的所有开发包,但是您可以使用./configure --with-qt=no来构建没有qt终端的版本。您仍将拥有wxt作为交互式终端。 - Christoph
谢谢。选项--with-qt=no解决了问题...gnuplot安装没有任何问题。 - Ravi
显示剩余2条评论
2个回答

12

这是一份在Ubuntu中使用gnuplot所需的各种库-开发包清单。在Debian和其他基于Debian,如Mint的发行版下,包名称应该是相同的。未列出那些与已命名的包自动安装的附加-dev包(或在括号中)。

要使用外部libreadline而不是gnuplot的内置替代品(建议使用)

libreadline-dev

使用cerf库提供的数学函数(不会有坏处)

libcerf-dev

对于旧的交互式x11终端

libx11-dev

对于 pdfcairopngcairoepscairo 终端

libcairo2-dev
libpango1-dev

此外,针对交互式wxt终端(如果出现问题,请尝试./configure --with-wx-single-threaded,例如make check崩溃)。如果编译时出现“XInitThreads”错误,请尝试TERMLIBS="-lX11" ./configure

libwxgtk2.8-dev or libwxgtk3.0-dev
libgtk2.0-dev

对于基于libgd的pnggifjpeg位图终端

libgd-dev
(libxpm-dev)
(libjpeg-turbo8-dev)
(libtiff5-dev)

对于交互式qt 终端 (./configure --with-qt=qt5)

qtbase5-dev
libqt5svg5-dev
qttools5-dev-tools  # on Linux Mint (as per comment by Allan below)

另外一种选择是针对Qt4 (./configure --with-qt=qt4)

libqt4-dev

对于 lua 终端

liblua5.2-dev (also read ./INSTALL)

对于文本模式下的 caca 终端(./configure --with-caca


libcaca-dev

这份清单并非最终版本(我目前没有备用系统来尝试所有依赖项)。欢迎您进行添加、更新和纠正!


2
你的回答非常有帮助。我只想补充一点,除了安装qtbase5-devlibqt5svg5-dev之外,我还需要安装sudo apt-get install qttools5-dev-tools才能在gnuplot中获得qt5终端。如果没有这个,会出现链接错误/usr/lib/x86_64-linux-gnu/qt5/bin/lrelease: No such file or directory。我已经编辑了你的回答以反映这一点。 - Allan
@Allan:我无法在Ubuntu 15.04或.10上确认此问题,您使用的是哪个版本? - Karl
不完全是Ubuntu,而是Linux Mint 17.2。 - Allan
1
对于基于Redhat的发行版,请尝试以下命令(在CentOS 7.2上测试通过):sudo yum install libX11-devel cairo-devel cairo-tools cairomm-devel cairo pycairo pycairo-devel pango-devel pango pangomm pangomm-devel wxGTK-devel wxGTK3-devel wxGTK wxGTK3 gd-progs gd gd-devel libXpm libXpm-devel libjpeg-turbo libjpeg-turbo-utils turbojpeg libjpeg-turbo-devel libjpeg-turbo-static libtiff libtiff-devel libtiff-static libtiff-tools qt5-qtbase qt5-qtbase-devel qt5-qtbase-static lua lua-devel lua-static caca-utils libcaca libcaca-devel readline readline-devel readline-static texlive-subfigure - andypea
1
在Ubuntu 20.04中,我不得不使用libpango1.0-dev而不是libpango1-dev - SommerEngineering
显示剩余5条评论

4

我只是按照INSTALL文件中的说明操作,一切都很完美:

$ tar xzf gnuplot-5.0.1.tar.gz
$ cd gnuplot-5.0.1
$ ./configure
$ make
$ sudo make install

在执行这个操作之后,当我在任何地方调用gnuplot时,都会得到以下结果:
$ gnuplot

G N U P L O T
Version 5.0 patchlevel 1    last modified 2015-06-07 

Copyright (C) 1986-1993, 1998, 2004, 2007-2015
Thomas Williams, Colin Kelley and many others

gnuplot home:     http://www.gnuplot.info
faq, bugs, etc:   type "help FAQ"
immediate help:   type "help"  (plot window: hit 'h')

这对你来说非常好(尽管现在您可能只有一个有用的终端,即Postscript的Gnuplot),但这并没有解决问题。 - Karl
我正在使用Ubuntu 15.04,并且之前已经从存储库安装了gnuplot 4.6。我在没有卸载gnuplot 4.6的情况下安装了gnuplot 5.01。也许是因为这个原因,它安装了所有必要的软件包。无论如何,我现在所有的终端都可以工作,如果我不设置任何终端,它会打开一个窗口并在x11终端中显示图形。 - bmello
1
你肯定没有wxt或qt终端,也没有任何*cairo终端。除非你之前为其他事情安装了qt、cairo和pango dev-packages。这是没有自动化的。x11终端仍然可以使用,但我认为一旦你看到其他选择,你就不会想要它了。如果你想尝试,Ubuntu有一个gnuplot5包。 - Karl
由于“安装gnuplot”是热门搜索结果之一,对我来说,在这里概述基础知识以及卡尔的最后评论是很有用的。 - PatrickT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接