码迷,mamicode.com
首页 > 其他好文 > 详细

在centos上安装mitsuba

时间:2015-05-29 19:45:15      阅读:809      评论:0      收藏:0      [点我收藏+]

标签:

因为实验室的Xeon phi服务器使用的centos 6.4,mitsuba的官方帮助文档没有提到centos系统下的源代码编译方式。

因为fedro和centos同源,我们按照官方文档中fedro的教程来安装。下面我写出一些,我在安装过程遇见的困难以及解决问题,整个过程相当的考验你定位、搜索、解决问题的能力,你必须非常的敏锐。

首先,安装依赖项的时会遇见点麻烦:

官方文档中,使用下列命令来安装依赖包:

sudo yum install mercurial gcc-c++ scons boost-devel qt4-devel OpenEXR-devel xerces-c-devel python-devel glew-devel libpng-devel libjpeg-devel collada-dom-devel eigen3-devel fftw3-devel

其中,boost如果使用scons编译时,如果提示找不到boost-thread,boost-system一类的问题时:

你需要使用命令:

rpm -e boost-devel

rpm -e boost

来卸载boost和boost-devel,再到boost官网下载source code,安装separately-compiled Boost libraries(动态链接库,系统自带的可能只含有头文件)。boost官方的帮助文档很详细,一步一步的来,不会有问题。

最后再使用sudo yum install boost-devel。


 

继续,你会发现有一些安装包找不到

glew-devel collada-dom-devel eigen3-devel

这三个安装包使用yum install找不到安装包。

eigen3-devel很简单,到http://eigen.tuxfamily.org/index.php?title=Main_Page下载,按照官方帮助文档一步一步的来就行。编译,复制文件到/usr/local/include/eigen3即可。


 

glew-devel需要注意,mitsuba用了glewmx,所以,在编译时一定要加入附加编译选项!否则,scons必然会告诉你,找不到-lGLEWMX。

大概过程是这样的,首先下载并解压好glew1.12.0后,

进入glew1.12.0/

make clean

make all

make install.all


 

最糟糕的是collada-dom-devel,编译和安装过程恶心至极。

首先,你得安装Cg3,这个可以下载到rpm的安装包,直接使用rpm安装即可。

因为mitsuba只用到了minizip和dom,你不需要编译它的domtest,所以:

vim path_to_cllada-dom/dom/make/common.mk

修改

ccFlags= -Wall -DNO_BOOST -DNO_ZAE

保存,退出。

然后依次执行:

cp Makefile.linux Makefile

make os=linux project=minizip parser=libxml -C dom
make os=linux project=dom parser=libxml -C dom

注意,你编译dom的时候,可能会遇见compile error:

src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp:457:65: error: ‘zipOpen64’ was not declared in this scope
src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp:484:232: error: ‘zipOpenNewFileInZip3_64’ was not declared in this scope

我在这个地址找到了一点提示,http://sourceforge.net/p/collada-dom/bugs/154/

回答问题的人给出关键提示:"minizip-1.1" has the missing symbols for newer-format ZIP files, while "minizip" does not

minizip-1.1中有misssing symbols,而minizip没有。

所以,vim dom/make/dom.mk

修改其中的

# minizip
includeOpts += -Iexternal-libs/minizip/include


includeOpts += -Iexternal-libs/minizip-1.1

保存,退出。

再次执行make os=linux project=dom parser=libxml -C dom

执行make install。

OK,所有的依赖项都编译完了

 

在centos上安装mitsuba

标签:

原文地址:http://www.cnblogs.com/wangpei0522/p/4539035.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!