Download

From EosPedia
Jump to: navigation, search

Contents

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.sh

The 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.sh

wget -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.