Download and install the source package from http://www.cs.cornell.edu/~snavely/bundler/, the following problems will occur in the installation configuration sift run on a 64-bit system
The sift downloaded from the Lowe home page is a 32-bit static library file
./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
My ubuntu14.04 is a 64-bit system that requires 32 programs to be run on 64-bit systems.
Workaround:
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 Library installation
$ 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
Installing Gfortran
sudo apt-get install Gfortran
Some of the other libraries
1) LAPACK: linear algebra Calculation Library
2) BLAS: Basic linear Algebra subroutine, self-contained in the LAPACK package, but must be set
3) Libjpeg:jpeg Library, Ubuntu comes with
4) Lib: Compression Library for general purpose
1) LAPACK website Download Good unzip, enter the folder
Copy the library file under the generated Lib folder to the Bundler Lib directory after installation according to the installation document
2) Installation of 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
Test
/usr/local/bin/convert Logo:logo.gif
Make check
Just temporarily set the variable ld_library_path, next boot, all settings will no longer exist, how to continue to write this value in Ld_library_path.
We can add the export statement in ~/.BASHRC or ~/.bash_profile, which is read once per login and every time the shell is opened, which is only read once at login. My habit is to add to ~/.BASHRC, at the end of the file, you can use the following statement to make the setting effective:
Export Ld_library_path= $LD _library_path:/usr/local/lib
When you are finished, remember to turn off the current terminal and reopen a new terminal to make the above configuration effective.
And then
Go to/bundler-v0.4-source/bin (copy Libann to Lib folder code as follows)
$ sudo cp libann_char.so/lib
Final make
Issues in the Make process
After make, we can see such error,
Bundlerapp.h:620:32:error:cannot Call constructor ' Skeletalapp::bundlerapp ' the solution are to change "bundlerapp::bund Lerapp (); "To" Bundlerapp (); 620 of the file of BundlerApp.h
Test
~/bundler-v0.4-source $./runbundler.sh Examples/et
In order to increase the debug function
In SRC makefile, opt flags were modified to
Cxxflags =-c-g-ddebug