我使用的是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

然后你就可以看到

centos6.5编译安装mitsuba相关推荐

  1. CentOS6.3编译安装Nginx1.4.7 + MySQL5.5.25a + PHP5.3.28

    2019独角兽企业重金招聘Python工程师标准>>> [准备工作] 01 #在编译安装lnmp之前,首先先卸载已存在的rpm包. 02 rpm -e httpd 03 rpm -e ...

  2. CentOS6.9编译安装LNMP环境

    CentOS6.9编译安装LNMP环境 今天尝试一下用编译的方式来搭建lnmp运行环境.所有软件都采用当前最新版本,除了CentOS.这是由于目前企业大多数应该都还在使用CentOS6的缘故,并且Ce ...

  3. CentOS6.9编译安装Sphinx并使用php7的sphinx扩展实现全文搜索

    本篇笔记记录了CentOS6.9编译安装Sphinx,编译安装php-sphinx扩展,并使用php7的sphinx扩展实现全文搜索的过程 nginx+mysql+php安装请参考以下笔记: Cent ...

  4. CentOS6下编译安装zabbix_agent3.0客户端

    zabbix3.0.5 Server端请移步至http://ljohn.blog.51cto.com/11932290/1869257 安装Zabbix3.0.5客户端 添加一台CentOS6.5 主 ...

  5. CentOS6.5 编译安装zabbix3.0.5,编译安装zabbix_agent客户端

    1.环境准备: CentOS6.5 当前地址为192.168.137.30 搭建LAMP环境,YUM安装方式也可以,但是zabbix3.0要求提供PHP5.5以上版本. 这里可以查看这篇文章:编译安装 ...

  6. Elam的caffe笔记之配置篇(一):CentOS6.5编译安装gcc4.8.2

    配置要求: 系统:centos6.5 目标:基于CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6接口的caffe框架 gcc是linux编译安装必备的编译器 CentOS6. ...

  7. centos6.5 编译安装mysql_Centos6.5编译安装mysql 5.7.14详细教程

    此文实例给亲们分享了CENTOS6.5 编译mysql 5.7.14安装配置方法,供大家参考,具体内容如下 mysql5.7.14 编译安装在自定义文件路径下 下载安装包 配置安装环境 编译安装 cm ...

  8. hadoop2.2.0 centos6.4 编译安装详解

    搭建环境:Centos x 6.4 64bit 1.安装JDK 我这里用的是64位机,要下载对应的64位的JDK,下载地址:http://www.oracle.com/technetwork/cn/j ...

  9. centos6.5编译安装zabbix2.4及微信企业号告警

    在centos6.5上编译安装zabbix2.4 zabbix server安装节点为:192.168.1.36 被监控主机节点为:192.168.1.37 本来想在centos6.5上安装zabbi ...

最新文章

  1. 旷视MegEngine基本概念
  2. 2012-06-04 老男孩老师 “我毕业了”(转)
  3. delphi的ArrayList
  4. 026_使用eclipse生成hashCode和equals方法
  5. 晟数学院 oracle,Oracle 控制文件存储解析
  6. 3.2 SE11创建数据元素
  7. salesforce 学习(超简介,以及传送门)
  8. python习题错误整理(一)
  9. MITRE Implementation of ISO 12233 Spatial Frequency Response (SFR)
  10. eviews安装教程
  11. 手工纸盒子_折纸盒与纸盒子的折法手工制作图解教程大全 - 纸艺网
  12. Git基本知识和常用命令(IDEA)
  13. 计算机专业英语教学工作总结,2020大学英语教师上学期教学工作总结
  14. linux 批量删除任务,Linux-Shell脚本学习心得之批量创建、删除用户
  15. dump文件 修复iat_手动修复IAT
  16. linux具有写保护权限的文件,细说Linux权限
  17. Teradata:数据可视化与模型优化相辅相成
  18. 摄像头的像素与分辨率之间的关系
  19. 浅析linux下的回收站以及U盘中的.Trash文件夹
  20. vue 仿B站下拉刷新上拉加载

热门文章

  1. 淘宝商品精准销量库存
  2. 【云安全系列】Seccomp—云安全syscall防护利器
  3. 使用python调用高德地图的web服务
  4. 山石网科防火墙DNAT常见问题基础排查
  5. shell编程——if语句(if -z -n -f -x -eq -ne -lt -a -o)
  6. 各城市一日内入境究竟有多少人? | Alfred数据室
  7. 从链家到贝壳 — 数字化转型的完美标杆
  8. Java NIO SocketChannel读
  9. 人工智能在职研究生通过率怎么样
  10. 用JS来动态设置CSS样式的八种方式