LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1979|回复: 6

安装cvs的gnuplot

[复制链接]
发表于 2007-1-26 12:45:37 | 显示全部楼层 |阅读模式
原来在m$下用过小鬼子作的cvs版本的gnuplot,没看出太大的区别,刚在debian下装了个cvs版的gnuplot发现变化还是非常大的,近乎质的飞跃,缺省使用wxt的终端,支持剪贴板和双字节的CJK字体和更加漂亮的界面,简单写下过程,希望用得着的兄弟可以参考一下:
[PHP]
cvs -d:pserver:anonymous@gnuplot.cvs.sourceforge.net:/cvsroot/gnuplot login
cvs -z3 -d:pserver:anonymous@gnuplot.cvs.sourceforge.net:/cvsroot/gnuplot co -P gnuplot
cd gnuplot
cvs -z3 update
[/PHP]
apt-src一个debian里的gnuplot,我们来修改使用其debian目录下的东西
[PHP]
apt-src install gnuplot
中间要装tetex,不管它,因为已有texlive,gd的开发包装上,然后把libgd2-xpm-dev和latex2html装上
[/PHP]
将cvs下来的gnuplot源码复制一份到临时目录,比如 /dev/shm下,将gnuplot-4.0下的debian目录复制到该gnuplot目录下
[PHP]
cd gnuplot
./prepare
[/PHP]
修改debian下的changelog为
[PHP]
gnuplot (1:4.3.0-6) unstable; urgency=low
...
[/PHP]
修改debian下的control,将Build-Depends中的tetex等删除:
[PHP]
Build-Depends: libpng12-dev | libpng-dev, debhelper (>> 4.0.0), libx11-dev, libxt-dev, zlib1g-dev, libgd2-noxpm-dev | libgd-dev
[/PHP]
删掉debian下的gnuplot-doc.docs中的第一行,同时修改debian下的gnuplot-doc.doc-base
[PHP]
Format: HTML
Index: /usr/share/doc/gnuplot-doc/htmldocs/index.html
Files: /usr/share/doc/gnuplot-doc/htmldocs/*.html
[/PHP]
[PHP]
cp term/PostScript/prologue.ps docs/psdoc/
[/PHP]
修改debian下的rules中的configure部份为
[PHP]
config.status: configure
        dh_testdir
        ./configure $(confflags) CFLAGS="$(CFLAGS)" \
          --prefix=/usr --mandir=\$${prefix}/share/man \
          --infodir=\$${prefix}/share/info \
          --datadir=\$${prefix}/share/gnuplot \
          --libexecdir=\$${prefix}/lib/gnuplot \
          --with-readline=gnu --with-lasergnu \
          --without-linux-vga --with-gihdir=\$${prefix}/share/gnuplot \
          --enable-thin-splines
[/PHP]
同时修改rules中的下面部份,来复制html的文档
  1.         $(MAKE) install prefix=$(CURDIR)/debian/tmp/usr $(MAKEHACK)
  2.         # clear SUID-flag
  3.         chmod u-s $(CURDIR)/debian/tmp/usr/bin/gnuplot
  4.         mkdir -p debian/gnuplot-nox/usr/share/gnuplot/pm3d
  5.         mkdir -p debian/gnuplot-doc/usr/share/doc/gnuplot-doc/htmldocs
  6.         cp -p pm3d/contrib/* debian/gnuplot-nox/usr/share/gnuplot/pm3d
  7.         cp -p docs/htmldocs/*.html debian/gnuplot-doc/usr/share/doc/gnuplot-doc/htmldocs
  8.         cp -p docs/htmldocs/*.png debian/gnuplot-doc/usr/share/doc/gnuplot-doc/htmldocs
  9.         dh_install --list-missing --sourcedir=debian/tmp/
复制代码
下面开使编译
[PHP]
fakeroot debian/rules binary
[/PHP]
中间出错时
[PHP]
cp: 略过目录 “pm3d/contrib/CVS”
make: *** [install] 错误 1
[/PHP]
删掉CVS文件夹,再编即可
[PHP]
rm -rf pm3d/contrib/CVS
[/PHP]
完了,先dpkg -i gnuplot-的几个包,最后装gnuplot的包

http://gnuplot.sourceforge.net/demo_4.1/

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2007-1-26 21:01:25 | 显示全部楼层
谢谢分享,我不懂这玩意,但文章很有教育意义,希望楼主多发好文!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-26 21:53:31 | 显示全部楼层
多谢版主了!

这东东是数据作图的好玩艺,新的版本委实不错,wxt支持多终端使用了cairo和pango,界面漂亮的同时使设置字体更方便了,比如1号终端设成SimSun
set term wxt 1 enh font "SimSun,12"
同时emf的支持还行
[PHP]
Wxt
The wxt terminal device generates output in a separate window. The window is created by the wxWidgets library, where the 'wxt' comes from. The actual drawing is done via cairo, a 2D graphics library, and pango, a library for laying out and rendering text.
[/PHP]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-27 14:44:32 | 显示全部楼层
补充一下,因为GNUPLOT_PS_DIR变量在程序里是写死的,使用postscript的终端导出ps文件时会到缺省的目录下找prologue.ps等文件,我们这里是/usr/share/gnuplot/gnuplot/4.3/PostScript,可以设置环境变量来解决,而编译时改掉的话,除了手动修改src/Makefile.{am,in},更好的是使用dpatch来完成
下面是简短的过程:

首先修改debian/rules启用dpatch,相应的diff:
  1. --- debian/rules.orig
  2. +++ debian/rules
  3. @@ -34,6 +34,7 @@
  4.         INSTALL_PROGRAM += -s
  5. endif
  6. +configure: patch
  7. config.status: configure
  8.         dh_testdir
  9.         ./configure $(confflags) CFLAGS="$(CFLAGS)" \
  10. @@ -91,6 +92,13 @@
  11.         dh_clean
  12.         rm -rf debian/{gnuplot,gnuplot-doc,gnuplot-nox,gnuplot-x11} docs/gnuplot.html docs/psdoc/missfont.log
  13. +patch: patch-stamp
  14. +patch-stamp:
  15. +        dpatch apply-all
  16. +unpatch:
  17. +        dpatch deapply-all
  18. +        rm -rf patch-stamp debian/patched
  19. +
  20. install: DH_OPTIONS=
  21. install: build
  22.         dh_testdir
  23. @@ -102,9 +110,11 @@
  24.         chmod u-s $(CURDIR)/debian/tmp/usr/bin/gnuplot
  25.         mkdir -p debian/gnuplot-nox/usr/share/gnuplot/pm3d
  26.         mkdir -p debian/gnuplot-doc/usr/share/doc/gnuplot-doc/htmldocs
  27. +        mkdir -p debian/gnuplot-nox/usr/share/gnuplot/PostScript
  28.         cp -p pm3d/contrib/* debian/gnuplot-nox/usr/share/gnuplot/pm3d
  29. -       cp -p docs/htmldocs/*.html debian/gnuplot-doc/usr/share/doc/gnuplot-doc/htmldocs
  30. -       cp -p docs/htmldocs/*.png debian/gnuplot-doc/usr/share/doc/gnuplot-doc/htmldocs
  31. +      cp -p docs/htmldocs/*.{html,png} debian/gnuplot-doc/usr/share/doc/gnuplot-doc/htmldocs
  32. +      cp -p term/PostScript/* debian/gnuplot-nox/usr/share/gnuplot/PostScript
  33.         dh_install --list-missing --sourcedir=debian/tmp/
  34. # Build architecture-independent files here.
复制代码
然后创建10_fix_postscript
[PHP]
dpatch-edit-patch 10_fix_postscript
[/PHP]
这样会进入/tmp下的临时目录,修改src/Makefile.{am,in},将
GNUPLOT_PS_DIR=$(pkgdatadir)/$(VERSION_MAJOR)/PostScript
修改为
[PHP]
GNUPLOT_PS_DIR=$(datadir)/PostScript
[/PHP]
exit 退出后,会自动建立
debian/patches/10_fix_postscript.dpatch

[PHP]
echo 10_fix_postscript.dpatch > debian/patches/00list
[/PHP]

rm -rf  term/PostScript/CVS

最后fakeroot debian/rules binary,中间ps_symbols.gpi会报错,再来一次就ok了
回复 支持 反对

使用道具 举报

发表于 2007-1-27 19:01:15 | 显示全部楼层
的确蛮漂亮的。
回复 支持 反对

使用道具 举报

发表于 2007-1-27 19:13:50 | 显示全部楼层
plot出来的界面是有所变化,有了工具栏,还有中文...
命令没变吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-27 20:39:58 | 显示全部楼层
plot出来的界面是有所变化,有了工具栏,还有中文...
命令没变吧

增加了几个命令和支持的终端,个别命令稍微改了下,help一下就知道正确的格式了,比如原来的
plot sin(x)*x w lp 3
需要明确指定线型而变成
plot sin(x)*x w lp lt 3

另外在我这,wxt复制到剪贴板里的在gimp中可以粘贴,而OOo中还不能直接粘贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表