[CV] bundler安装
2015-12-13 21:19
246 查看
从 http://www.cs.cornell.edu/~snavely/bundler/ 下载安装了源码包,在安装配置中会出现以下一些问题
sift在64位系统上运行
从lowe主页中下载的sift是一个32位的静态库文件
./bin/sift: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, for SuSE 9.1, not stripped
而我的ubuntu14.04是 64位系统,也就是需要在64位系统上运行32程序。
解决方法:
//add i386 support to run 32bit binary file
sudo apt-get install gcc-multilib
sudo dpkg –add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
IPL库安装
$ sudo apt-get install python-imaging
$ sudo apt-get install libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev
$ sudo ln -s /usr/lib/
$ sudo ln -s /usr/lib/
$ sudo ln -s /usr/lib/
$ sudo apt-get install pip
$ pip install PIL
安装Gfortran
sudo apt-get install gfortran
其他的一些库
1)LAPACK:线性代数计算库
2)BLAS: 基础线性代数子程序,在LAPACK包中自带,但需进行设置
3)libjpeg:jpeg库,Ubuntu自带
4)lib: 通用目的的压缩库
1) LAPACK 官网下载好解压后,进入文件夹中
根据安装文档安装后,将生成的lib文件夹下的库文件拷至bundler的lib目录下
2) ZLIB的安装
./configure
make
sudo make install
ImageMagick
tar xvzf ImageMagick.tar.gz
cd ImageMagick-x-x-x
./configure
make
sudo make install
sudo ldconfig /usr/local/lib
测试
/usr/local/bin/convert logo:logo.gif
make check
只是临时设置变量 LD_LIBRARY_PATH ,下次开机,一切设置将不复存在;如何把这个值持续写到 LD_LIBRARY_PATH 里呢?
我们可以在 ~/.bashrc 或者 ~/.bash_profile 中加入 export 语句,前者在每次登陆和每次打开 shell 都读取一次,后者只在登陆时读取一次。我的习惯是加到 ~/.bashrc 中,在该文件的未尾,可采用如下语句来使设置生效:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
修改完后,记得关掉当前终端并重新打开一个新的终端,从而使上面的配置生效。
然后
Go to /bundler-v0.4-source/bin (copy libANN to lib folder code as follows)
$ sudo cp libANN_char.so /lib
最后make
Make 过程中的问题
After make, we can see such error,
BundlerApp.h:620:32: error: cannot call constructor ‘SkeletalApp::BundlerApp’
The solution is to change “BundlerApp::BundlerApp();” to “BundlerApp();” in line 620 of the file of BundlerApp.h
测试
~/bundler-v0.4-source $ ./RunBundler.sh examples/ET
为了可以增加debug功能
在src中的makefile中将opt flags修改成
CXXFLAGS = -c -g -Ddebug
sift在64位系统上运行
从lowe主页中下载的sift是一个32位的静态库文件
./bin/sift: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, for SuSE 9.1, not stripped
而我的ubuntu14.04是 64位系统,也就是需要在64位系统上运行32程序。
解决方法:
//add i386 support to run 32bit binary file
sudo apt-get install gcc-multilib
sudo dpkg –add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
IPL库安装
$ sudo apt-get install python-imaging
$ sudo apt-get install libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev
$ sudo ln -s /usr/lib/
uname -i-linux-gnu/libfreetype.so /usr/lib/
$ sudo ln -s /usr/lib/
uname -i-linux-gnu/libjpeg.so /usr/lib/
$ sudo ln -s /usr/lib/
uname -i-linux-gnu/libz.so /usr/lib/
$ sudo apt-get install pip
$ pip install PIL
安装Gfortran
sudo apt-get install gfortran
其他的一些库
1)LAPACK:线性代数计算库
2)BLAS: 基础线性代数子程序,在LAPACK包中自带,但需进行设置
3)libjpeg:jpeg库,Ubuntu自带
4)lib: 通用目的的压缩库
1) LAPACK 官网下载好解压后,进入文件夹中
根据安装文档安装后,将生成的lib文件夹下的库文件拷至bundler的lib目录下
2) ZLIB的安装
./configure
make
sudo make install
ImageMagick
tar xvzf ImageMagick.tar.gz
cd ImageMagick-x-x-x
./configure
make
sudo make install
sudo ldconfig /usr/local/lib
测试
/usr/local/bin/convert logo:logo.gif
make check
只是临时设置变量 LD_LIBRARY_PATH ,下次开机,一切设置将不复存在;如何把这个值持续写到 LD_LIBRARY_PATH 里呢?
我们可以在 ~/.bashrc 或者 ~/.bash_profile 中加入 export 语句,前者在每次登陆和每次打开 shell 都读取一次,后者只在登陆时读取一次。我的习惯是加到 ~/.bashrc 中,在该文件的未尾,可采用如下语句来使设置生效:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
修改完后,记得关掉当前终端并重新打开一个新的终端,从而使上面的配置生效。
然后
Go to /bundler-v0.4-source/bin (copy libANN to lib folder code as follows)
$ sudo cp libANN_char.so /lib
最后make
Make 过程中的问题
After make, we can see such error,
BundlerApp.h:620:32: error: cannot call constructor ‘SkeletalApp::BundlerApp’
The solution is to change “BundlerApp::BundlerApp();” to “BundlerApp();” in line 620 of the file of BundlerApp.h
测试
~/bundler-v0.4-source $ ./RunBundler.sh examples/ET
为了可以增加debug功能
在src中的makefile中将opt flags修改成
CXXFLAGS = -c -g -Ddebug
相关文章推荐
- XSS quiz 6~10解题方案
- Ubuntu下安装matlab应用程序图文教程(详细 全面)
- C#——类和继承
- 杭电Red and Black。。。。水题
- vmware中的3种网络模式:桥接、NAT(地址转换)、host-only
- 二叉排序树
- 创建SSH Key连接github或gitlab
- android:gravity 和 android:layout_gravity 区别
- 创建SSH Key连接github或gitlab
- c语言总结
- 文字检测
- nova http 409 虚拟机状态重置
- [javase学习笔记]-4.4 函数的重载
- 申请内存的函数有哪些
- Q:应用程序无法正常启动(0xc000007b)
- 使用Windows Live发布博客到博客园
- 操作系统---基础题目汇总十三
- TCP/IP详解卷1 读书笔记:第二十八章 SMTP和POP3协议
- vmalloc 实现
- 源码安装zabbix2.4