在不被维护的Ubuntu版本下安装plotutils包


机器里的Ubuntu 9.04早已不再被官方维护了,针对该版本的软件仓储已经失效,为了能够从仓储里安装新的软件,就需要更换到被维护的版本,这就意味着重装系统,那已经安装配置了的大量软件也得重装, 太过费时和费力。所以只能放弃从仓储安装软件,一切都从源代码开始安装配置。

plotutils中的工具可以很方便的绘制曲线图,ubuntu仓储里是有这个软件的,但因为Ubuntu 9.04不再被维护,只有从其主页下载安装 (http://www.gnu.org/software/plotutils/)。从网站http://www.gnu.org/prep/ftp.html选择一个服务器下载一个最新的版本plotutils-2.6.tar.gz,解压,查看说明文档Readme和INSTALL,按照其要求在其目录下运行 ./configure,无误,然后运行make,报错:

error: X11/Xaw/Label.h: No such file or directory

缺少头文件Lablel.h,该文件属于ubuntu的libxaw7-dev包,但该包也未安装,也得从源文件安装,该包的源文件是x.org的一部分,可以从http://www.x.org/wiki/Releases/Download获得,根据机器里已经安装的运行版libxaw7的版本1.0.5和发行时间, 选择X11R7.5/src/lib/libXaw-1.0.7.tar.gz 下载(没有找到1.0.5版本),解压,因为机器里已经有其运行版(运行版包括二进制的运行库等),所以不需要编译安装,只需要将解压文件夹里include/X11/Xaw的内容拷贝到 /usr/include/X11/Xaw就可以了,回到plotutils-2.6.tar.gz的解压目录,再执行make,不再提示缺少头文件Lablel.h,不过又出现了另外的错误:

/usr/bin/ld: cannot find -lXaw
collect2: ld returned 1 exit status
make[2]: *** [libplot.la] Error 1
make[2]: Leaving directory `/........./plotutils-2.6/libplot'
make[1]: *** [all-recursive] Error 1

找不到库文件libXaw.xx,查看/usr/lib文件夹下涉及Xaw的文件为:

lrwxrwxrwx 1 root root     15 2010-01-17 16:42 libXaw3d.so.6 -> libXaw3d.so.6.1
-rw-r--r-- 1 root root 301400 2008-11-06 08:12 libXaw3d.so.6.1
lrwxrwxrwx 1 root root     16 2009-08-29 18:18 libXaw7.so.7 -> libXaw7.so.7.0.0
-rw-r--r-- 1 root root 377480 2009-01-07 22:46 libXaw7.so.7.0.0
lrwxrwxrwx 2 root root     12 2009-08-29 18:18 libXaw.so.7 -> libXaw7.so.7

运行 $ln libXaw.so.7 libXaw.so 得到

lrwxrwxrwx 2 root root     12 2009-08-29 18:18 libXaw.so -> libXaw7.so.7

回到plotutils-2.6.tar.gz的解压目录,再执行make,没有再报错,然后执行make install,完成。

运行$echo 1 2 2 1 | graph -T x 测试,报错:

graph: error while loading shared libraries: libplot.so.2: cannot open shared object file: No such file or directory

查找libplot.so.2,在/usr/local/lib里,设置环境变量LD_LIBRARY_PATH=/usr/local/lib,无效,于是运行

$sudo cp libplot.so.2 /usr/lib/

之后再测试graph,无错。

相关内容