centos6.5编译安装mitsuba
我使用的是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相关推荐
- CentOS6.3编译安装Nginx1.4.7 + MySQL5.5.25a + PHP5.3.28
2019独角兽企业重金招聘Python工程师标准>>> [准备工作] 01 #在编译安装lnmp之前,首先先卸载已存在的rpm包. 02 rpm -e httpd 03 rpm -e ...
- CentOS6.9编译安装LNMP环境
CentOS6.9编译安装LNMP环境 今天尝试一下用编译的方式来搭建lnmp运行环境.所有软件都采用当前最新版本,除了CentOS.这是由于目前企业大多数应该都还在使用CentOS6的缘故,并且Ce ...
- CentOS6.9编译安装Sphinx并使用php7的sphinx扩展实现全文搜索
本篇笔记记录了CentOS6.9编译安装Sphinx,编译安装php-sphinx扩展,并使用php7的sphinx扩展实现全文搜索的过程 nginx+mysql+php安装请参考以下笔记: Cent ...
- CentOS6下编译安装zabbix_agent3.0客户端
zabbix3.0.5 Server端请移步至http://ljohn.blog.51cto.com/11932290/1869257 安装Zabbix3.0.5客户端 添加一台CentOS6.5 主 ...
- CentOS6.5 编译安装zabbix3.0.5,编译安装zabbix_agent客户端
1.环境准备: CentOS6.5 当前地址为192.168.137.30 搭建LAMP环境,YUM安装方式也可以,但是zabbix3.0要求提供PHP5.5以上版本. 这里可以查看这篇文章:编译安装 ...
- Elam的caffe笔记之配置篇(一):CentOS6.5编译安装gcc4.8.2
配置要求: 系统:centos6.5 目标:基于CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6接口的caffe框架 gcc是linux编译安装必备的编译器 CentOS6. ...
- centos6.5 编译安装mysql_Centos6.5编译安装mysql 5.7.14详细教程
此文实例给亲们分享了CENTOS6.5 编译mysql 5.7.14安装配置方法,供大家参考,具体内容如下 mysql5.7.14 编译安装在自定义文件路径下 下载安装包 配置安装环境 编译安装 cm ...
- hadoop2.2.0 centos6.4 编译安装详解
搭建环境:Centos x 6.4 64bit 1.安装JDK 我这里用的是64位机,要下载对应的64位的JDK,下载地址:http://www.oracle.com/technetwork/cn/j ...
- centos6.5编译安装zabbix2.4及微信企业号告警
在centos6.5上编译安装zabbix2.4 zabbix server安装节点为:192.168.1.36 被监控主机节点为:192.168.1.37 本来想在centos6.5上安装zabbi ...
最新文章
- 旷视MegEngine基本概念
- 2012-06-04 老男孩老师 “我毕业了”(转)
- delphi的ArrayList
- 026_使用eclipse生成hashCode和equals方法
- 晟数学院 oracle,Oracle 控制文件存储解析
- 3.2 SE11创建数据元素
- salesforce 学习(超简介,以及传送门)
- python习题错误整理(一)
- MITRE Implementation of ISO 12233 Spatial Frequency Response (SFR)
- eviews安装教程
- 手工纸盒子_折纸盒与纸盒子的折法手工制作图解教程大全 - 纸艺网
- Git基本知识和常用命令(IDEA)
- 计算机专业英语教学工作总结,2020大学英语教师上学期教学工作总结
- linux 批量删除任务,Linux-Shell脚本学习心得之批量创建、删除用户
- dump文件 修复iat_手动修复IAT
- linux具有写保护权限的文件,细说Linux权限
- Teradata:数据可视化与模型优化相辅相成
- 摄像头的像素与分辨率之间的关系
- 浅析linux下的回收站以及U盘中的.Trash文件夹
- vue 仿B站下拉刷新上拉加载