从 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-multilibsudo 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
本文介绍了如何在64位Ubuntu系统中安装配置32位的SIFT库及Bundler软件包的过程。包括安装必要的依赖库、配置环境变量以及解决编译过程中出现的问题。
2936

被折叠的 条评论
为什么被折叠?



