Compiling Davinci
(→Building Davinci for Mars Space Flight Facility) |
|||
(39 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
+ | === Source === | ||
+ | |||
+ | * SVN: http://oss.mars.asu.edu/svn/davinci/davinci/trunk/ | ||
+ | |||
+ | |||
+ | == Dependencies == | ||
+ | Davinci has the following optional dependencies it will search for. Davinci will operate without these but some functions may not be available. | ||
+ | * Readline | ||
+ | * X11/Xt | ||
+ | * Motif | ||
+ | * HDF5 | ||
+ | * Vicar | ||
+ | * libisis | ||
+ | * FITS | ||
+ | * QMV | ||
+ | * libisis3 | ||
+ | * Qt4 | ||
+ | |||
+ | It may also be useful to set the display program with --with-viewer=foo, the text editor with --with-editor=foo, and the plotting program with --with-gnuplot=foo | ||
+ | |||
== Standard Linux Building Procedure == | == Standard Linux Building Procedure == | ||
Line 4: | Line 24: | ||
$ ./configure | $ ./configure | ||
$ make | $ make | ||
− | $ make install | + | $ make install |
+ | |||
+ | If you are installing Davinci for the first time, you may need to set your .dvrc file to load the Davinci Scripts Library as detailed in [[Installation_FAQ]]. | ||
− | == Operating System: Mac OS X 10. | + | == Operating System: Mac OS X 10.6.4 == |
=== Dependencies === | === Dependencies === | ||
− | *Mac OS X 10. | + | *Mac OS X 10.6.x |
− | * | + | *Xcode 3.2 (with X11) |
− | * | + | *MacPorts ([http://www.macports.org/install.php Download]) |
*xv ([http://homepage.mac.com/eric.lee/xv/xv-3.10a-darwin.zip binary]) | *xv ([http://homepage.mac.com/eric.lee/xv/xv-3.10a-darwin.zip binary]) | ||
− | * | + | **Unzip and move to /usr/local/bin or /opt/local/bin |
− | *gnuplot | + | *gnuplot |
− | *# | + | $ sudo port install gnuplot |
− | + | *hdf5 | |
− | + | $ sudo port install hdf5 | |
− | + | ||
− | + | === Installation Procedure === | |
− | + | # Download the most recent davinci [[Download_Davinci|source]] | |
− | + | $ tar zxf davinci-x.xx | |
+ | $ cd davinci-x.xx/ | ||
+ | $ env CPPFLAGS="-I/opt/local/include" LDFLAGS="-L/opt/local/lib" ./configure | ||
+ | $ make | ||
+ | $ sudo make install | ||
=== Installation Procedure === | === Installation Procedure === | ||
# Download the most recent davinci [[Download_Davinci|source]] -- This includes iomedley and readline | # Download the most recent davinci [[Download_Davinci|source]] -- This includes iomedley and readline | ||
# unpack by either double clicking on the zipped tarball or by typing tar -xzpf davinci-1.xx in the directory where davinci was downloaded | # unpack by either double clicking on the zipped tarball or by typing tar -xzpf davinci-1.xx in the directory where davinci was downloaded | ||
− | # change in to the davinci-1.xx directory. The steps below will compile davinci for mac without aqua (with X11). Remove "--disable-aqua" | + | # change in to the davinci-1.xx directory. The steps below will compile davinci for mac without aqua (with X11). Remove "--disable-aqua" for a non-X11 compile. The --prefix allows the user to specify the installation directory. |
− | + | $ ./configure --prefix="INSTALL DIRECTORY" | |
− | + | $ make | |
− | + | $ sudo make install | |
− | + | ||
− | == | + | |
+ | == Operating System: Solaris 10 (Sparc) 64-bit Ultra 4== | ||
+ | |||
+ | The method was tested in 64 bit Solaris 10 (SPARC) Ultra 4. | ||
+ | |||
+ | Davinci is installed using GNU gcc although some dependencies like HDF5 are easier installed using [http://developers.sun.com/sunstudio/downloads/index.jsp|Sun Studio 12]. | ||
+ | |||
+ | === Dependencies Installation (Not required, but highly recommended) === | ||
+ | |||
+ | * [http://tiswww.case.edu/php/chet/readline/rltop.html| Readline] | ||
+ | You can install a pre-built version of readline in [http://www.sunfreeware.com Freeware for Solaris website] . | ||
+ | The easiest way to install readline is through [http://www.bolthole.com/solaris/pkg-get.html pkg-get]. First you install pkg-get (Typically in /opt/csw ) and then you can install the readline as follows: | ||
+ | pkg-get install readline | ||
+ | |||
+ | * [http://www.gnuplot.info| Gnuplot] | ||
+ | You can install a pre-built version of Gnuplot in [http://www.sunfreeware.com Freeware for Solaris website] . | ||
+ | The easiest way to install readline is through [http://www.bolthole.com/solaris/pkg-get.html pkg-get]. First you install pkg-get (Typically in /opt/csw ) and then you can install the readline as follows: | ||
+ | pkg-get install gnuplot | ||
+ | |||
+ | * [ftp://ftp.hdfgroup.org/HDF5 HDF5] (Version 1.82) | ||
+ | HDF5 can be built using [http://developers.sun.com/sunstudio/downloads/index.jsp Sun Studio 12] | ||
+ | |||
+ | Once Sun Studio is installed, set the environment variables CC and CXX as follows (Assuming C Shell) | ||
+ | setenv CC cc | ||
+ | setenv CXX cc | ||
+ | |||
+ | ./configure | ||
+ | make | ||
+ | |||
+ | make install | ||
+ | |||
+ | === Davinci Installation === | ||
+ | Davinci can be installed using GCC so the CC variables have to be changed back to gcc | ||
+ | This configuration was used on a test Solaris 10 Sparc 64-bit system and Davinci was built successfully. You may not necessarily follow these steps. | ||
+ | |||
+ | '''Building Utilities''' | ||
+ | |||
+ | - gcc: /usr/sfw/bin/gcc | ||
+ | |||
+ | - make: /usr/sfw/bin/make -> /usr/sfw/bin/gmake | ||
+ | |||
+ | setenv PATH ${PATH}:/usr/sfw/bin | ||
+ | setenv PATH ${PATH}:/usr/csw/bin | ||
+ | setenv PATH ${PATH}:/usr/ccs/bin | ||
+ | |||
+ | setenv CC /usr/sfw/bin/gcc | ||
+ | setenv CXX /usr/sfw/bin/gcc | ||
+ | |||
+ | Assuming davinci is installed under /opt/local | ||
+ | |||
+ | mkdir /opt/local/davinci-{version} | ||
+ | mkdir /opt/local/davinci-{version}/share | ||
+ | mkdir /opt/local/davinci-{version}/include | ||
+ | mkdir /opt/local/davinci-{version}/lib | ||
+ | mkdir /opt/local/davinci-{version}/bin | ||
+ | |||
+ | Configure and Make (as a user) | ||
+ | ./configure -prefix=/opt/local/davinci-{version} \ | ||
+ | --with-help=/opt/local/davinci-{version}/share/davinci/docs/dv.gih \ | ||
+ | --with-modpath=/opt/local/davinci-{version}/lib/davinci \ | ||
+ | |||
+ | If readline is installed in some location not found by the configure set the path to it (For example if installed under /opt/csw add '''--with-readline=/opt/csw''' ) | ||
+ | |||
+ | If HDF5 is installed in some location not found by the configure set the path to it (For example if installed under /opt/local add '''--with-hdf5=/opt/local''') | ||
+ | |||
+ | If Gnuplot is installed in some location not found by the configure set the path to it (For example if the binary ois located in /opt/csw/bin/gnuplot add '''--with-gnuplot=/opt/csw/bin/gnuplot''') | ||
+ | |||
+ | make | ||
+ | |||
+ | If the "install" script is missing from your path, use /usr/ucb/install | ||
+ | setenv PATH /usr/ucb:${PATH} | ||
+ | |||
+ | At the end perform the installation as root | ||
+ | make install | ||
+ | |||
+ | == Building Davinci for Linux 64-bit == | ||
The position independent code needs to be enabled. For example | The position independent code needs to be enabled. For example | ||
− | ./configure | + | ./configure |
make | make | ||
− | make install | + | make install |
+ | To add ISIS3 reading (and eventually write) support: | ||
+ | ./configure --with-isis3=/mars/common/isis3/x86_64/isis \ | ||
+ | CFLAGS="-fpic" QTDIR=/usr/lib64/qt4 | ||
+ | make | ||
+ | make install | ||
+ | For a more complete build, configure with | ||
+ | ./configure --with-isis3=/mars/common/isis3/x86_64_Linux/isis \ | ||
+ | CFLAGS="-fpic" QTDIR=/usr/lib64/qt4 \ | ||
+ | --enable-libisis=/mars/common/isis/isisr/ | ||
+ | --with-qmv=/mars/common/qmv/ \ | ||
+ | --with-readline=/usr/lib64 | ||
+ | make | ||
+ | make install | ||
+ | |||
+ | |||
+ | For the latest versions of ubuntu this command has woreked well: | ||
+ | ./configure --prefix=/usr \ | ||
+ | --disable-libisis \ | ||
+ | --with-modpath=/usr/lib64/davinci \ | ||
+ | --with-help=/usr/share/davinci/docs/dv.gih \ | ||
+ | CFLAGS=-fPIC CXXFLAGS=-fPIC \ | ||
+ | --disable-jbig --disable-lzma | ||
+ | make | ||
+ | make install | ||
== Building Davinci for Mars Space Flight Facility == | == Building Davinci for Mars Space Flight Facility == | ||
− | + | For CentOS5 machines | |
− | + | To isolate each Davinci version from other versions, separate directories are created under /mars/common/ as follows: | |
− | + | ||
Create new Directories. Replace {version} with new version number (e.g. 1.70) | Create new Directories. Replace {version} with new version number (e.g. 1.70) | ||
− | + | mkdir /mars/common/davinci-{version} | |
− | + | mkdir /mars/common/davinci-{version}/share | |
− | + | mkdir /mars/common/davinci-{version}/include | |
− | + | mkdir /mars/common/davinci-{version}/lib | |
− | + | mkdir /mars/common/davinci-{version}/bin | |
Build and Install | Build and Install | ||
− | + | ./configure --prefix=/mars/common/davinci-{version} \ | |
− | --with-help=/ | + | --with-help=/mars/common/davinci-{version}/share/davinci/docs/dv.gih \ |
− | --with-modpath=/ | + | --with-modpath=/mars/common/davinci-{version}/lib/davinci \ |
− | --enable-libisis=/mars/common/isis/isisr | + | --enable-libisis=/mars/common/isis/isisr \ |
--with-qmv=/mars/common/qmv | --with-qmv=/mars/common/qmv | ||
Line 67: | Line 190: | ||
$ make install | $ make install | ||
− | + | Test it out by running | |
− | + | /mars/common/davinci-{version}/bin/davinci | |
− | ln -sni / | + | dv>install_check() |
+ | |||
+ | If you see no significant errors, Then (make it official) by create new symlinks | ||
+ | ln -sni /mars/common/davinci-{version} /mars/common/davinci | ||
+ | |||
+ | Make it davinci group writable | ||
+ | chgrp -R davinci /mars/common/davinci | ||
+ | chmod -R 775 /mars/common/davinci | ||
== Building RPM == | == Building RPM == | ||
+ | |||
+ | '''This is outdated and wrong''' | ||
+ | |||
Before you start building rpms, make sure you have rpmbuild installed. | Before you start building rpms, make sure you have rpmbuild installed. | ||
Line 80: | Line 213: | ||
Building process as non-root user: | Building process as non-root user: | ||
− | + | mkdir davinci | |
− | + | svn checkout http://oss.mars.asu.edu/svn/davinci/davinci/trunk davinci | |
− | + | svn checkout http://oss.mars.asu.edu/svn/davinci/davinci_build/trunk/linux davinci/build_utils | |
− | + | cd davinci/build_utils | |
− | + | ./build_rpm | |
If everything went alright, the rpm files should be created on the davinci/build_utils directory. | If everything went alright, the rpm files should be created on the davinci/build_utils directory. | ||
Line 104: | Line 237: | ||
*Examples /usr/share/davinci/examples | *Examples /usr/share/davinci/examples | ||
*Library Scripts /usr/share/davinci/library | *Library Scripts /usr/share/davinci/library | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 08:41, 21 August 2019
Contents |
[edit] Source
[edit] Dependencies
Davinci has the following optional dependencies it will search for. Davinci will operate without these but some functions may not be available.
* Readline * X11/Xt * Motif * HDF5 * Vicar * libisis * FITS * QMV * libisis3 * Qt4
It may also be useful to set the display program with --with-viewer=foo, the text editor with --with-editor=foo, and the plotting program with --with-gnuplot=foo
[edit] Standard Linux Building Procedure
As root type the following commands.
$ ./configure $ make $ make install
If you are installing Davinci for the first time, you may need to set your .dvrc file to load the Davinci Scripts Library as detailed in Installation_FAQ.
[edit] Operating System: Mac OS X 10.6.4
[edit] Dependencies
- Mac OS X 10.6.x
- Xcode 3.2 (with X11)
- MacPorts (Download)
- xv (binary)
- Unzip and move to /usr/local/bin or /opt/local/bin
- gnuplot
$ sudo port install gnuplot
- hdf5
$ sudo port install hdf5
[edit] Installation Procedure
- Download the most recent davinci source
$ tar zxf davinci-x.xx $ cd davinci-x.xx/ $ env CPPFLAGS="-I/opt/local/include" LDFLAGS="-L/opt/local/lib" ./configure $ make $ sudo make install
[edit] Installation Procedure
- Download the most recent davinci source -- This includes iomedley and readline
- unpack by either double clicking on the zipped tarball or by typing tar -xzpf davinci-1.xx in the directory where davinci was downloaded
- change in to the davinci-1.xx directory. The steps below will compile davinci for mac without aqua (with X11). Remove "--disable-aqua" for a non-X11 compile. The --prefix allows the user to specify the installation directory.
$ ./configure --prefix="INSTALL DIRECTORY" $ make $ sudo make install
[edit] Operating System: Solaris 10 (Sparc) 64-bit Ultra 4
The method was tested in 64 bit Solaris 10 (SPARC) Ultra 4.
Davinci is installed using GNU gcc although some dependencies like HDF5 are easier installed using Studio 12.
[edit] Dependencies Installation (Not required, but highly recommended)
You can install a pre-built version of readline in Freeware for Solaris website . The easiest way to install readline is through pkg-get. First you install pkg-get (Typically in /opt/csw ) and then you can install the readline as follows:
pkg-get install readline
You can install a pre-built version of Gnuplot in Freeware for Solaris website . The easiest way to install readline is through pkg-get. First you install pkg-get (Typically in /opt/csw ) and then you can install the readline as follows:
pkg-get install gnuplot
- HDF5 (Version 1.82)
HDF5 can be built using Sun Studio 12
Once Sun Studio is installed, set the environment variables CC and CXX as follows (Assuming C Shell)
setenv CC cc setenv CXX cc ./configure make
make install
[edit] Davinci Installation
Davinci can be installed using GCC so the CC variables have to be changed back to gcc This configuration was used on a test Solaris 10 Sparc 64-bit system and Davinci was built successfully. You may not necessarily follow these steps.
Building Utilities
- gcc: /usr/sfw/bin/gcc
- make: /usr/sfw/bin/make -> /usr/sfw/bin/gmake
setenv PATH ${PATH}:/usr/sfw/bin setenv PATH ${PATH}:/usr/csw/bin setenv PATH ${PATH}:/usr/ccs/bin setenv CC /usr/sfw/bin/gcc setenv CXX /usr/sfw/bin/gcc
Assuming davinci is installed under /opt/local
mkdir /opt/local/davinci-{version} mkdir /opt/local/davinci-{version}/share mkdir /opt/local/davinci-{version}/include mkdir /opt/local/davinci-{version}/lib mkdir /opt/local/davinci-{version}/bin
Configure and Make (as a user)
./configure -prefix=/opt/local/davinci-{version} \ --with-help=/opt/local/davinci-{version}/share/davinci/docs/dv.gih \ --with-modpath=/opt/local/davinci-{version}/lib/davinci \
If readline is installed in some location not found by the configure set the path to it (For example if installed under /opt/csw add --with-readline=/opt/csw )
If HDF5 is installed in some location not found by the configure set the path to it (For example if installed under /opt/local add --with-hdf5=/opt/local)
If Gnuplot is installed in some location not found by the configure set the path to it (For example if the binary ois located in /opt/csw/bin/gnuplot add --with-gnuplot=/opt/csw/bin/gnuplot)
make
If the "install" script is missing from your path, use /usr/ucb/install
setenv PATH /usr/ucb:${PATH}
At the end perform the installation as root
make install
[edit] Building Davinci for Linux 64-bit
The position independent code needs to be enabled. For example
./configure make make install
To add ISIS3 reading (and eventually write) support:
./configure --with-isis3=/mars/common/isis3/x86_64/isis \ CFLAGS="-fpic" QTDIR=/usr/lib64/qt4 make make install
For a more complete build, configure with
./configure --with-isis3=/mars/common/isis3/x86_64_Linux/isis \ CFLAGS="-fpic" QTDIR=/usr/lib64/qt4 \ --enable-libisis=/mars/common/isis/isisr/ --with-qmv=/mars/common/qmv/ \ --with-readline=/usr/lib64 make make install
For the latest versions of ubuntu this command has woreked well:
./configure --prefix=/usr \ --disable-libisis \ --with-modpath=/usr/lib64/davinci \ --with-help=/usr/share/davinci/docs/dv.gih \ CFLAGS=-fPIC CXXFLAGS=-fPIC \ --disable-jbig --disable-lzma make make install
[edit] Building Davinci for Mars Space Flight Facility
For CentOS5 machines
To isolate each Davinci version from other versions, separate directories are created under /mars/common/ as follows:
Create new Directories. Replace {version} with new version number (e.g. 1.70)
mkdir /mars/common/davinci-{version} mkdir /mars/common/davinci-{version}/share mkdir /mars/common/davinci-{version}/include mkdir /mars/common/davinci-{version}/lib mkdir /mars/common/davinci-{version}/bin
Build and Install
./configure --prefix=/mars/common/davinci-{version} \ --with-help=/mars/common/davinci-{version}/share/davinci/docs/dv.gih \ --with-modpath=/mars/common/davinci-{version}/lib/davinci \ --enable-libisis=/mars/common/isis/isisr \ --with-qmv=/mars/common/qmv
$ make
$ make install
Test it out by running
/mars/common/davinci-{version}/bin/davinci dv>install_check()
If you see no significant errors, Then (make it official) by create new symlinks
ln -sni /mars/common/davinci-{version} /mars/common/davinci
Make it davinci group writable
chgrp -R davinci /mars/common/davinci chmod -R 775 /mars/common/davinci
[edit] Building RPM
This is outdated and wrong
Before you start building rpms, make sure you have rpmbuild installed.
Probably you want to have a FITS and HDF5 support. You can either
get them in the official websites, or just easier in http://www.rpmfind.net. Package names: cfitsio, cfitsio-devel, hdf5, hdf5-devel. If you want to
use GUI module, lesstif and lesstif-devel are also required.
Building process as non-root user:
mkdir davinci svn checkout http://oss.mars.asu.edu/svn/davinci/davinci/trunk davinci svn checkout http://oss.mars.asu.edu/svn/davinci/davinci_build/trunk/linux davinci/build_utils cd davinci/build_utils ./build_rpm
If everything went alright, the rpm files should be created on the davinci/build_utils directory.
Technical Info about building rpms:
The building process is performed by build_rpm.sh script. This script will perform the following steps:
- Create rpm building environment (devault ~/rpm)
- Copy the spec file contrib/davinci.spec to the ~/rpm/SPECS and inject the latest davinci version (from version.h).
- Copy the source file to ~/rpm/SOURCES
- Create the appropriate directory name.
- Invoke rpmbuild
When rpm is installed the files are installed as follows:
- Binary /usr/bin/davinci
- Libraries /usr/lib/libdavinci* /usr/lib/libiomedley*
- Modules /usr/lib/davinci
- Docs /usr/share/davinci/docs
- Examples /usr/share/davinci/examples
- Library Scripts /usr/share/davinci/library