1. 在Ubuntu下编译安装mathmap
因手中无Ubuntu,不能测试是否有更快捷,更方便的安装方法,所以贴一个2013的编译安装方法,链接如下
:http://tieba.baidu.com/p/2108398262
2. 在Fedora下安装mathmap(流水记录)
如需快速安装,请点击第三个标题,按步操作,此处主要为记录编译安装结果问题过程
安装依赖
Mathmap的INSTALL文件说明,需要的依赖:
- The GIMP 2.4
- GSL (GNU Scientific Library), including GSL CBLAS
- fftw3
- libgtksourceview
- libjpeg, libpng, libgif (preferred) or libungif
- gettext
/ 最开始认为只需安装提供的文件名即可,于是“yum search gsl”,真有这个软件包就直接安上了 /
(1)sudo yum install gsl
(2)fftw3,使用C语言进行傅立叶变换
链接:http://www.fftw.org/download.html
压缩包双击打开,解压缩到一个文件夹中,终端进入,执行:
cd fftw-3.3.4/
./configure
make
sudo make install
没有错误,继续
/ 开始时搜索的“libgtksourceview”没有结果,然后就去下载了源代码包 /
(3)安装gtksourceview
下载地址:http://ftp.acc.umu.se/pub/gnome/sources/gtksourceview/
我下载的是最新的3.11 请求如下的包:
No package 'glib-2.0' found
No package 'gio-2.0' found
No package 'gtk+-3.0' found
No package 'libxml-2.0' found
sudo yum install glib2-devel
su -c 'yum install gtk3-devel'
sudo yum install libxml2-devel
Requested ‘gtk+-3.0 >= 3.11.0′ but version of GTK+ is 3.10.6
进GTK官网一看,没有3.11的版本,但是这个软件竟然请求,没办法,重新下载的gtksourceview 3.10编译
成功!
(4)安装intltool
./configure: line 12598: intltool-update: command not found
checking for intltool >= 0.40... found
configure: error: Your intltool is too old. You need intltool 0.40 or later.
解决办法:
sudo yum install intltool
/ 这个地方也纠结了好一会 /
(5)安装libjpeg,libpng,libgif / 由于搜索”libgif”没有结果,所以没有安装 /
sudo yum install libjpeg-turbo
sudo yum install libpng
编译Mathmap
现在需要的环境基本上都OK了,开始编译Mathmap。现在进入mathmap的目录编译 没有configure文件,直接“make”,有必要说下,make出错,再解决完问题后,要先“make clean”以下,再重新运行“make”编译
1,提示没有“g++”
Fedora下安装g++的命令是
sudo yum install gcc-c++
2,mathmap_common.c:40:18: 致命错误:glib.h:没有那个文件或目录
/ pygtk2-devel这个是网搜到的,但是安装后没有解决,在安装 gtksourceview2-devel后解决,不能确定pygtk2-devel是否有用,先在这里记录下,测试的同学先无视先 /
sudo yum install pygtk2-devel
sudo yum install gtksourceview2-devel
3,compiler.h:27:28: 致命错误:gsl/gsl_matrix.h:没有那个文件或目录
sudo yum install gsl-devel
4,userval.h:30:26: 致命错误:libgimp/gimp.h:没有那个文件或目录
sudo yum install gimp-devel
5,错误:提领指向不完全类型的指针
In file included from /usr/include/pngconf.h:72:0,
from /usr/include/png.h:445,
from rwpng.c:28:
rwpng.c: In function 'open_png_file_reading':
rwpng.c:61:29: error: dereferencing pointer to incomplete type
if (setjmp(data->png_ptr->jmpbuf))
^
rwpng.c:68:28: error: dereferencing pointer to incomplete type
*width = data->info_ptr->width;
^
rwpng.c:69:29: error: dereferencing pointer to incomplete type
*height = data->info_ptr->height;
^
rwpng.c:71:23: error: dereferencing pointer to incomplete type
if (data->info_ptr->bit_depth != 8 && data->info_ptr->bit_depth != 16)
^
rwpng.c:71:57: error: dereferencing pointer to incomplete type
if (data->info_ptr->bit_depth != 8 && data->info_ptr->bit_depth != 16)
^
rwpng.c:78:23: error: dereferencing pointer to incomplete type
if (data->info_ptr->color_type != PNG_COLOR_TYPE_RGB
^
rwpng.c:79:19: error: dereferencing pointer to incomplete type
&& data->info_ptr->color_type != PNG_COLOR_TYPE_RGB_ALPHA
^
......
上面的一堆错误,嗯…怎么说呢,搜索了半天,貌似是一个BUG…
/ 在源中搜索的时候就发现libpng的结果如下,好多版本,而且前辈们似乎使用不同版本也没能解决问题 /
libpng12.i686 : Old version of libpng, needed to run old binaries
libpng10.i686 : Old version of libpng, needed to run old binaries
libpng10.x86_64 : Old version of libpng, needed to run old binaries
libpng10-devel.i686 : Development tools for version 1.0 of libpng
libpng10-devel.x86_64 : Development tools for version 1.0 of libpng
libpng12.x86_64 : Old version of libpng, needed to run old binaries
libpng12-devel.i686 : Development files for libpng 1.2
libpng12-devel.x86_64 : Development files for libpng 1.2
libpng15.i686 : Old version of libpng, needed to run old binaries
libpng15.x86_64 : Old version of libpng, needed to run old binaries
......
请看相关问题的讨论:
https://bugs.gentoo.org/show_bug.cgi?id=356625 (提示去github下载) https://groups.google.com/forum/#!msg/mathmap/Yl2UG2Lx12c/4GfLyXt7pzEJ (同样问题,无人回答) 在上面的网址提到了github可能更新了。于是重新到github下载 链接:https://github.com/schani/mathmap
/ 这里由于知识匮乏导致获取出错,我直接点击网页Download下载的文件 /
6,make: clisp: Command not found
sudo yum install clisp
7,No package ‘fftw3′ found
Package fftw3 was not found in the pkg-config search path.
Perhaps you should add the directory containing `fftw3.pc'
to the PKG_CONFIG_PATH environment variable
No package 'fftw3' found
Package fftw3 was not found in the pkg-config search path.
Perhaps you should add the directory containing `fftw3.pc'
to the PKG_CONFIG_PATH environment variable
No package 'fftw3' found
/ 明明安装了fftw3,为何找不到呢,根据上面的经验,搜索了下fftw,找到了fftw-devel /
sudo yum install fftw-devel
8,A file with name lisp-utils/utils.lisp does not exist clisp builtins.lisp *** – LOAD: A file with name lisp-utils/utils.lisp does not exist make: *** [compiler_types.h] Error 1
同样的问题:https://groups.google.com/forum/#!msg/mathmap/KjULqZ76bfI/cXIiJvt1kHAJ
使用
git clone https://github.com/schani/mathmap.git mathmap
获取mathmap 稍等以下会在你的当前目录下会出现一个mathmap的文件夹,cd进入,然后执行如下命令
git submodule init && git submodule update
9,make: bison: Command not found
sudo yum install bison
10,rwjpeg.c:30:21: fatal error: jpeglib.h: No such file or directory
sudo yum install libjpeg-turbo-devel
11,rwgif.c:29:21: fatal error: gif_lib.h: No such file or directory
/ 这里本打算去下载libgif的,不过偶然搜索到了giflib,一搜,果然有devel包 /
sudo yum install giflib-devel
这样,GIMP插件Mathmap就安装完成了,暂时还用不好,不过没关系啦~先装上再说,哈哈
编译总结
-
Fedora下安装软件XXX包会作为XXX-devel的依赖,所以安装时优先选择devel安装,可以避免很多问题
-
当软件所依赖的包太新,如果非必要安装最新版,可以尝试下载稍低版本以解决依赖问题
-
很多问题都是系统环境缺少包导致,如非必要,尽量不要去更改环境变量和设置
-
当报错的中文提示在度娘上找不到时,那么“export LANG=en_US”,看下英文的错误信息,丢到谷歌上试试
-
在源中找不到相应的软件包,尝试把你的搜索关键字去头去尾再搜索以下
-
最后,最重要的就是:安装软件之前先读“README”。也可省下你很多的时间
3. 在Fedora下安装mathmap(快速安装)
以下命令在Fedora20下可用,Fedora22需把yum换成dnf,而且在fftw环节无需编译,Fedora22直接dnf install fftw即可,21下现在仓库中是否包括fftw还不清楚
git clone https://github.com/schani/mathmap.git mathmap
cd mathmap
git submodule init && git submodule update
sudo yum -y groupinstall "Development Tools"
sudo yum -y install gcc-c++
sudo yum -y install gimp-devel gsl-devel wget
wget http://www.fftw.org/fftw-3.3.4.tar.gz
chmod +x fftw-3.3.4.tar.gz
tar -xzvf fftw-3.3.4.tar.gz
cd fftw-3.3.4/
./configure
make
sudo make install
cd ..
sudo yum -y install fftw-devel
sudo yum -y install gtksourceview2-devel
sudo yum -y install intltool gettext-devel
sudo yum -y install bison libtool
sudo yum -y install libjpeg-turbo-devel libpng-devel giflib-devel
sudo yum -y install clisp-devel bison-devel
make clean
make
sudo make install
打开方式,在GIMP中的“滤镜 – 常规 – Mathmap – mathmap”
OK!开始探索Mathmap的奇幻世界吧