Ubuntu10.04 64bit版でBundlerとPMVS2を動かす

32bit版Windowsの一つのプロセスは2GBまでしかメモリを確保できないという制限が厳しくてUbuntu10.04の64bit版を使うことにした。32bit版のことしか考えてないのか、ちょっとめんどかったけど動いたのでメモとしてどうやれば動くのかを書いておく。

64bitに対応してないものがいくつかあるのでそこは代替の物を使うようにすればいい。

  • jheadはaptitudeでインストールしてそちらを使うようにする。
  • SIFTはhttp://web.engr.oregonstate.edu/~hess/にある物を使えば良い。
  • PMVS2はバイナリが64bitで動くのでmakeする必要は無いがlibgfortran.so.1が入ってないので無理やり入れた。

いろいろまずい点があるような気がするけど、これを動かすためだけにUbutu10.04 64bit版を入れたので気にしない。

以下は作業メモ。京大内からやったのでproxyの設定があるけど気にしない。

    #Install Ubuntu
uname -a | grep x86_64
sudo vi /etc/apt/apt.conf.d/00proxy
  Acquire::http::Proxy "http://proxy.kuins.net:8080";
  Acquire::ftp::Proxy "ftp://proxy.kuins.net:8080";
sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude install vim
sudo aptitude install zsh
chsh
  /bin/zsh
vim .zshrc
  export http_proxy="http://proxy.kuins.net:8080"
  export ftp_proxy="ftp://proxy.kuins.net:8080"


    #Install Bundler
mkdir temp
cd temp
wget http://phototour.cs.washington.edu/bundler/distr/bundler-v0.4-source.tar.gz
tar xzfv bundler-v0.4-source.tar.gz
cd bundler-v0.4-source.tar.gz
sudo aptitude install g++  #build-esentialを入れたほうがいい気がする
sudo aptitude install gfortran
sudo aptitude install zlib1g-dev
sudo aptitude install libjpeg-dev
sudo aptitude install liblapack-dev
sudo aptitude install libmagick-dev
sudo aptitude install jhead
make
sudo cp bin/libANN_char.so /lib/
vim bin/extract_focal.pl
  #$JHEAD_EXE = "$BIN_PATH/jhead";
  $JHEAD_EXE = "jhead";


    #Installing OpenCV2.1 for making SIFT
    #http://d.hatena.ne.jp/pyopyopyo/20100410/p1
cd ~/temp/
wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.1/OpenCV-2.1.0.tar.bz2
tar xfvj OpenCV-2.1.0.tar.bz2
cd OpenCV-2.1.0
mkdir build
cd build
sudo aptitude install cmake
sudo aptitude install libtbb-dev
sudo aptitude install libgtk2.0-dev
sudo aptitude install libpng-dev libjpeg-dev
sudo aptitude install libavformat-dev libswscale-dev 
cmake -DWITH_TBB=1  ..
sudo make install
sudo /sbin/ldconfig


    #make SIFT
cd ~/temp/
wget http://web.engr.oregonstate.edu/~hess/downloads/sift/sift-latest.tar.gz
tar xzfv sift-latest.tar.gz
cd sift
sudo aptitude install doxygen
make
cp bin/siftfeat ~/temp/bundler-v0.4-source/bin/sift
cd ~/temp/bundler-v0.4-source/bin/
vim ToSift.sh
  #echo "mogrify -format pgm $IMAGE_DIR/$d; $SIFT < $pgm_file > $key_file; rm $pgm_file; gzip -f $key_file"
  echo "mogrify -format pgm $IMAGE_DIR/$d; $SIFT -x -o $key_file $pgm_file; rm $pgm_file; gzip -f $key_file"


    #Install PMVS2
    #download lobgfrotran1  http://packages.ubuntu.com/hardy/libs/libgfortran1
cd ~/temp/
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-4.1/libgfortran1_4.1.2-21ubuntu1_amd64.deb
guiで解凍
tar xzfv data.tar.gz
sudo cp libgfortran.so.1 libgfortran.so.1.0.0 /usr/lib/