centos6.5编译安装mitsuba

本文档详细介绍了如何在CentOS 6.5系统上从源代码编译安装 Mitsuba 渲染器。包括安装必要的软件包,如Development Tools、Mercurial、SCons等,以及编译安装Boost、Eigen3、GLEW、Cg3和Collada-DOM的步骤。每个步骤都提供了详细的命令行操作,确保 Mitsuba 编译过程的顺利进行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我使用的是VMware虚拟机新安装的centos6.5系统,没有安装任何软件,内存1G,处理器最少4个,少于4个,使用mitsuba命令时会报*** glibc detected *** double free or corruption (fasttop):错(具体参考http://www.cnblogs.com/colorfulkoala/archive/2012/09/12/2682601.html)

准备阶段(一些必不可少的软件安装)

#yum groupinstall 'Development Tools'
#yum install mercurial scons qt4-devel OpenEXR-devel xerces-c-devel python-devel libpng-devel libjpeg-devel  fftw3-devel bzip2-devel readline-devel libxml2-devel


编译安装boost

(参考文章http://www.centoscn.com/image-text/install/2016/0416/7065.html)


(1)首先去官网下载boost源码安装包:http://www.boost.org/
     选择下载对应的boost源码包。本次下载使用的是 boost_1_60_0.tar.gz
 
(2)解压文件:tar -xvf boost_1_60_0.tar.gz && rm -r boost_1_60_0.tar.gz
 
(3)进入源代码路径执行命令  ./bootstrap.sh --prefix=/usr/
        这一条命令完成boost默认配置,当然编译boost是需要gcc 和 g++的支持的。如果没有gcc 和 g++可以执行命令:
        yum install gcc gcc-c++  安装gcc g++
       这一条命令默认的安装路径配置为/usr/local/路径下。
     也就是默认的boost头文件安装到/usr/local/include/文件夹下。boost库文件会安装到/usr/local/lib/文件夹下。安装完成之后你会在对应的文件夹下看到对应的文件。
安装到/usr目录下,后期就不需要拷贝或者设置路径了


(4)执行完上一条命令之后可以执行命令  ./b2  进行编译。(注意:编译需要耗费相当长的一段时间)
 
(5)然后执行下面安装命令 
        ./b2 install  或者 ./bjam install
       安装命令应该是管理员权限,因为需要到向系统中拷贝文件及库文件。


(6)测试test.cpp

#include <boost/thread.hpp>   
#include <iostream>   
     
void task1() {    
 
    std::cout << "This is task1!" << std::endl;   
}   
     
void task2() {    
 
    std::cout << "This is task2!" << std::endl;   
}   
     
int main (int argc, char ** argv) {   
    using namespace boost;    
    thread thread_1 = thread(task1);   
    thread thread_2 = thread(task2);   
    thread_2.join();   
    thread_1.join();   
    return 0;   
}   
编译指令: #g++ test.cpp -o test -lboost_thread


可能的错误:./test: error while loading shared libraries: libboost_thread.so.1.56.0: cannot open shared object file: No such file or directory
这是因为要用到的库还没有更新到环境变量里,可以使用下面的命令更新:ldconfig 
更新后,再执行./test,这样你就完成了你的第一个boost::thread程序

注意:如果你安装的boost是1.60,不知道在boost的哪个版本改动了phoenix模块的位置。原来的boost安装好后,phoenix在/usr/include/boost/spirit/home/下。而我安装好boost1.60后,编译mitsuba时出现找不到 /boost/spirit/home/phoenix/bind/bind_member_variable.hpp 的错误。你需要:

#cp -drfv /usr/include/boost/phoenix /usr/include/boost/spirit/home/



安装eigen3
到http://eigen.tuxfamily.org/index.php?title=Main_Page下载eigen-eigen-b9cd8366d4e8.tar.bz2
复制文件到/usr/include/即可


#tar xvf eigen-eigen-b9cd8366d4e8.tar.bz2 && rm -r eigen-eigen-b9cd8366d4e8.tar.bz2
#cd eigen-eigen-b9cd8366d4e8/
#cp -drfv Eigen /usr/include/




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


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


#make clean
#make all
#make install.all


安装Cg3
到网站https://developer.nvidia.com/cg-toolkit-download下载Cg Toolkit 3.1 - April 2012
这个可以下载到rpm的安装包,直接使用yum localinstall安装即可



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


#vim (path_to_cllada-dom/)dom/make/common.mk


修改
ccFlags= -Wall -DNO_BOOST -DNO_ZAE
保存,退出。




#vim dom/make/dom.mk


修改其中的
# minizip
includeOpts += -Iexternal-libs/minizip/include

includeOpts += -Iexternal-libs/minizip-1.1  (没有/include)
保存,退出。


然后依次执行:

#cp Makefile.linux Makefile
#make os=linux project=minizip parser=libxml -C dom
#make os=linux project=dom parser=libxml -C dom

报错:::src/dae/daeURI.cpp:16:21: error: pcrecpp.h: No such file or directory
原因:::缺失pcre


再次执行
#make os=linux project=dom parser=libxml -C dom
报错:::src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp:25:30: error: libxml/xmlreader.h: No such file or directory
 src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp:26:30: error: libxml/xmlwriter.h: No such file or directory
 src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp:27:30: error: libxml/xmlmemory.h: No such file or directory
原因:::缺失libxml2
#yum install libxml2-devel








编译安装mitsuba
hg clone https://www.mitsuba-renderer.org/hg/mitsuba
cd mitsuba
cp build/config-linux-gcc.py config.py
scons
使用scons (这里会花费很长时间)你就能看到:scons: done building targets.成功!!!!!!!
source setpath.sh
mitsuba

然后你就可以看到


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值