Download
Contents
- 1 Before you download or install
- 2 git users
- 2.1 Easy Install (git version :For a "first time" user or a user very eager to use Eos for image processing)
- 2.2 Installing by git command :installation in a new directory
- 2.3 Easy update
- 2.4 Updating to the newest version (when you have downloaded using git)
- 2.5 Registering your changes in Eos by "make"
- 2.6 Registering your changes in Eos by "git"
- 3 "Downloading and running" only case、i.e. without developing
- 4 Systems
- 5 Trouble shooting
Before you download or install
OS-X(Mac) users
After you install the programs shown in EosOnMac, you download the necessary programs as shown below.
Linux users
After you install the programs shown inEosOnLinux, you download the necessary programs as shown below.
git users
git users can download from SourceForge.jp ([projects/eos]). Use of the git command is described in [sourceforge]. Below the commands used in "easy install" are summarized.
Easy Install (git version :For a "first time" user or a user very eager to use Eos for image processing)
The "first time" user can install the programs as described below.
The used commands are given a short description on their meanings.
Easiest Install(Suited to "use only" people)
$ 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 $ source /tmp/Eos_env $ source /tmp/install-eos.sh Set the directory to be installed in [/home/XXX/Eos]: XXX represents your home directory。If no change is needed, press return; Otherwise enter the name of your home directory. Directory: /home/XXX/Eos Do you have your git account for OSDN [Y|y or N|n] ?n If you have no OSDN account and would like to just use EOS, you do not have to input a reply. Do you want to rewrite /home/Eos/.bash_prfile ? [Y|y or N|n] y Asking if the Environmental variables is needed. Do you want to rewrite /home/Eos/.bashrc ? [Y|y or N|n] y Cloning into '/home/XXX/Eos'... ----- Cloning into 'YYYYYYYYY'... YYYYYYYY can be different according to the environment of the host. ----- Setting an environment for Eos Please check /home/Eos/.bash_profile. You finished Eos installation.
Easiest Install(Suited to the developing people))
$ 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 $ source /tmp/Eos_env $ source /tmp/install-eos.sh Set the directory to be installed in [/home/XXX/Eos]: XXX represents your home directory。If no change is needed, press return; Otherwise enter the name of your home directory. Directory: /home/XXX/Eos Do you have your git account for OSDN [Y|y or N|n] ?y If you have OSDN account, return y. Set the git account for OSDN [XXX]: Set the account in which ssh-keygen was set。Usually just "return" will do. Do you want to rewrite /home/XXX/.bash_prfile ? [Y|y or N|n] y Asking if the Environmental variables is needed. 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 Answer the user name in OSDN. Password for 'https://XXXXX@scm.osdn.jp': Answer the password in OSDN. ----- Cloning into 'YYYYYYYYY'... YYYYYYYYcan be different according to the environment of the host. ----- Setting an environment for Eos Please check /home/Eos/.bash_profile. You finished Eos installation.
Commands in details
downloading of install-eos.sh
You download the installer either by
curl -L https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw > /tmp/install-eos.shThe downloading site is changed from SourceForge to OSDN, curl -L https://osdn.jp/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw > /tmp/install-eos.sh
OR,
wget -q -O - https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw > /tmp/install-eos.shwget -q -O - https://osdn.jp/projects/eos/scm/git/base/blobs/master/env/install-eos.sh?export=raw > /tmp/install-eos.sh
Dowloading (Installing) of Eos
Running install command
After downloading of the two files as described above, run the following commands.
Set the environment variables.
$ 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
When "a_directory_to_be_installed" and "osdn_username" have been assigned, some of the steps described below will be skipped.
*Note that install-eos.sh is frequently updated.
Setting of install directory
Next, you are asked which directory you would like to have the Eos. If you have assigned the directory previously, this step is skipped. When you returned ENTER, you will have the EOS in the default directory (usually $HOME/Eos).
If you do not like $HOME/Eos, you assign a blank directory like,
Set the directroy to be installed [/Users/xxxx/Eos]: /Users/xxxx/EosTest
* If not a blank directory, an error will occur.
Already installed Use update-eos.sh for updating or set a new directory for installation
* When you like to change the default directory beforehand. set the environment variable EOS_HOME0, like
$ export EOS_HOME0=/tmp/Eos
gituser setting
It is asked if you have an account in OSDN.
If you are not developing tools (i.e. just an user) 、you give n or N.
Do you have your git account for OSDN [Y|y or N|n] ? n
If you are developing tools in a collaboration、you need registration in OSDN。The registration can be done later. You can change what you downloaded without the registration. The registration is necessary for uploading what you wrote。 You can register like,
Do you have your git account for OSDN [Y|y or N|n] ? y Set the git account for OSDN [XXX]:XXX
XXX is a user name. It is not an account name in OSDN, but a user name in git account、
Setting of Environment variables
Select if you like to have a calling of Eos_env, which sets environment variables, in your .bash_profile.
Do you want to rewrite /Users/tacyas/.bash_prfile ? [Y|y or N|n] n
When n is selected, you have to set those by yourself or every time you execute "source $EOS_HOME/env/Eos_env".
Do you want to rewrite /Users/tacyas/.bash_prfile ? [Y|y or N|n] y
When y is selected, scripts for setting of environment variables is written in .bash_profile.
The portion to do the job is written is marked as below. This portion can be sometimes overwritten、therefore be careful.
## Eos_env Start ..... ## Eos_env End
Start of Installation
At this stage, you will find downloading is going on.
Those who replied that they have an account on OSDN will see the following inquiry.
Username for 'https://scm.osdn.jp': XXXXX Password for 'https://XXXXX@scm.osdn.jp':
If things went well, you will see the output,
You finished Eos installation.
The scripts for setting of environment variables is inserted in .bashrc in your home directory, on start up of the shell.
If thing went wrong, you have to execute /tmp/Eos_env (which was downloaded) or /env/Eos_env (For /env/, see above) on start up. This is done by,
$ source Eos_env
There may be cases where you have to write in $HOME/.profile, depending on your system.
The following script may be useful when in trouble. This is for using $HOME/Eos. In a case where you would like to install in another place, you must remove a comment of EOS_HOME0 in the setting. Those who have a user account in OSDN for a collaboration development must set 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
See if your install is OK
Check if your installation is OK by submitting a command,
$ mrcInfo -h
●Note 1:Some commands may not work due to absence of cuda an/or X11. You have to install necessary libraries. This will be described somewhere else.
●Note 2:After this install you can do developing works on your own。But you can not upload your work on sourceforge。For uploading, you have to change URL of the origin and have an account in sourceforge. Note that you have downloaded only the most recent version. You have to download all the histories for uploading due to a nature of git. You can download all the necessary information by using the unshallow function in git. The details of this will be described somewhere else.
Note 3: In OS-X(10.11, El Capitan), the cuda library and others can not be loaded due to dyld peculiarity in the system. You have to change SIP to disable. Refer to the trouble shooting to be located at the bottom of this page.
Installing by git command :installation in a new directory
You make a duplicated Eos with git.
A case for collaboration development of Eos(an account is needd in SourceForge)
Below a description is given for those thinking of collaboration development. They need to upload (or push) the source code onto SourceForge.
Registration in SourceForge
You prepare a Username, a Password and a public_key for the registration.
Setting of the environment variables
Download Eos_env like, Eos_env.
This is identical to $EOS_HOME/env/Eos_env which is obtained by downloading which will be described below.
Next, you submit the following command. A default destination directory is $HOME/Eos. By setting the environment variable:EOS_HOME0, you can change the destination directory.
$ source Eos_env
Now the environment variables are set. If you do not set the environment variables in this way, you have to set up a directory which is equivalent to $EOS_HOME.
When the user name and the Username in SourceForge are not identical, EOS_GITUSER must be set by either using an environment file or doing a manual setting.
export EOS_GITUSER=(SourceForge上のUsername) or export EOS_GITUSER=$USER
Downloading with git
When $EOS_HOME has been set, "clone" can be made by,
$ 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
When the destination of the installation is to be assiged, specify the directory. The example below is for $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
Then you download binaries or libraries either of which are needed for each of the hosts.
$ 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 is an environment variable for changing the place for the binaries、It is set automatically in Eos_env.
There is a case where the installation of CUDA is necessary. Refer to EosOnCUDA.
Case where you just use Eos, or your development is local (i.e. You do not need an account in SourceForge)
If you need no editing of the Eos system, or do not think of uploading of your edit into Sourceforge, you do the following.
$ 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
When $EOS_HOME is not set, you have to set the directory name. But if you will keep using the directory, you have to set it as $EOS_HOME.
Then you download binaries from each of the hosts. First, you submit,
$ source $EOS_HOME/env/Eos_env
Next、you check if ${EOS_HOSTDIR} has been set by
$ echo ${EOS_HOSTDIR}
. [It is compulsory that you have hostdepend${EOS_HOSTDIR} in SourceForge. If you have a problem on HOSTDIR, please contact. ] Then you do the following.
$ 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}
【note1】When you download using ssh or https, you need a registration as a developer. You must register, in sourecforge, the public_key made by ssh-keygen. Please see above for this.
【note 2】When you did not set up an account and downloaded using git, you can not register (i.e. git-push) what you have developed in the Eos. See notes 3 and 4 below.
【note 3】 When you registered yourself as a develpoer, you change "origin" with the git remote command.
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
【note 4】 "--depth 1" is an option to get the most recent version. If you do not use the option, you copy all the history. Note that when you do "git-push" as a developer, you need to have all the history to be copied. After you check you have enough disk space for this, you download with an option, --unshallow. If you fail, it can be due to insufficient cache that is caused by a large current repository of git. In this case, you increase a value in the --depth setting step by step.An example is below.
$ 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}
【note 5】Some commands may need a rebuild of some of the libraries.Downloading is described in #Use of additional repositories.
Use of additional repositories
The data which will be used in tutorilas and Makefiles are placed here. Use those at $EOS_HOME.
$ cd $EOS_HOME $ git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/tutorial.git
For data files for test calculations:
$ cd $EOS_HOME $ git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/data.git
For manuals OF Eos and other things,
$ cd $EOS_HOME $ git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/optional.git
For other souce codes to be used in Eos. Those can be necessary, depending on a command or an environment.
$ cd $EOS_HOME $ git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/others.git
When you download all at one time (using "make")
Download the most recent Makefile and Eos_env. In the former, use
[1], and in the latter [2]
Open Eos_env. EOS_HOME is assigned as the download directory which should be vacant before downloading. EOS_GITUSER is the source forge account name. If you do not have the account, EOS_GITUSER is blank (in this case, you can not "push")
Submit the two commands below 。
$ source Eos_env # At a directory which has Eos_env $ make git-clone-all # At a directory which has Makefile
After downloading, the Makefile and the env/Eos_env will be used. Therefore, set EOS_HOME and EOS_GITUSER accordingly.
Easy update
You can use update-eos.sh for an easy update. Or, you can update via installing in a new directory.
Downloading of update-eos.sh
If you can not find update-eos.sh in the Eos/env/ directory、you can download it either by
curl -L https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/update-eos.sh?export=raw > /tmp/update-eos.sh -
or
wget -q -O - https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/env/update-eos.sh?export=raw > /tmp/update-eos.sh
Running the update command
If you do not have an account in DSDN, do the following for update.
$ EOS_GITUSER0= source /tmp/update-eos.sh or $ EOS_GITUSER0= source $EOS_HOME/env/update-eos.sh
If you have an account in DSDN, replace "user" below by your account name, and update.
$ EOS_GITUSER0=user source /tmp/update-eos.sh
or
$ EOS_GITUSER0=user source $EOS_HOME/env/update-eos.sh
or
$ cd $EOS_HOME; EOG_GITUSER=user make git-fetch; EOG_GITUSER=user make git-merge
When you use multiple directories,replace "directory" below by your directory names, and update.
$ EOS_GITUSER0= source $EOS_HOME/env/update-eos.sh directory or $ EOS_GITUSER0=user source $EOS_HOME/env/update-eos.sh directory
Updating to the newest version (when you have downloaded using git)
You do the update as shown below.
Using make
If $EOS_HOME/Makefile is the newest, do the following.
※ Note: $EOS_HOME points to the$HOME/Eos directory.
When you use the environment file without changes, you put the base directory at $HOME and rename it as Eos。
$ cd $EOS_HOME $ make git-fetch $ make git-merge
Getting the latest version
$ git fetch ;# download changed files or $ git fetch ssh://${EOS_GITUSER}@git.sourceforge.jp:/gitroot/eos/base.git or $ git fetch git://git.sourceforge.jp/gitroot/eos/base.git
The other way for getting the latest version
In git pull, fetch/merge and others are done automatically. When you did not change the source codes, you may well do in this manner. This is recommended only if you know very well what went on. If you are not very sure, the fetch/merge procedure is recommended.
$ git pull git://git.sourceforge.jp/gitroot/eos/base.git
check changes
$ git log FETCH_HEAD ;# Shows the changes
Add changes
After checking the changes and seeing that those changes can be merged, add the changes. You have to be careful when you have made your own changes.
$ git merge FETCH_HEAD ;# Merge what has been changed
Registering your changes in Eos by "make"
The installation can be done using the Makefile supplied in Eos. In this mode, you register in the master repository.
$ cd $EOS_HOME ; # Move to the Eos directory.。 $ make git-add ; # Put changed files in the repository temporarily $ make git-commit ; # Put comments in the repository
Changing a tag
※ The version name tag is attached to the source codes on each uploading for administration purposes. Please do not forget to attach the tag, according to the rules descibed in Eos developemnt, before you upload.
$ git tag $ git tag newtag
You can now upload,
$ make git-push ; # You upload in SourceForge
Registering your changes in Eos by "git"
Registering of your changes for addition of functions or for corrections are described below.
git add ; # add the changed version of your copy git commit ; # put the changes in git # git push ; # put in the git server or git push origin master or git push origin master
When a repository other than "master" is preferred, prepare an appropriate directory。
※ For details of git commands, see [sourceforge] or books on git。
"Downloading and running" only case、i.e. without developing
You can download a binary tarball from the site,
[EosHomePage] or [Sourceforge]
For the binaries that are not uploaded, you can contact yasunaga@bio.kyutech.ac.jp.
The directory structure(Eos structure)is found in other pages。
※ Note that, since 2013/02, the directory structure has been changed drastically. This is because we liked to separate the binaries, which are host dependent, and the source codes, which are not. And also because we liked to execute in a single directory which can be, for example, a directory exported by NFS, while keeping a capability to execute in heterogeneous environments.
Systems
The following systems have been checked OK for running the Eos。
LINUX 32bits/64bits OS-X 32bits/64bits Windows with Cygwin
Trouble shooting
Compilation faiure
Q1) When a tool is executed, you see a message " Not Installed: XXXXX-version YYYYYY"
A1) Failure in compiling and linking. Move to CLASS/YYYYYY under src/Tools. Then key in
make check; make depend; make install
Library is not installed
Q1) When you find a message "/....../Eos/bin/X86LINUX64/Display2: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory”
A1) Install libXss.
$ yum install */*libXss*
Xcode is somehow wrong
Q2 ) "make" in the OS-X produces an error:
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) The error arises because some of the dynamic libraries are wrong.
Execute the command,
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -sdk -find make
This will output error messages on missing libraries. In most cases、the path setting of the dynamic libraries are wrong.
Necessary libraries should be copied to $EOS_HOME//util/X86MAC64/lib/ like,
sudo cp /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Resources/libTIFF.dylib $EOS_HOME//util/X86MAC64/lib/
git memory shortage
Q3) On "git clone", messages
remote: aborting due to possible repository corruption on the remote side. fatal: early EOF fatal: index-pack failed
appear, showing the procedure stops.
A3) This is because git can not get the index due to a too big Eos package.
Problematic LD_LIBRARY_PATH
Q. In cuda in El Captan (10.11)、a dyld error can occur like,
$ 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 should be used
- Start up in the recovery mode.
- Pushing "command + R"、the power is set on。
- Start up a terminal window from utilities。
- Submit the commands
$ csrutil diable $ reboot
This should be OK。An effort is being made so that this problem will not occur.