可以制作德罗斯特效应照片的Mathmap安装记录

  1. 在Ubuntu下编译安装mathmap

  2. 在Fedora20下安装mathmap(流水记录)

  3. 在Fedora[20, 21, 22]下安装mathmap(快速安装)


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”

mathmap

OK!开始探索Mathmap的奇幻世界吧