「ダウンロード」の版間の差分

提供: Eospedia
移動: 案内検索
(初めてのディレクトリにインストールする場合)
(install-eos.sh のダウンロード)
 
(4人の利用者による、間の116版が非表示)
行1: 行1:
 
'''Eos'''のダウンロード方法について
 
'''Eos'''のダウンロード方法について
 +
 +
== 前段階 ==
 +
 +
=== OS-X(Mac)で利用したい方 ===
 +
OS-Xで動作させたい方は、[[EosOnMac]]で示されたプログラムをインストールしてから、下記の手順でダウンロードしてください。
 +
 +
=== Linuxで利用したい方 ===
 +
Linux上で動作させたい方は、[[EosOnLinux]]で示されたプログラムをインストールしてから、下記の手順でダウンロードしてください。
  
 
== gitが利用できる方 ==
 
== gitが利用できる方 ==
行5: 行13:
 
gitがご利用できる方は、SourceForge.jpからのダウンロード([[http://sourceforge.jp/projects/eos/ projects/eos]])が可能です。gitコマンド使い方の詳細は、[[http://sourceforge.jp/magazine/09/03/16/0831212 sourceforge]]をご覧下さい。以下は、簡単にインストールに関連するコマンドをまとめておきます。
 
gitがご利用できる方は、SourceForge.jpからのダウンロード([[http://sourceforge.jp/projects/eos/ projects/eos]])が可能です。gitコマンド使い方の詳細は、[[http://sourceforge.jp/magazine/09/03/16/0831212 sourceforge]]をご覧下さい。以下は、簡単にインストールに関連するコマンドをまとめておきます。
  
 +
=== 簡易インストール (git版:初めて Eosを利用したい方、とにかくEosを画像処理に使ってみたい方) ===
 +
 初めてEosを利用したい方は、次のコマンドで実行することが出来ます。
  
=== 初めてのディレクトリにインストールする場合 ===
+
 それぞれのコマンドの意味は、下記に記述しています。
 +
 
 +
==== 超簡易インストール(利用したいだけの方向け) ====
 +
$ curl -L  https://osdn.jp/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw > /tmp/install-eos.sh
 +
$ curl -L  https://osdn.jp/projects/eos/scm/git/base/blobs/master/env/Eos_env?export=raw > /tmp/Eos_env
 +
 
 +
もしくは、ブラウザで直接、下記にアクセスすると、ダウンロードできます。
 +
 
 +
[https://ja.osdn.net/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw install-eos.sh]
 +
 
 +
[https://osdn.jp/projects/eos/scm/git/base/blobs/master/env/Eos_env?export=raw Eos_env]
 +
 
 +
$ source /tmp/Eos_env
 +
$ source /tmp/install-eos.sh
 +
Set the directory to be installed in  [/home/XXX/Eos]:           XXXは、ホームディレクトリを示しています。そのままでよいなら、Enterを、変更したければ入力して下さい。
 +
Directory: /home/XXX/Eos
 +
Do you have your git account for OSDN [Y|y or N|n] ?n         OSDN上にアカウントがなく、ひとまずインストールして利用したい方は入力しなくてよいです。      
 +
Do you want to rewrite /home/Eos/.bash_prfile ? [Y|y or N|n] y     環境変数の設定をするかどうかを示しています。
 +
Do you want to rewrite /home/Eos/.bashrc ? [Y|y or N|n] y
 +
Cloning into '/home/XXX/Eos'...
 +
-----
 +
Cloning into 'YYYYYYYYY'...                     YYYYYYYYは、ホストの環境毎に異なります。
 +
-----
 +
Setting an environment for Eos
 +
Please check /home/Eos/.bash_profile.
 +
You finished Eos installation.
 +
 
 +
もしも,OSのバージョン等の関係で動かなかったときは,下記のコマンドで再構築して下さい.
 +
$ cd $EOS_HOME
 +
$ make rebuild
 +
 
 +
==== 超簡易インストール(共同開発をしたい方向け) ====
 +
$ curl -L  https://osdn.jp/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw > /tmp/install-eos.sh
 +
$ curl -L  https://osdn.jp/projects/eos/scm/git/base/blobs/master/env/Eos_env?export=raw > /tmp/Eos_env
 +
 
 +
もしくは、直接、ブラウザでダウンロードして下さい。
 +
[https://osdn.jp/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw install-eso.sh]
 +
[https://osdn.jp/projects/eos/scm/git/base/blobs/master/env/Eos_env?export=raw Eos_env]
 +
 
 +
 
 +
$ source /tmp/Eos_env
 +
$ source /tmp/install-eos.sh
 +
Set the directory to be installed in  [/home/XXX/Eos]:         XXXは、ホームディレクトリを示しています。そのままでよいなら、Enterを、変更したければ入力して下さい。
 +
Directory: /home/XXX/Eos
 +
Do you have your git account for OSDN [Y|y or N|n] ?y        OSDN上のアカウントをお持ちの方はy として設定して下さい。      
 +
Set the git account for OSDN [XXX]:                                                            ssh-keygenを設定したアカウントを設定して下さい。通常はそのままで大丈夫です。
 +
Do you want to rewrite /home/XXX/.bash_prfile ? [Y|y or N|n] y     環境変数の設定をするかどうかを示しています。
 +
Do you want to rewrite /home/XXX/.bashrc ? [Y|y or N|n] y
 +
Cloning into '/home/XXX/Eos'...
 +
Username for 'https://scm.osdn.jp': XXXXX                                                OSDN上のユーザー名を入力して下さい。
 +
Password for 'https://XXXXX@scm.osdn.jp':              OSDN上のパスワードを入力して下さい。
 +
-----
 +
Cloning into 'YYYYYYYYY'...                     YYYYYYYYは、ホストの環境毎に異なります。
 +
-----
 +
Setting an environment for Eos
 +
Please check /home/Eos/.bash_profile.
 +
You finished Eos installation.
 +
 
 +
==== 各コマンドの詳細 ====
 +
===== install-eos.sh のダウンロード=====
 +
インストーラをダウンロードします。zshなどで、?が特別な意味を持つ場合には、¥?に置き換えてみて下さい。
 +
 
 +
<strike>curl -L  https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw > /tmp/install-eos.sh</strike>
 +
 +
SourceForgeからではなく、OSDNからのダウンロードに変更して
 +
 +
curl -L  https://osdn.jp/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw > /tmp/install-eos.sh
 +
 
 +
若しくは、
 +
 +
<strike>wget -q -O -  https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw > /tmp/install-eos.sh</strike>
 +
 +
wget -q -O -  https://osdn.jp/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw > /tmp/install-eos.sh
 +
 
 +
として、インストールコマンドをダウンロードします。
 +
 
 +
===== Eos_env のダウンロード=====
 +
<strike>curl -L  https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/Eos_env?export=raw > /tmp/Eos_env</strike>
 +
 +
同様に、SourceForgeからではなく、OSDNからのダウンロードに変更して
 +
 +
curl -L  https://osdn.jp/projects/eos/scm/git/base/blobs/master/env/Eos_env?export=raw > /tmp/Eos_env
 +
 +
若しくは、
 +
 +
<strike>wget -q -O -  https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/Eos_env?export=raw > /tmp/Eos_env</strike>
 +
 
 +
wget -q -O -  https://osdn.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
 +
          or
 +
$ source /tmp/install-eos.sh a_directory_to_be_installed
 +
          or
 +
$ source /tmp/install-eos.sh a_directory_to_be_installed osdn_username
 +
 
 +
インストールするべきディレクトリ(a_directory_to_be_installed)や、osdn_usernameが指定されている場合には、次からのいくつかのステップがスキップされます。
 +
 
 +
*install-eos.shは、随時、バージョンアップしていますので、注意して下さい。
 +
 
 +
====== インストール先ディレクトリの設定 ======
 +
 
 +
 次に、インストール先のディレクトリを尋ねられますので、入力して下さい。上記で、インストール先のディレクトリが指定されている場合にはスキップされます。
 +
そのままEnterキーを押すと、デフォールト(通常は、$HOME/Eos)となっている$HOME/Eosにインストールされます。
 +
 
 +
Set the directroy to be installed [/Users/xxxx/Eos]:  /Users/xxxx/EosTest
 +
 
 +
として、空のディレクトリを指定して下さい。そのままエンターを押すと、現在表示されているディレクトリにインストールされることになります。
 +
 
 +
* 空のディレクトリでなく、既にインストールしているディレクトリが設定された場合には、下記のエラーを出して終了します。
 +
Already installed
 +
Use update-eos.sh for updating or set a new directory for installation
 +
 
 +
* デフォールトディレクトリを予め変更したい場合には、環境変数EOS_HOME0を設定して下さい。
 +
$ export EOS_HOME0=/tmp/Eos
 +
 
 +
 
 +
====== gituserの設定 ======
 +
 OSDNにユーザーとしてアカウントを持っているかどうかが尋ねられます。
 +
 
 +
 ダウンロードした方が、ツールを共同開発するのでなければ、nまたはNを入力して下さい。
 +
 
 +
Do you have your git account for OSDN [Y|y or N|n] ? n
 +
 
 +
 ツールを共同開発する場合には、OSDNとしてのユーザー登録が必要です。この作業はあとからでも可能です。
 +
自分自身のダウンロードしたものを変更することはユーザー登録がなくても問題ありません。開発したものを
 +
OSDN上にプッシュ(アップロード)するために必要となります。
 +
 
 +
Do you have your git account for OSDN [Y|y or N|n] ? y
 +
Set the git account for OSDN [XXX]:XXX
 +
 
 +
として、設定して下さい。このXXXは、通常、ユーザー名です。OSDN上のアカウントではなく、こちらでgitを使うユーザーのアカウントです。
 +
 
 +
====== 環境変数の設定方法 ======
 +
 
 +
 環境変数などを設定するEos_envの呼び出しを.bash_profileを組み込むかどうかを選択します。
 +
 
 +
Do you want to rewrite /Users/tacyas/.bash_prfile ? [Y|y or N|n] n
 +
 
 +
こちらを選択した場合には、自分で設定してもらうか、毎回、sourc $EOS_HOME/env/Eos_env を実行することになります。
 +
 
 +
Do you want to rewrite /Users/tacyas/.bash_prfile ? [Y|y or N|n] y
 +
 
 +
こちらの場合には、.bash_profileに書き加えられます。
 +
下記の範囲に書かれており、書き換えられる可能性があるので注意して下さい。
 +
## Eos_env Start
 +
.....
 +
## Eos_env End
 +
 
 +
====== インストールの開始 ======
 +
 
 +
 後は、自動的にダウンロードが始まります。
 +
 
 +
 OSDN上にアカウントがあると答えた方は、OSDN上のアカウントを途中で聞いてこられます。
 +
Username for 'https://scm.osdn.jp': XXXXX
 +
Password for 'https://XXXXX@scm.osdn.jp':
 +
 
 +
 その後、順調に設定が終了すれば、最後に、
 +
 
 +
You finished Eos installation.
 +
 
 +
が出力されます。
 +
 <strike>ホームディレクトリの中の.bashrcファイルの中に、シェルの起動時にEos_envを実行するスクリプトが挿入されています。</strike>
 +
 
 +
うまくいかない場合には、ダウンロードしてきた/tmp/Eos_env、もしくは、上記で指定したディレクトリ/env/Eos_envを起動時に実行することになります。
 +
$ source Eos_env
 +
にて実行できます。
 +
 
 +
実行環境によっては、$HOME/.profileの中に書き込む必要がある場合があります。
 +
 
 +
下記を参考にして下さい。$HOME/Eosとしてインストールされているものとなっています。
 +
別の場所にインストール場合には、EOS_HOME0のコメントをはずして、設定する必要があります。
 +
また、OSDN上にユーザーアカウントをもって、共同開発を考えている方は、EOS_GITUSER0を設定する必要があります。
 +
 
 +
## Eos_env Start
 +
##
 +
 +
if [ ! -z $EOS_HOME0 ] ; then
 +
    if [ -f $EOS_HOME0/env/Eos_env -a ! -f $HOME/.Eos_env ] ; then
 +
        ln -s $EOS_HOME0/env/Eos_env $HOME/.Eos_env
 +
    fi 
 +
fi
 +
 +
#export EOS_HOME0=Eos
 +
#export EOS_GITUSER0=EosUser
 +
 +
test -r $HOME/.Eos_env  && . $HOME/.Eos_env
 +
 +
##
 +
## Eos_env End
 +
 
 +
==== 実行の確認 ====
 +
 
 +
$ mrcInfo -h
 +
 
 +
が動けばひとまずインストールの完了です。
 +
 
 +
●注意事項1:いくつかのコマンドは、cuda、X11などの環境がないために動作しない環境があったりします。その場合には、必要なライブラリ等をインストールしたりする必要があります。その詳細は別に述べます。
 +
 
 +
●注意事項2:この状態で、自分自身のところで開発を行うことはできます。ただし、sourceforge上にアップロードすることはできません。アップロードしたい場合には、originのURLの変更とsourceforge上のアカウントの登録が必要です。また、最新版しかダウンロードしていません。過去の履歴を全てダウンロードしてこないと、gitの仕様上、アップロードしていくことができません。gitのunshallow機能をつかって、全てをダウンロードする必要があります。詳細は別に述べます。
 +
 
 +
●注意事項3:OS-X(10.11, El Capitan)では、dyldの関係でcudaライブラリ等がロード出来ません。SIPをdisableにする必要が現在あります。このページの下にあるトラブルシューティングを参考にして下さい。
 +
 
 +
=== gitコマンドを直接使ってインストールしたい方:初めてのディレクトリにインストールする場合 ===
 
Eosの複製をgitを使って作製します。
 
Eosの複製をgitを使って作製します。
  
編集後、SourceForge上にソースをアップ(push)する事を前提とする場合
+
==== Eosの共同開発を考えている場合(SourceForge上にアカウントが必要) ====
 +
共同開発を考えている方、つまり、編集後、SourceForge上にソースをアップ(push)する事を前提とする場合についてこちらでは説明します。
  
  $ git clone --depth 1 ssh://${EOS_GIT_USER}@git.sourceforge.jp/gitroot/eos/base.git $EOS_HOME
+
===== SourceForgeへの登録 =====
 +
SourceForge上のUsernameとPassword及びpublic_keyをsourceforge上に登録する必要があります。
 +
 
 +
===== 環境変数の設定 =====
 +
下記を実行する場合、[https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/Eos_env?export=raw Eos_env] をダウンロードしてください。
 +
これは、下記のダウンロード作業を行った場合には、$EOS_HOME/env/Eos_envとして登録されているものと同じです。
 +
次に、下記のコマンドを実行してください。インストール先は、$HOME/Eosがデフォールトで設定されています。環境変数:EOS_HOME0 を設定すれば、自分がインストールしたいディレクトリにインストールすることも可能です。
 +
 
 +
$ 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  
 
     or  
 
  $ git clone --depth 1 https://scm.sourceforge.jp/gitroot/eos/base.git $EOS_HOME
 
  $ git clone --depth 1 https://scm.sourceforge.jp/gitroot/eos/base.git $EOS_HOME
  
編集しないか、もしくは、編集してもSourceForge上にソースをアップ(push)する事を前提としない場合
+
インストールを指定したい場合、指定したいディレクトリを指定する必要があります。ここでは、$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
 +
 
 +
その後、それぞれのホストに応じて必要なバイナリやライブラリをダウンロードします。
 +
 
 +
$ cd $EOS_HOME
 +
$ make setting
 +
$ cd $EOS_HOME/hostdepend
 +
$ git clone --depth 1  ${EOS_GITUSER}@git.sourceforge.jp:/gitroot/eos/hostdepend${EOS_HOSTDIR}.git ${EOS_HOSTDIR}
 +
 
 +
※ EOS_HOSTDIRは、バイナリの存在場所を変更するための環境変数です。Eos_envの中で、自動的に設定されます。
 +
 
 +
[[CUDA]]のインストールが必要な場合があります。[[EosOnCUDA]]を参考にして下さい。
 +
 
 +
==== Eosを使いたいだけの場合、もしくは、自分の所だけで開発を行いたい場合(SourceForge上にアカウントが必要ない) ====
 +
編集しないか、もしくは、編集してもSourceForge上にソースをアップ(push)する事を前提としない場合には次のような作業を行うことになります。簡易インストーラが実行している内容がこれに対応します。
 +
 
 
  $ git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/base.git $EOS_HOME
 
  $ git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/base.git $EOS_HOME
 
     or  
 
     or  
 
  $ git clone --depth 1 http://scm.sourceforge.jp/gitroot/eos/base.git $EOS_HOME
 
  $ git clone --depth 1 http://scm.sourceforge.jp/gitroot/eos/base.git $EOS_HOME
  
 +
$EOS_HOMEが設定されていない場合には、直接、ディレクトリを指定して下さい。ただし、そのディレクトリを今後も利用する場合には、$EOS_HOMEとして設定する必要があります。
  
【注意1】sshやhttpsを使ってダウンロードする場合には、開発者として登録が必要です。ssh-keygenを使って作製したpublic_keyをsourceforge上に登録する必要があります。
+
その後、それぞれのHOST毎に異なるバイナリを落としてきます。
  
【注意2】gitを使ってダウンロードした場合には、そのままでは、Eos上で新たに開発したものを登録(git-push)することができません。開発者として登録をお願いします。
+
$ source $EOS_HOME/env/Eos_env
 +
 
 +
を実行します。次に、
 +
 
 +
$ echo ${EOS_HOSTDIR}
 +
 
 +
が設定されていることを確認して、下記を実行します。SourceForge上にhostdepend${EOS_HOSTDIR}があることが前提です。それ以外のHOSTDIRが必要な方はご連絡ください。
 +
 
 +
$ cd $EOS_HOME/hostdepend; git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/hostdepend${EOS_HOSTDIR} .git ${EOS_HOSTDIR}
 +
    or
 +
$ cd $EOS_HOME/hostdepend; git clone --depth 1 http://scm.sourceforge.jp/gitroot/eos/hostdepend${EOS_HOSTDIR} .git ${EOS_HOSTDIR}
 +
 
 +
 
 +
【注意1】sshやhttpsを使ってダウンロードする場合には、開発者として登録が必要です。ssh-keygenを使って作製したpublic_keyをsourceforge上に登録する必要があります。上述を参照してください。
 +
 
 +
【注意2】アカウントを設定せず、gitを使ってダウンロードした場合には、そのままでは、Eos上で新たに開発したものを登録(git-push)することができません。下記の注意3,4をご参照下さい。
 +
 
 +
<span style="color:red">【注意3】</span> 開発者として、SourceForgeに登録した場合には、その後、git remoteコマンドを使って、originを変更してください。
 +
 
 +
cd $EOS_HOME
 +
git remote -v
 +
git remote rm origin
 +
git remote add origin  $(EOS_GITUSER)@git.sourceforge.jp:/gitroot/eos/base.git
 
   
 
   
【注意3】 --depth 1は、最新版のみを取得するためのオプションです。つけない場合は、すべての履歴をコピーすることになります。
+
cd $EOS_HOME/hostdepend/$EOS_HOSTDIR
 +
git remote -v
 +
git remote rm hostdepend$(EOS_HOSTDIR).git
 +
git remote add hostdepend$(EOS_HOSTDIR).git  $(EOS_GITUSER)@git.sourceforge.jp:/gitroot/eos/hostdepend$(EOS_HOSTDIR).git
 +
 
 +
<span style="color:red">【注意4】</span> --depth 1は、最新版のみを取得するためのオプションです。つけない場合は、すべての履歴をコピーすることになります。一方で、開発者として、git-pushを行う為には、全ての履歴をコピーしてくる必要があります。ディスクの空きを確認した後、--unshallowを使ってダウンロードしてください。うまくいかない場合には、gitのリポジトリが大きすぎて、キャッシュが作れないことが原因です。その場合には、順に--depthを深くしてください。例えば、次のようなコマンドが利用できます。
 +
 
 +
$ for i in `seq 1 100` ; do git clone --depth $i git://git.sourceforge.jp/gitroot/eos/hostdepend${EOS_HOSTDIR} .git ${EOS_HOSTDIR} ; done
 +
$ git clone --unshallow git://git.sourceforge.jp/gitroot/eos/hostdepend${EOS_HOSTDIR} .git ${EOS_HOSTDIR}
 +
 
 +
【注意5】使用するコマンドによっては他のライブラリをリビルドする必要があります。ダウンロード方法は[[#付加的なレポジトリを利用したい場合]]に記載しています。
  
 
==== 付加的なレポジトリを利用したい場合 ====
 
==== 付加的なレポジトリを利用したい場合 ====
 
チュートリアルで利用するデータやMakefileが置かれています。
 
チュートリアルで利用するデータやMakefileが置かれています。
  git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/tutorial.git
+
いずれも、$EOS_HOMEのディレクトリで実施して下さい。
 +
 
 +
  $ cd $EOS_HOME
 +
$ git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/tutorial.git
  
 
テスト用のデータファイルなどが置かれています。
 
テスト用のデータファイルなどが置かれています。
  git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/data.git
+
  $ cd $EOS_HOME
 +
$ git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/data.git
  
 
Eosのマニュアルなどが置かれています。
 
Eosのマニュアルなどが置かれています。
  git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/optional.git
+
  $ cd $EOS_HOME
 +
$ git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/optional.git
  
Eosで利用される他の開発コードが置かれています。
+
Eosで利用される他の開発コードが置かれています。コマンドや環境によっては動作するのに必要な場合もあります。
  git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/others.git
+
  $ cd $EOS_HOME
 +
$ git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/others.git
 +
<br>
  
=== 最新版に更新する場合 ===
+
==== 全てのデータを一括でダウンロードしたい場合(makeコマンドを使用) ====
 +
まず、[https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/Makefile?export=raw 最新のMakefile]と[https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/Eos_env?export=raw 最新のEos_env]をダウンロードして、Eos_envのファイルを開き、EOS_HOMEにダウンロードディレクトリを設定します。(ディレクトリは空にして下さい。)さらに、EOS_GITUSERにsourceforgeのアカウントを設定します。お持ちでない場合は空にして下さい。(この場合はpushができませんので、ご注意ください。)<br>
 +
<br>
 +
 
 +
設定後に下記のコマンドを実行します。<br>
 +
<pre>
 +
$ source Eos_env # Eos_envがあるディレクトリで実行
 +
$ make git-clone-all # Makefileがあるディレクトリで実行
 +
</pre>
 +
<br>
 +
 
 +
ダウンロード完了後のMakefile、env/Eos_envは$EOS_HOME内のものを使用しますので、EOS_HOMEやEOS_GITUSERの内容を同じように変更します。<br>
 +
<br>
 +
 
 +
=== 簡易版アップデート(簡単に最新版に更新したい方) ===
 +
 
 +
簡易アップデートのためのコマンドupdate-eos.shを利用してアップデートを行うことができます。
 +
もちろん新しいディレクトリにインストールすることでも対応できます。
 +
 
 +
==== update-eos.sh のダウンロード====
 +
 
 +
Eos/env/のディレクトリの中に、update-eos.shのファイルが見当たらないバージョンをお持ちの方は、下記の方法で
 +
ダウンロードしてください。
 +
 
 +
curl -L  https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/update-eos.sh?export=raw > /tmp/update-eos.sh
 +
-
 +
若しくは、
 +
 +
wget -q -O -  https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/update-eos.sh?export=raw > /tmp/update-eos.sh
 +
 
 +
として、アップデートコマンドをダウンロードします。
 +
 
 +
==== アップデートコマンドの実行 ====
 +
 
 +
DSDN上にアカウントを持っていない方は、
 +
 
 +
$ EOS_GITUSER0= source /tmp/update-eos.sh
 +
  or
 +
$ EOS_GITUSER0= source $EOS_HOME/env/update-eos.sh
 +
 
 +
によりアップデートコマンドが動作します。アカウントが存在する方は、下記のuserを自身のアカウントに置き換えていただき
 +
 
 +
$ EOS_GITUSER0=user source /tmp/update-eos.sh
 +
もしくは、
 +
$ EOS_GITUSER0=user source $EOS_HOME/env/update-eos.sh
 +
もしくは、
 +
$ cd $EOS_HOME; EOG_GITUSER=user make git-fetch; EOG_GITUSER=user make git-merge
 +
 
 +
としてアップデートを行ってください。複数のDirectoryを利用している方はそのディレクトリを引数で設定すると容易にアップデート出来ます。
 +
 
 +
$ EOS_GITUSER0= source $EOS_HOME/env/update-eos.sh          directory
 +
  or
 +
$ EOS_GITUSER0=user source $EOS_HOME/env/update-eos.sh    directory
 +
 
 +
=== 最新版に更新する場合(既に、ローカルにgitを用いてダウンロードしているものがある場合) ===
 
Eosの最新にアップデートすることができます。
 
Eosの最新にアップデートすることができます。
 +
 +
==== makeを用いた更新 ====
 +
$EOS_HOME/Makefileが最新のものになっていれば、上記のことを下記のMakefileにて実行できます。<br>
 +
※ $EOS_HOMEは、例えば、$HOME/Eosディレクトリを指しています。<br>
 +
 環境ファイルをそのまま使用する場合は、baseディレクトリを$HOMEに置き、Eosとリネームして下さい。
 +
 +
$ cd $EOS_HOME
 +
$ make git-fetch
 +
$ make git-merge
  
 
==== 最新版の取得 ====
 
==== 最新版の取得 ====
 
  $ git fetch            ;# 変更があったファイルをダウンロード
 
  $ git fetch            ;# 変更があったファイルをダウンロード
 
     or
 
     or
  $ git fetch ssh://${EOS_GIT_USER}@git.sourceforge.jp:/gitroot/eos/base.git
+
  $ git fetch ssh://${EOS_GITUSER}@git.sourceforge.jp:/gitroot/eos/base.git
 
     or
 
     or
 
  $ git fetch git://git.sourceforge.jp/gitroot/eos/base.git
 
  $ git fetch git://git.sourceforge.jp/gitroot/eos/base.git
行63: 行430:
 
  $ git merge FETCH_HEAD ;# 変更になっているものをマージする
 
  $ git merge FETCH_HEAD ;# 変更になっているものをマージする
  
==== makeを用いた更新 ====
+
=== Eosの機能追加、修正を登録する場合(make) ===
$EOS_HOME/Makefileが最新のものになっていれば、上記のことを下記のMakefileにて実行できます。
+
  
  $ cd $EOS_HOME
+
Eosそのものの機能(Eosが提供しているMakefile)を使ってインストールすることができます。この場合、基本的にmaster レポジトリに登録することになります。
  $ make git-fetch
+
 
  $ make git-merge
+
  $ cd $EOS_HOME               ; # Eosのディレクトリに移動します。
 +
  $ make git-add                ; # 変更や加えられたファイルをレポジトリに一時的に格納します
 +
$ make git-commit          ; # 変更点等のコメント毎、レポジトリに格納します
 +
 
 +
タグを変更したいとき<br>
 +
※ 現在、ソースコードをアップロード毎にバージョン名によるタグで管理しています。[[Eosの開発]]のルールに従って、アップロード前にタグを付けるよう、ご協力をお願いします。
 +
 
 +
$ git tag
 +
$ git tag newtag
 +
 
 +
アップロードします
 +
 
 +
  $ make git-push              ; # SourceForge上にアップします
  
=== Eosの機能追加、修正を登録する場合===
+
=== Eosの機能追加、修正を登録する場合(git) ===
自分自身が機能追加、修正をかけ、登録する場合の例を下記に挙げておきます。こちらでも、gitコマンド使い方の詳細は、[[http://sourceforge.jp/magazine/09/03/16/0831212 sourceforge]]もしくは、gitの解説書をご覧下さい。
+
  
 +
自分自身が機能追加、修正をかけ、登録する場合の例を下記に挙げておきます。
 
  git add        ; # 自分自身の複製で変更したものを加える
 
  git add        ; # 自分自身の複製で変更したものを加える
 
  git commit      ; # 変更したモノをgitに格納する
 
  git commit      ; # 変更したモノをgitに格納する
行82: 行460:
 
  git push origin master
 
  git push origin master
  
 +
master以外のレポジトリを利用したい場合は、masterではなく、別のレポジトリを準備することになります。
  
== 直接ダウンロードしたい方 ==
+
※ gitコマンド使い方の詳細は、[[http://sourceforge.jp/magazine/09/03/16/0831212 sourceforge]]もしくは、gitの解説書をご覧下さい。
 +
 
 +
== 直接ダウンロードしたい方、開発環境は必要なく、実行だけを行いたい方 ==
 
下記のサイトから、バイナリtarballをダウンロードが可能です。
 
下記のサイトから、バイナリtarballをダウンロードが可能です。
  
行107: 行488:
 
== うまく動作しない場合 ==
 
== うまく動作しない場合 ==
  
 +
=== コンパイルされていない場合 ===
 
Q1) 使いたいツールを実行しようとすると Not Installed: XXXXX-version YYYYYY といわれる
 
Q1) 使いたいツールを実行しようとすると Not Installed: XXXXX-version YYYYYY といわれる
  
 
A1) 設定された環境でコンパイル・リンクがなされていません。src/Tools以下のディレクトリにあるCLASS/YYYYYY のディレクトリに移動し、make check; make depend; make install とうってみましょう。
 
A1) 設定された環境でコンパイル・リンクがなされていません。src/Tools以下のディレクトリにあるCLASS/YYYYYY のディレクトリに移動し、make check; make depend; make install とうってみましょう。
 +
 +
=== ライブラリがインストールされていない場合 ===
 +
Q1 /....../Eos/bin/X86LINUX64/Display2: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory と言われた場合
 +
 +
A1) libXssをインストールして下さい。
 +
$ yum install */*libXss*
 +
 +
=== 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を取得できないために生じます。
 +
 +
=== LD_LIBRARY_PATH に問題がある場合 ===
 +
Q. El Captan (10.11)でcudaに関して、下記の様な dyldのエラーが生じる
 +
 +
$ mrcInfo -h
 +
dyld: Library not loaded: @rpath/libcudart.6.5.dylib
 +
  Referenced from: /Users/tacyas/Eos/bin/X86MAC64/mrcInfo
 +
  Reason: image not found
 +
/Users/tacyas/Eos/bin/mrcInfo: line 110:  424 Trace/BPT trap: 5      ${EOS_HOME}/bin/${OSTYPE}/${BASENAME} "$@"
 +
 +
A. csrutilコマンドを使う必要があります。
 +
 +
*リカバリーモードで立ち上げます。
 +
*command + R を押しながら、電源をいれます。
 +
*ユーティリティからターミナルを立ち上げます。
 +
*下記のコマンドを実行します。
 +
 +
$ csrutil diable
 +
$ reboot
 +
 +
これで利用できるはずです。今後問題を解決したいと思います。

2022年1月30日 (日) 07:35時点における最新版

Eosのダウンロード方法について

目次

前段階

OS-X(Mac)で利用したい方

OS-Xで動作させたい方は、EosOnMacで示されたプログラムをインストールしてから、下記の手順でダウンロードしてください。

Linuxで利用したい方

Linux上で動作させたい方は、EosOnLinuxで示されたプログラムをインストールしてから、下記の手順でダウンロードしてください。

gitが利用できる方

gitがご利用できる方は、SourceForge.jpからのダウンロード([projects/eos])が可能です。gitコマンド使い方の詳細は、[sourceforge]をご覧下さい。以下は、簡単にインストールに関連するコマンドをまとめておきます。

簡易インストール (git版:初めて Eosを利用したい方、とにかくEosを画像処理に使ってみたい方)

 初めてEosを利用したい方は、次のコマンドで実行することが出来ます。

 それぞれのコマンドの意味は、下記に記述しています。

超簡易インストール(利用したいだけの方向け) 

$ curl -L  https://osdn.jp/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw > /tmp/install-eos.sh
$ curl -L  https://osdn.jp/projects/eos/scm/git/base/blobs/master/env/Eos_env?export=raw > /tmp/Eos_env

もしくは、ブラウザで直接、下記にアクセスすると、ダウンロードできます。

install-eos.sh

Eos_env

$ source /tmp/Eos_env
$ source /tmp/install-eos.sh
Set the directory to be installed in  [/home/XXX/Eos]:           XXXは、ホームディレクトリを示しています。そのままでよいなら、Enterを、変更したければ入力して下さい。
Directory: /home/XXX/Eos
Do you have your git account for OSDN [Y|y or N|n] ?n         OSDN上にアカウントがなく、ひとまずインストールして利用したい方は入力しなくてよいです。      
Do you want to rewrite /home/Eos/.bash_prfile ? [Y|y or N|n] y     環境変数の設定をするかどうかを示しています。
Do you want to rewrite /home/Eos/.bashrc ? [Y|y or N|n] y
Cloning into '/home/XXX/Eos'...
-----
Cloning into 'YYYYYYYYY'...                     YYYYYYYYは、ホストの環境毎に異なります。
-----
Setting an environment for Eos
Please check /home/Eos/.bash_profile.
You finished Eos installation.

もしも,OSのバージョン等の関係で動かなかったときは,下記のコマンドで再構築して下さい.

$ cd $EOS_HOME
$ make rebuild

超簡易インストール(共同開発をしたい方向け) 

$ curl -L  https://osdn.jp/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw > /tmp/install-eos.sh
$ curl -L  https://osdn.jp/projects/eos/scm/git/base/blobs/master/env/Eos_env?export=raw > /tmp/Eos_env

もしくは、直接、ブラウザでダウンロードして下さい。 install-eso.sh Eos_env


$ source /tmp/Eos_env
$ source /tmp/install-eos.sh
Set the directory to be installed in  [/home/XXX/Eos]:         XXXは、ホームディレクトリを示しています。そのままでよいなら、Enterを、変更したければ入力して下さい。
Directory: /home/XXX/Eos
Do you have your git account for OSDN [Y|y or N|n] ?y        OSDN上のアカウントをお持ちの方はy として設定して下さい。      
Set the git account for OSDN [XXX]:                                                            ssh-keygenを設定したアカウントを設定して下さい。通常はそのままで大丈夫です。
Do you want to rewrite /home/XXX/.bash_prfile ? [Y|y or N|n] y     環境変数の設定をするかどうかを示しています。
Do you want to rewrite /home/XXX/.bashrc ? [Y|y or N|n] y
Cloning into '/home/XXX/Eos'...
Username for 'https://scm.osdn.jp': XXXXX                                                OSDN上のユーザー名を入力して下さい。
Password for 'https://XXXXX@scm.osdn.jp':              OSDN上のパスワードを入力して下さい。
-----
Cloning into 'YYYYYYYYY'...                     YYYYYYYYは、ホストの環境毎に異なります。
-----
Setting an environment for Eos
Please check /home/Eos/.bash_profile.
You finished Eos installation.

各コマンドの詳細

install-eos.sh のダウンロード

インストーラをダウンロードします。zshなどで、?が特別な意味を持つ場合には、¥?に置き換えてみて下さい。

curl -L  https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw > /tmp/install-eos.sh

SourceForgeからではなく、OSDNからのダウンロードに変更して

curl -L  https://osdn.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

wget -q -O -  https://osdn.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

同様に、SourceForgeからではなく、OSDNからのダウンロードに変更して

curl -L  https://osdn.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
 
wget -q -O -  https://osdn.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
         or
$ source /tmp/install-eos.sh a_directory_to_be_installed
         or
$ source /tmp/install-eos.sh a_directory_to_be_installed osdn_username

インストールするべきディレクトリ(a_directory_to_be_installed)や、osdn_usernameが指定されている場合には、次からのいくつかのステップがスキップされます。

*install-eos.shは、随時、バージョンアップしていますので、注意して下さい。

インストール先ディレクトリの設定

 次に、インストール先のディレクトリを尋ねられますので、入力して下さい。上記で、インストール先のディレクトリが指定されている場合にはスキップされます。 そのままEnterキーを押すと、デフォールト(通常は、$HOME/Eos)となっている$HOME/Eosにインストールされます。

Set the directroy to be installed [/Users/xxxx/Eos]:  /Users/xxxx/EosTest

として、空のディレクトリを指定して下さい。そのままエンターを押すと、現在表示されているディレクトリにインストールされることになります。

* 空のディレクトリでなく、既にインストールしているディレクトリが設定された場合には、下記のエラーを出して終了します。

Already installed
Use update-eos.sh for updating or set a new directory for installation

* デフォールトディレクトリを予め変更したい場合には、環境変数EOS_HOME0を設定して下さい。

$ export EOS_HOME0=/tmp/Eos


gituserの設定

 OSDNにユーザーとしてアカウントを持っているかどうかが尋ねられます。

 ダウンロードした方が、ツールを共同開発するのでなければ、nまたはNを入力して下さい。

Do you have your git account for OSDN [Y|y or N|n] ? n

 ツールを共同開発する場合には、OSDNとしてのユーザー登録が必要です。この作業はあとからでも可能です。 自分自身のダウンロードしたものを変更することはユーザー登録がなくても問題ありません。開発したものを OSDN上にプッシュ(アップロード)するために必要となります。

Do you have your git account for OSDN [Y|y or N|n] ? y
Set the git account for OSDN [XXX]:XXX 

として、設定して下さい。このXXXは、通常、ユーザー名です。OSDN上のアカウントではなく、こちらでgitを使うユーザーのアカウントです。

環境変数の設定方法

 環境変数などを設定するEos_envの呼び出しを.bash_profileを組み込むかどうかを選択します。

Do you want to rewrite /Users/tacyas/.bash_prfile ? [Y|y or N|n] n

こちらを選択した場合には、自分で設定してもらうか、毎回、sourc $EOS_HOME/env/Eos_env を実行することになります。

Do you want to rewrite /Users/tacyas/.bash_prfile ? [Y|y or N|n] y

こちらの場合には、.bash_profileに書き加えられます。 下記の範囲に書かれており、書き換えられる可能性があるので注意して下さい。

## Eos_env Start
.....
## Eos_env End
インストールの開始

 後は、自動的にダウンロードが始まります。

 OSDN上にアカウントがあると答えた方は、OSDN上のアカウントを途中で聞いてこられます。

Username for 'https://scm.osdn.jp': XXXXX
Password for 'https://XXXXX@scm.osdn.jp': 

 その後、順調に設定が終了すれば、最後に、

You finished Eos installation.

が出力されます。  ホームディレクトリの中の.bashrcファイルの中に、シェルの起動時にEos_envを実行するスクリプトが挿入されています。

うまくいかない場合には、ダウンロードしてきた/tmp/Eos_env、もしくは、上記で指定したディレクトリ/env/Eos_envを起動時に実行することになります。

$ source Eos_env

にて実行できます。

実行環境によっては、$HOME/.profileの中に書き込む必要がある場合があります。

下記を参考にして下さい。$HOME/Eosとしてインストールされているものとなっています。 別の場所にインストール場合には、EOS_HOME0のコメントをはずして、設定する必要があります。 また、OSDN上にユーザーアカウントをもって、共同開発を考えている方は、EOS_GITUSER0を設定する必要があります。

## Eos_env Start
##

if [ ! -z $EOS_HOME0 ] ; then 
    if [ -f $EOS_HOME0/env/Eos_env -a ! -f $HOME/.Eos_env ] ; then
        ln -s $EOS_HOME0/env/Eos_env $HOME/.Eos_env
    fi  
fi

#export EOS_HOME0=Eos
#export EOS_GITUSER0=EosUser

test -r $HOME/.Eos_env  && . $HOME/.Eos_env

##
## Eos_env End

実行の確認

$ mrcInfo -h

が動けばひとまずインストールの完了です。

●注意事項1:いくつかのコマンドは、cuda、X11などの環境がないために動作しない環境があったりします。その場合には、必要なライブラリ等をインストールしたりする必要があります。その詳細は別に述べます。

●注意事項2:この状態で、自分自身のところで開発を行うことはできます。ただし、sourceforge上にアップロードすることはできません。アップロードしたい場合には、originのURLの変更とsourceforge上のアカウントの登録が必要です。また、最新版しかダウンロードしていません。過去の履歴を全てダウンロードしてこないと、gitの仕様上、アップロードしていくことができません。gitのunshallow機能をつかって、全てをダウンロードする必要があります。詳細は別に述べます。

●注意事項3:OS-X(10.11, El Capitan)では、dyldの関係でcudaライブラリ等がロード出来ません。SIPをdisableにする必要が現在あります。このページの下にあるトラブルシューティングを参考にして下さい。

gitコマンドを直接使ってインストールしたい方:初めてのディレクトリにインストールする場合

Eosの複製をgitを使って作製します。

Eosの共同開発を考えている場合(SourceForge上にアカウントが必要)

共同開発を考えている方、つまり、編集後、SourceForge上にソースをアップ(push)する事を前提とする場合についてこちらでは説明します。

SourceForgeへの登録

SourceForge上のUsernameとPassword及びpublic_keyをsourceforge上に登録する必要があります。

環境変数の設定

下記を実行する場合、Eos_env をダウンロードしてください。 これは、下記のダウンロード作業を行った場合には、$EOS_HOME/env/Eos_envとして登録されているものと同じです。 次に、下記のコマンドを実行してください。インストール先は、$HOME/Eosがデフォールトで設定されています。環境変数:EOS_HOME0 を設定すれば、自分がインストールしたいディレクトリにインストールすることも可能です。

$ 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

その後、それぞれのホストに応じて必要なバイナリやライブラリをダウンロードします。

$ cd $EOS_HOME
$ make setting
$ cd $EOS_HOME/hostdepend
$ git clone --depth 1  ${EOS_GITUSER}@git.sourceforge.jp:/gitroot/eos/hostdepend${EOS_HOSTDIR}.git ${EOS_HOSTDIR}

※ EOS_HOSTDIRは、バイナリの存在場所を変更するための環境変数です。Eos_envの中で、自動的に設定されます。

CUDAのインストールが必要な場合があります。EosOnCUDAを参考にして下さい。

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

$EOS_HOMEが設定されていない場合には、直接、ディレクトリを指定して下さい。ただし、そのディレクトリを今後も利用する場合には、$EOS_HOMEとして設定する必要があります。

その後、それぞれのHOST毎に異なるバイナリを落としてきます。

$ source $EOS_HOME/env/Eos_env

を実行します。次に、

$ echo ${EOS_HOSTDIR}

が設定されていることを確認して、下記を実行します。SourceForge上にhostdepend${EOS_HOSTDIR}があることが前提です。それ以外のHOSTDIRが必要な方はご連絡ください。

$ cd $EOS_HOME/hostdepend; git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/hostdepend${EOS_HOSTDIR} .git ${EOS_HOSTDIR} 
   or 
$ cd $EOS_HOME/hostdepend; git clone --depth 1 http://scm.sourceforge.jp/gitroot/eos/hostdepend${EOS_HOSTDIR} .git ${EOS_HOSTDIR} 


【注意1】sshやhttpsを使ってダウンロードする場合には、開発者として登録が必要です。ssh-keygenを使って作製したpublic_keyをsourceforge上に登録する必要があります。上述を参照してください。

【注意2】アカウントを設定せず、gitを使ってダウンロードした場合には、そのままでは、Eos上で新たに開発したものを登録(git-push)することができません。下記の注意3,4をご参照下さい。

【注意3】 開発者として、SourceForgeに登録した場合には、その後、git remoteコマンドを使って、originを変更してください。

cd $EOS_HOME 
git remote -v 
git remote rm origin
git remote add origin  $(EOS_GITUSER)@git.sourceforge.jp:/gitroot/eos/base.git

cd $EOS_HOME/hostdepend/$EOS_HOSTDIR
git remote -v
git remote rm hostdepend$(EOS_HOSTDIR).git
git remote add hostdepend$(EOS_HOSTDIR).git  $(EOS_GITUSER)@git.sourceforge.jp:/gitroot/eos/hostdepend$(EOS_HOSTDIR).git

【注意4】 --depth 1は、最新版のみを取得するためのオプションです。つけない場合は、すべての履歴をコピーすることになります。一方で、開発者として、git-pushを行う為には、全ての履歴をコピーしてくる必要があります。ディスクの空きを確認した後、--unshallowを使ってダウンロードしてください。うまくいかない場合には、gitのリポジトリが大きすぎて、キャッシュが作れないことが原因です。その場合には、順に--depthを深くしてください。例えば、次のようなコマンドが利用できます。

$ for i in `seq 1 100` ; do git clone --depth $i git://git.sourceforge.jp/gitroot/eos/hostdepend${EOS_HOSTDIR} .git ${EOS_HOSTDIR} ; done
$ git clone --unshallow git://git.sourceforge.jp/gitroot/eos/hostdepend${EOS_HOSTDIR} .git ${EOS_HOSTDIR}

【注意5】使用するコマンドによっては他のライブラリをリビルドする必要があります。ダウンロード方法は#付加的なレポジトリを利用したい場合に記載しています。

付加的なレポジトリを利用したい場合

チュートリアルで利用するデータや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の内容を同じように変更します。

簡易版アップデート(簡単に最新版に更新したい方)

簡易アップデートのためのコマンドupdate-eos.shを利用してアップデートを行うことができます。 もちろん新しいディレクトリにインストールすることでも対応できます。

update-eos.sh のダウンロード

Eos/env/のディレクトリの中に、update-eos.shのファイルが見当たらないバージョンをお持ちの方は、下記の方法で ダウンロードしてください。

curl -L  https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/update-eos.sh?export=raw > /tmp/update-eos.sh
-
若しくは、

wget -q -O -  https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/update-eos.sh?export=raw > /tmp/update-eos.sh

として、アップデートコマンドをダウンロードします。

アップデートコマンドの実行

DSDN上にアカウントを持っていない方は、

$ EOS_GITUSER0= source /tmp/update-eos.sh
  or
$ EOS_GITUSER0= source $EOS_HOME/env/update-eos.sh

によりアップデートコマンドが動作します。アカウントが存在する方は、下記のuserを自身のアカウントに置き換えていただき

$ EOS_GITUSER0=user source /tmp/update-eos.sh
もしくは、
$ EOS_GITUSER0=user source $EOS_HOME/env/update-eos.sh
もしくは、
$ cd $EOS_HOME; EOG_GITUSER=user make git-fetch; EOG_GITUSER=user make git-merge

としてアップデートを行ってください。複数のDirectoryを利用している方はそのディレクトリを引数で設定すると容易にアップデート出来ます。

$ EOS_GITUSER0= source $EOS_HOME/env/update-eos.sh           directory
  or 
$ EOS_GITUSER0=user source $EOS_HOME/env/update-eos.sh    directory

最新版に更新する場合(既に、ローカルにgitを用いてダウンロードしているものがある場合)

Eosの最新にアップデートすることができます。

makeを用いた更新

$EOS_HOME/Makefileが最新のものになっていれば、上記のことを下記のMakefileにて実行できます。
※ $EOS_HOMEは、例えば、$HOME/Eosディレクトリを指しています。
 環境ファイルをそのまま使用する場合は、baseディレクトリを$HOMEに置き、Eosとリネームして下さい。

$ cd $EOS_HOME
$ make git-fetch
$ make git-merge

最新版の取得

$ 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 ;# 変更になっているものをマージする

Eosの機能追加、修正を登録する場合(make)

Eosそのものの機能(Eosが提供しているMakefile)を使ってインストールすることができます。この場合、基本的にmaster レポジトリに登録することになります。

$ cd $EOS_HOME               ; # Eosのディレクトリに移動します。
$ make git-add                 ; # 変更や加えられたファイルをレポジトリに一時的に格納します
$ make git-commit           ; # 変更点等のコメント毎、レポジトリに格納します

タグを変更したいとき
※ 現在、ソースコードをアップロード毎にバージョン名によるタグで管理しています。Eosの開発のルールに従って、アップロード前にタグを付けるよう、ご協力をお願いします。

$ git tag
$ git tag newtag

アップロードします

$ make git-push              ; # SourceForge上にアップします

Eosの機能追加、修正を登録する場合(git)

自分自身が機能追加、修正をかけ、登録する場合の例を下記に挙げておきます。

git add         ; # 自分自身の複製で変更したものを加える
git commit      ; # 変更したモノをgitに格納する
#
git push        ; # git serverに格納
 or
git push origin master
 or
git push origin master

master以外のレポジトリを利用したい場合は、masterではなく、別のレポジトリを準備することになります。

※ gitコマンド使い方の詳細は、[sourceforge]もしくは、gitの解説書をご覧下さい。

直接ダウンロードしたい方、開発環境は必要なく、実行だけを行いたい方

下記のサイトから、バイナリ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 とうってみましょう。

ライブラリがインストールされていない場合

Q1 /....../Eos/bin/X86LINUX64/Display2: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory と言われた場合

A1) libXssをインストールして下さい。

$ yum install */*libXss*

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を取得できないために生じます。

LD_LIBRARY_PATH に問題がある場合

Q. El Captan (10.11)でcudaに関して、下記の様な dyldのエラーが生じる

$ mrcInfo -h 
dyld: Library not loaded: @rpath/libcudart.6.5.dylib
  Referenced from: /Users/tacyas/Eos/bin/X86MAC64/mrcInfo
  Reason: image not found
/Users/tacyas/Eos/bin/mrcInfo: line 110:   424 Trace/BPT trap: 5       ${EOS_HOME}/bin/${OSTYPE}/${BASENAME} "$@"

A. csrutilコマンドを使う必要があります。

  • リカバリーモードで立ち上げます。
  • command + R を押しながら、電源をいれます。
  • ユーティリティからターミナルを立ち上げます。
  • 下記のコマンドを実行します。
$ csrutil diable
$ reboot

これで利用できるはずです。今後問題を解決したいと思います。