Difference between revisions of "Eos System Architecture"
(Created page with "Here, we show about structure on Eos as system. == Structure of directory on Eos == === Eos === This is Home directory of Eos. It is specified by Environment variable of $EO...") |
|||
(38 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Here, we show about | + | Here, we show about architecture on Eos as system. |
− | == | + | == Architecture of directory on Eos == |
=== Eos === | === Eos === | ||
This is Home directory of Eos. It is specified by Environment variable of $EOS_HOME. | This is Home directory of Eos. It is specified by Environment variable of $EOS_HOME. | ||
− | + | All file and directory related to Eos are included in here.(Exception: Environment file) | |
<pre> | <pre> | ||
Line 12: | Line 12: | ||
=== EosBase === | === EosBase === | ||
− | + | It serves as a central role in Eos. This directory includes development environment. "bin/sbin/lib/hostdepend" includes required data to run, and "src/include/sbin" includes required data to develop. | |
==== Eos/bin ==== | ==== Eos/bin ==== | ||
− | + | This directory include executables related to [[Command]]([[Small Tools]]) of Eos. | |
Eos/bin | Eos/bin | ||
Line 24: | Line 24: | ||
Eos/bin/perl | Eos/bin/perl | ||
− | + | XXXXXX is directory that is determined by each host type, and it is stored real data which is compiled and linked. However, actually it is used as link from "Eos/hostdepend" by considering the continuity with hitherto. | |
− | wish, ruby, shell, | + | '''wish''', '''ruby''', '''shell''', and '''perl''' are directory for shell script of '''Tcl/Tk''', '''Ruyb''', '''Bash''', and '''perl''' , respectively. These can be called in '''Eos/bin'''. |
==== Eos/hostdepend ==== | ==== Eos/hostdepend ==== | ||
− | + | Binary data that depends on host is stored here. Refer to [[#Control each host of Eos]] in this page about details. | |
==== Eos/sbin ==== | ==== Eos/sbin ==== | ||
− | + | This is the directory that stores [[System Command]] of Eos. | |
Eos/sbin | Eos/sbin | ||
Line 39: | Line 39: | ||
Eos/sbin/config | Eos/sbin/config | ||
− | sed/ | + | '''/sed''' and '''/awk''' are stored commands for '''sed''' and '''awk''', respectively. |
− | + | '''/config''' is stored setting file for using in '''sbin'''. | |
==== Eos/lib ==== | ==== Eos/lib ==== | ||
− | + | This is the directory that stores [[Library]] of Eos. | |
Eos/lib | Eos/lib | ||
Line 50: | Line 50: | ||
Eos/lib/*.wish | Eos/lib/*.wish | ||
− | + | XXXXXX is directory that is determined by each host type, and it is stored binary data which is compiled as library. | |
− | *.rb | + | *.rb and *.wish are group of function for ruby and Tcl/Tk, respectively. |
==== Eos/include ==== | ==== Eos/include ==== | ||
− | + | This is the directory that stores include-file for compiling Eos. | |
Eos/include | Eos/include | ||
− | |||
==== Eos/src ==== | ==== Eos/src ==== | ||
− | + | This is the directory of source file in '''Objects/Tools''' of Eos. | |
Eos/src | Eos/src | ||
===== Eos/src/Config ===== | ===== Eos/src/Config ===== | ||
− | + | This is the directory that sets environment for compiling source file of each host type. It has template of Makefile for compiling at each directory. | |
Eos/src/Config | Eos/src/Config | ||
===== Eos/src/Objects ===== | ===== Eos/src/Objects ===== | ||
− | + | This is the directory that has source code of Objects(Library) of Eos. Compile here. Then, it copies to '''Eos/lib''' or '''Eos/include''', and you can use by '''Tools'''. | |
Eos/src/Objects | Eos/src/Objects | ||
− | + | Refer to [[Eos/src/Objects]], about lower layer directory than here. | |
===== Eos/src/Tools ===== | ===== Eos/src/Tools ===== | ||
− | + | This is the directory that has source code of [[Command]]s([[Small Tools]]) of Eos. Command that is compiled and linked here is installed to '''Eos/bin''' directory. | |
Eos/src/Tools | Eos/src/Tools | ||
− | + | Refer to [[Eos/src/Tools]], about lower layer directory than here. | |
==== Eos/util ==== | ==== Eos/util ==== | ||
− | + | It stores libraries of other required system for Eos. It is left for continuity with past. | |
− | + | Actually, real data is stored in Eos/hostdepend/XXXXXX/util/XXXXXX. | |
<pre> | <pre> | ||
Line 96: | Line 95: | ||
</pre> | </pre> | ||
− | + | In '''src''', tgz files of source code downloaded are put. However, It is difficult to redistribute, so we won't upload these in git. In '''srcXXXXX''', files that are decompressed for each host type are put. Each directory serves Makefile. | |
<pre> | <pre> | ||
Line 104: | Line 103: | ||
</pre> | </pre> | ||
− | + | Executing as above command can compile. But, it may not compile depending on an environment. | |
− | + | Currently, libraries as the following are required. | |
===== TclTk ===== | ===== TclTk ===== | ||
− | [[Display2]] | + | This is required at Interative Tools.(e.g. [[Display2]]) In the case of the application that creates a graph by using [[BLT]], not only Tcl/Tk but also BLT is required. In addition, if you wish to easily use 3D Graphics(e.g. OpenGL), [[vtk]] is required too, it is used by commands as [[smolet]]. |
===== Graphics ===== | ===== Graphics ===== | ||
− | [[libtif]] | + | Mainly, it is required for compatible with each image file format. (e.g. [[libtif]], [[libjpg]]) |
===== MATH ===== | ===== MATH ===== | ||
− | [[fftw]] | + | It is served for Numerical Calculation Library.(e.g. [[fftw]]) |
=== EosData === | === EosData === | ||
==== Eos/data ==== | ==== Eos/data ==== | ||
− | + | This is the directory that stores Eos test data. Since it is unfiled still, its contents may greatly change. | |
− | + | ||
Eos/data | Eos/data | ||
=== EosOptional === | === EosOptional === | ||
==== Eos/doc ==== | ==== Eos/doc ==== | ||
− | + | This is the directory that stores documents for Eos. | |
Eos/doc | Eos/doc | ||
Line 131: | Line 129: | ||
=== EosOthers === | === EosOthers === | ||
==== Eos/others ==== | ==== Eos/others ==== | ||
− | + | This directory stores data as provided source code by open source except for Eos. | |
− | + | There is difference among specification of each version, so source code that is supported by Eos is stored. | |
− | utilsrc # | + | utilsrc # Source file like library |
− | utiltools # | + | utiltools # Single Application (For the person who is not free to install) |
− | + | It is consist at above directories. | |
− | + | Library compiled from these is stored under hostdepend/XXXXXX/util/XXXXXX, and it is supported about running. | |
− | + | This file is linked for using from util/XXXXXXX. | |
− | + | But, depending on a version of binary data that is provided by LINUX like glibc, it may not well work. In this case, it is required to compile at directly under just util/srcXXXXXX that is linked from others, for create libraries. | |
− | == | + | == Control each host of Eos == |
− | + | :Eos has a mechanism that can manage and execute in one directory, even if there is in hetero environment. | |
− | === | + | === Switching by environment variable === |
− | + | It performs switching as manage of each host by 2 environment variables: $EOS_HOST and $EOS_HOSTDIR . | |
− | === | + | === management method for files of each Eos host was changed === |
− | + | The other day we changed git management, then it is very difficult to switch each host. So, we change architecture of directory so that you can download each binary data. (Since 2013/02/01 version) | |
− | + | If you have older version, binary data is put at each directory of Tools and Objects in directly under src. When current version is downloaded, it is changed as link for all directory of the each following host. Note it. | |
− | 2013/02/ | + | At since 2013/02/01 version, binary of each host is moved as saving in hostdepend(directly under Eos) or lower layer directory depending on $EOS_HOSTDIR . By virtue of this, all you have to download or backup only directory required for each host type. You can download it at current download site. |
− | + | Architecture of directory for each host on current version | |
$EOS_HOME/hostdepend/$EOS_HOSTDIR/bin | $EOS_HOME/hostdepend/$EOS_HOSTDIR/bin |
Latest revision as of 06:51, 3 September 2014
Here, we show about architecture on Eos as system.
Contents
Architecture of directory on Eos
Eos
This is Home directory of Eos. It is specified by Environment variable of $EOS_HOME. All file and directory related to Eos are included in here.(Exception: Environment file)
Eos
EosBase
It serves as a central role in Eos. This directory includes development environment. "bin/sbin/lib/hostdepend" includes required data to run, and "src/include/sbin" includes required data to develop.
Eos/bin
This directory include executables related to Command(Small Tools) of Eos.
Eos/bin Eos/bin/XXXXXX Eos/bin/wish Eos/bin/ruby Eos/bin/shell Eos/bin/perl
XXXXXX is directory that is determined by each host type, and it is stored real data which is compiled and linked. However, actually it is used as link from "Eos/hostdepend" by considering the continuity with hitherto.
wish, ruby, shell, and perl are directory for shell script of Tcl/Tk, Ruyb, Bash, and perl , respectively. These can be called in Eos/bin.
Eos/hostdepend
Binary data that depends on host is stored here. Refer to #Control each host of Eos in this page about details.
Eos/sbin
This is the directory that stores System Command of Eos.
Eos/sbin Eos/sbin/sed Eos/sbin/awk Eos/sbin/config
/sed and /awk are stored commands for sed and awk, respectively. /config is stored setting file for using in sbin.
Eos/lib
This is the directory that stores Library of Eos.
Eos/lib Eos/lib/XXXXXX Eos/lib/*.rb Eos/lib/*.wish
XXXXXX is directory that is determined by each host type, and it is stored binary data which is compiled as library.
- .rb and *.wish are group of function for ruby and Tcl/Tk, respectively.
Eos/include
This is the directory that stores include-file for compiling Eos.
Eos/include
Eos/src
This is the directory of source file in Objects/Tools of Eos.
Eos/src
Eos/src/Config
This is the directory that sets environment for compiling source file of each host type. It has template of Makefile for compiling at each directory.
Eos/src/Config
Eos/src/Objects
This is the directory that has source code of Objects(Library) of Eos. Compile here. Then, it copies to Eos/lib or Eos/include, and you can use by Tools.
Eos/src/Objects
Refer to Eos/src/Objects, about lower layer directory than here.
Eos/src/Tools
This is the directory that has source code of Commands(Small Tools) of Eos. Command that is compiled and linked here is installed to Eos/bin directory.
Eos/src/Tools
Refer to Eos/src/Tools, about lower layer directory than here.
Eos/util
It stores libraries of other required system for Eos. It is left for continuity with past. Actually, real data is stored in Eos/hostdepend/XXXXXX/util/XXXXXX.
Eos/util Eos/util/src Eos/util/srcXXXXXX Eos/util/XXXXXX
In src, tgz files of source code downloaded are put. However, It is difficult to redistribute, so we won't upload these in git. In srcXXXXX, files that are decompressed for each host type are put. Each directory serves Makefile.
$ make Init $ make Config $ make All
Executing as above command can compile. But, it may not compile depending on an environment.
Currently, libraries as the following are required.
TclTk
This is required at Interative Tools.(e.g. Display2) In the case of the application that creates a graph by using BLT, not only Tcl/Tk but also BLT is required. In addition, if you wish to easily use 3D Graphics(e.g. OpenGL), vtk is required too, it is used by commands as smolet.
Graphics
Mainly, it is required for compatible with each image file format. (e.g. libtif, libjpg)
MATH
It is served for Numerical Calculation Library.(e.g. fftw)
EosData
Eos/data
This is the directory that stores Eos test data. Since it is unfiled still, its contents may greatly change.
Eos/data
EosOptional
Eos/doc
This is the directory that stores documents for Eos.
Eos/doc
EosOthers
Eos/others
This directory stores data as provided source code by open source except for Eos. There is difference among specification of each version, so source code that is supported by Eos is stored.
utilsrc # Source file like library utiltools # Single Application (For the person who is not free to install)
It is consist at above directories.
Library compiled from these is stored under hostdepend/XXXXXX/util/XXXXXX, and it is supported about running. This file is linked for using from util/XXXXXXX.
But, depending on a version of binary data that is provided by LINUX like glibc, it may not well work. In this case, it is required to compile at directly under just util/srcXXXXXX that is linked from others, for create libraries.
Control each host of Eos
- Eos has a mechanism that can manage and execute in one directory, even if there is in hetero environment.
Switching by environment variable
It performs switching as manage of each host by 2 environment variables: $EOS_HOST and $EOS_HOSTDIR .
management method for files of each Eos host was changed
The other day we changed git management, then it is very difficult to switch each host. So, we change architecture of directory so that you can download each binary data. (Since 2013/02/01 version)
If you have older version, binary data is put at each directory of Tools and Objects in directly under src. When current version is downloaded, it is changed as link for all directory of the each following host. Note it.
At since 2013/02/01 version, binary of each host is moved as saving in hostdepend(directly under Eos) or lower layer directory depending on $EOS_HOSTDIR . By virtue of this, all you have to download or backup only directory required for each host type. You can download it at current download site.
Architecture of directory for each host on current version
$EOS_HOME/hostdepend/$EOS_HOSTDIR/bin lib util src/WORLD/CLASS/NAME/src/