如何编译安装Bundler | 少将全栈
  • 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

如何编译安装Bundler

点滴 admin 9年前 (2016-03-16) 1824次浏览 已收录 扫描二维码

 前几天一直忙录公司招聘的事情,没有更新博客。上一篇博客我们讨论了Bundler的安装和配置,今天我们来讨论一下Bundler的编译方法。笔者主要是在Ubuntu进行下面的编译安装工作,而Windows下如果已经装了Cygywin,整个过程大同小异。

编译安装Bundler比直接安装它编译好的二进制文件繁琐的多,因为它依赖的库较多。整个过程如下所示:

一、Bundler源码包的获取

1. 到 http://phototour.cs.washington.edu/bundler/下载Bundler的源码包。Windows用户可以直接下载 bundler-v0.4-source.zip;Linux用户可以直接下载 bundler-v0.4-source.tar.gz,或直接在终端运行如下代码获取源码包:

wget http://phototour.cs.washington.edu/bundler/distr/bundler-v0.4-source.tar.gz

2. 下载完成后,解压该源码包:

tar -zxvf bundler-v0.4-source.tar.gz

二、GFortran的安装

Bundler所依赖的库中有些库是用Fortran写成的。为了编译Fortran程序,需要安装GFortran编译器。

sudo apt-get install gfortran

三、编译 / 安装依赖库

Bundler所依赖的外部库列表如下:

  • LAPACK    :线性代数计算库
  • BLAS    :基础线性代数子程序,在LAPACK包中有自带,但需进行设置
  • libjpeg     :jpeg库,Ubuntu已自带
  • libz     :通用目的的压缩库

1. LAPACK、BLAS的编译

LAPACK是一个高性能的线性代数计算库。我已经在Ubuntu下编译成功,不想编译它的读者可以直接下载我编译的结果lapack4Bundler.zip,解压后共3个文件,将它们拷贝到Bundler工程的lib文件夹里即可。如果想体验LAPACK的编译过程,则可以参考下面几步:

首先下载LAPACK编译包,下载地址为: http://www.netlib.org/lapack/#_strong_lapack_version_3_3_0_strong,目前官方放出的最新版是lapack-3.3.0.tgz

wget http://www.netlib.org/lapack/lapack-3.3.0.tgz

下载完后解压:

tar -zxvf lapack-3.3.0.tgz

在make之前,需要先创建一个make.inc文件,可以直接根据make.inc.example创建:

cd lapack-3.3.0 cp make.inc.example make.inc

如果是使用Ubuntu+gfortran,则无须更改make.inc里的内容,否则需要根据系统环境和编译器修改文件里对应的选项。
LAPACK依赖BLAS,因此在编译LAPACK前需要提供BLAS包,所幸LAPACK里已经集成了BLAS包,但默认并不编译它。要想编译
LAPACK前先编译BLAS,需要修改一下makefile:

gedit Makefile

光标定位到第11行并将内容改为:

lib: blaslib lapacklib tmglib

保存退出,然后开始make整个工程。

make

编译完成后,目录下将生成blas_LINUX.a、lapack_LINUX.a和tmglib_LINUX.a三个文件。如图1所示。

如何编译安装Bundler

图1   LAPACK编译结果

将这三个文件分别更名为: libblas.a,liblapack.a,libtmglib.a并复制到bundler-vX.X-source/lib目录下。

2. zlib的编译安装

zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表。zlib使用DEFLATE算法,最初是为libpng函式库所写的,后来普遍为许多软件所使用。此函式库为自由软件,使用zlib授权。截至2007年3月,zlib是包含在Coverity的美国国土安全部赞助者选择继续审查的开源项目。

zlib的官方主页为: http://www.zlib.net/,目前最新版为:zlib-1.2.5

wget http://zlib.net/zlib-1.2.5.tar.gz

完成后解压:

tar -zxvf zlib-1.2.5.tar.gz

cd进去编译安装:

cd zlib-1.2.5
./configure
make
sudo make install

四、编译安装Bundler

回到Bundler的工程目录,make进行编译安装。

make

完成后在bin目录下就会看到新生成的bundler可执行文件。

五、测试Bundler

参考上一篇博文,将SIFT文件拷贝到bin目录,然后在终端执行:

./RunBundler.sh examples/ET

完成后,提示运行成功,如图2所示。

如何编译安装Bundler

图2  Bundler运行结果

喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。