ダウンロード
Eosのダウンロード方法について
目次
gitが利用できる方
gitがご利用できる方は、SourceForge.jpからのダウンロード([projects/eos])が可能です。gitコマンド使い方の詳細は、[sourceforge]をご覧下さい。以下は、簡単にインストールに関連するコマンドをまとめておきます。
簡易インストール (git版:初めて Eosを利用したい方、とにかくEosを画像処理に使ってみたい方)
初めてEosを利用したい方は、次のコマンドで実行することが出来ます。
install-eos.sh のダウンロード
curl -L https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw > /tmp/install-eos.sh
若しくは、
wget -q -O - https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw > /tmp/install-eos.sh
として、インストールコマンドをダウンロードします。
Eos_env のダウンロード
curl -L https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/Eos_env?export=raw > /tmp/Eos_env
若しくは、
wget -q -O - https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/Eos_env?export=raw > /tmp/Eos_env
として、環境設定ファイルをダウンロードします。
Eos本体のダウンロード
後に
$ source /tmp/Eos_env $ source /tmp/install-eos.sh
として実行して下さい。その後、インストール先のディレクトリを尋ねられますので、入力して下さい。そのままEnterキーを押すと、デフォールト$HOME/Eosにインストールされます。
Set the directroy to be installed [/Users/tacyas/Eos]: /Users/tacyas/EosTest
として、空のディレクトリを指定して下さい。後は、自動的にダウンロードが始まります。 その後、順調に設定が終了すれば、ホームディレクトリの中の、.bashrcファイルの中に、シェルの起動時にEos_envを実行するスクリプトが挿入されています。うまくいかない場合には、ダウンロードしてきた/tmp/Eos_env、もしくは、上記で指定したディレクトリ/env/Eos_envを起動時に実行して下さい。
$ source Eos_env
にて実行できます。
実行の確認
$ mrcInfo -h
が動けばひとまずインストールの完了です。
●注意事項1:いくつかのコマンドは、cuda、X11などの環境がないために動作しない環境があったりします。その場合には、必要なライブラリ等をインストールしたりする必要があります。その詳細は別に述べます。
●注意事項2:この状態で、自分自身のところで開発を行うことはできます。ただし、sourceforge上にアップロードすることはできません。アップロードしたい場合には、originのURLの変更とsourceforge上のアカウントの登録が必要です。また、最新版しかダウンロードしていません。過去の履歴を全てダウンロードしてこないと、gitの仕様上、アップロードしていくことができません。gitのunshallow機能をつかって、全てをダウンロードする必要があります。詳細は別に述べます。
初めてのディレクトリにインストールする場合(gitが利用できる方)
Eosの複製をgitを使って作製します。
Eosの共同開発を考えている場合(SourceForge上にアカウントが必要)
共同開発を考えている方、つまり、編集後、SourceForge上にソースをアップ(push)する事を前提とする場合についてこちらでは説明します。
SourceForgeへの登録
SourceForge上のUsernameとPassword及びpublic_keyをsourceforge上に登録する必要があります。
環境変数の設定
下記を実行する場合、Eos_envをダウンロードしてください。 これは、下記のダウンロード作業を行った場合には、$EOS_HOME/env/Eos_envとして登録されているものと同じです。 次に、下記のコマンドを実行してください。
$ source Eos_env
これにより、各種の環境変数が設定されます。この作業無しで実行する場合には、環境変数がもつ、$EOS_HOMEの替わりにインストールしたいディレクトリを設定する必要があります。
ユーザー名とSourceForge上のUsernameが異なる場合には、環境ファイルもしくは、手動にて、EOS_GITUSERの設定をします。
export EOS_GITUSER=(SourceForge上のUsername) or export EOS_GITUSER=$USER
gitを用いたダウンロードの実行
$EOS_HOMEが既に設定されている場合には次のようにcloneを作成する事が出来ます。
$ git clone --depth 1 ${EOS_GITUSER}@git.sourceforge.jp:/gitroot/eos/base.git $EOS_HOME or $ git clone --depth 1 https://scm.sourceforge.jp/gitroot/eos/base.git $EOS_HOME
インストールを指定したい場合、指定したいディレクトリを指定する必要があります。ここでは、$HOME/Eosの場合の例を示しています。
$ git clone --depth 1 ${EOS_GITUSER}@git.sourceforge.jp:/gitroot/eos/base.git $HOME/Eos or $ git clone --depth 1 https://scm.sourceforge.jp/gitroot/eos/base.git $HOME/Eos
Eosを使いたいだけの場合、もしくは、自分の所だけで開発を行いたい場合(SourceForge上にアカウントが必要ない)
編集しないか、もしくは、編集してもSourceForge上にソースをアップ(push)する事を前提としない場合には次のような作業を行うことになります。簡易インストーラが実行している内容がこれに対応します。
$ git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/base.git $EOS_HOME or $ git clone --depth 1 http://scm.sourceforge.jp/gitroot/eos/base.git $EOS_HOME
【注意1】sshやhttpsを使ってダウンロードする場合には、開発者として登録が必要です。ssh-keygenを使って作製したpublic_keyをsourceforge上に登録する必要があります。
【注意2】gitを使ってダウンロードした場合には、そのままでは、Eos上で新たに開発したものを登録(git-push)することができません。開発者として登録をお願いします。
【注意3】 --depth 1は、最新版のみを取得するためのオプションです。つけない場合は、すべての履歴をコピーすることになります。
【注意4】使用するコマンドによっては他のライブラリをothersからダウンロードしてリビルドする必要があります。ダウンロード方法は#付加的なレポジトリを利用したい場合に記載しています。
付加的なレポジトリを利用したい場合
チュートリアルで利用するデータやMakefileが置かれています。 いずれも、$EOS_HOMEのディレクトリで実施して下さい。
$ cd $EOS_HOME $ git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/tutorial.git
テスト用のデータファイルなどが置かれています。
$ cd $EOS_HOME $ git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/data.git
Eosのマニュアルなどが置かれています。
$ cd $EOS_HOME $ git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/optional.git
Eosで利用される他の開発コードが置かれています。コマンドや環境によっては動作するのに必要な場合もあります。
$ cd $EOS_HOME $ git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/others.git
全てのデータを一括でダウンロードしたい場合(makeコマンドを使用)
まず、最新のMakefileと最新のEos_envをダウンロードして、Eos_envのファイルを開き、EOS_HOMEにダウンロードディレクトリを設定します。(ディレクトリは空にして下さい。)さらに、EOS_GITUSERにsourceforgeのアカウントを設定します。お持ちでない場合は空にして下さい。(この場合はpushができませんので、ご注意ください。)
設定後に下記のコマンドを実行します。
$ source Eos_env # Eos_envがあるディレクトリで実行 $ make git-clone-all # Makefileがあるディレクトリで実行
ダウンロード完了後のMakefile、env/Eos_envは$EOS_HOME内のものを使用しますので、EOS_HOMEやEOS_GITUSERの内容を同じように変更します。
最新版に更新する場合
Eosの最新にアップデートすることができます。
最新版の取得
$ git fetch ;# 変更があったファイルをダウンロード or $ git fetch ssh://${EOS_GITUSER}@git.sourceforge.jp:/gitroot/eos/base.git or $ git fetch git://git.sourceforge.jp/gitroot/eos/base.git
最新版の取得(別法)
git pullは、fetch/merge等が自動的に実行されます。自分自身がソースコードを変更していない場合には一度に実施することができます。分かっている場合にのみ、使いましょう。疑問が少しでもある場合には、fetch/mergeを順に行うことをお薦めします。
$ git pull git://git.sourceforge.jp/gitroot/eos/base.git
変更になっている部分の確認
$ git log FETCH_HEAD ;# 変更になっている部分を表示
変更を追加
変更になっている部分を確認した後、自分自身が変更したものとマージしても問題がなければ、変更を追加します。自分自身も変更している場合には注意が必要です。
$ git merge FETCH_HEAD ;# 変更になっているものをマージする
makeを用いた更新
$EOS_HOME/Makefileが最新のものになっていれば、上記のことを下記のMakefileにて実行できます。
※ $EOS_HOMEは$HOME/Eosディレクトリを指しています。
環境ファイルをそのまま使用する場合は、baseディレクトリを$HOMEに置き、Eosとリネームして下さい。
$ cd $EOS_HOME $ make git-fetch $ make git-merge
Eosの機能追加、修正を登録する場合
自分自身が機能追加、修正をかけ、登録する場合の例を下記に挙げておきます。
git add ; # 自分自身の複製で変更したものを加える git commit ; # 変更したモノをgitに格納する # git push ; # git serverに格納 or git push origin master or git push origin master
※ gitコマンド使い方の詳細は、[sourceforge]もしくは、gitの解説書をご覧下さい。
Eosそのものの機能(Eosが提供しているMakefile)を使ってインストールすることもできます。
$ cd $EOS_HOME ; # Eosのディレクトリに移動します。 $ make git-add ; # 変更や加えられたファイルをレポジトリに一時的に格納します $ make git-commit ; # 変更点等のコメント毎、レポジトリに格納します
タグを変更したいとき
※ 現在、ソースコードをアップロード毎にバージョン名によるタグで管理しています。Eosの開発のルールに従って、アップロード前にタグを付けるよう、ご協力をお願いします。
$ git tag $ git tag newtag
アップロードします
$ make git-push ; # SourceForge上にアップします
直接ダウンロードしたい方、開発環境は必要なく、実行だけを行いたい方
下記のサイトから、バイナリtarballをダウンロードが可能です。
[EosHomePage] or [Sourceforge]
上記にアップされていないバイナリ形式に興味がある方は安永(yasunaga@bio.kyutech.ac.jp)までご連絡下さい。
作成されたディレクトリの構成(Eosの構造)は別ページにて説明しています。
※ 2013/02より、大幅にディレクトリの構成が変更になっています。ご注意下さい。目的は、ホスト依存のバイナリコードと非依存なソースコードを切り離すことが目的です。ヘテロな環境での実行を維持しながら、NFSなどでexportされた一つのディレクトリで実行するために変更しました。
動作環境
現在、手元に環境があり、動作することが確認出来ているのは、下記のものです。
LINUX 32bits/64bits OS-X 32bits/64bits Windows with Cygwin
うまく動作しない場合
コンパイルされていない場合
Q1) 使いたいツールを実行しようとすると Not Installed: XXXXX-version YYYYYY といわれる
A1) 設定された環境でコンパイル・リンクがなされていません。src/Tools以下のディレクトリにあるCLASS/YYYYYY のディレクトリに移動し、make check; make depend; make install とうってみましょう。
Xcodeのインストールが不十分な場合
Q2 ) OS-Xでmakeを利用しようとすると下記のようなエラーコードがでる
sh: line 1: 8482 Trace/BPT trap: 5 /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -sdk -find make 2> /dev/null make: error: unable to find utility "make", not a developer tool or in PATH
A2) いずれかのダイナミックライブラリがうまくインストールされていない場合にこのようなエラーが出ます。
直接、下記のコマンドを実行してみましょう。
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -sdk -find make
足りないライブラリに関してエラーを出力しています。多くの場合、ダイナミックライブラリのパスの設定の問題です。
sudo cp /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Resources/libTIFF.dylib $EOS_HOME//util/X86MAC64/lib/
として、必要とされるライブラリを$EOS_HOME//util/X86MAC64/lib/コピーしてみて下さい。
gitのメモリが足りないとき
Q3) git cloneをかけようとすると、
remote: aborting due to possible repository corruption on the remote side. fatal: early EOF fatal: index-pack failed
として停止してしまう。
A3) これは、Eosのパッケージが大きすぎて、gitがindexを取得できないために生じます。