Compiling Davinci

From DavinciWiki

Jump to: navigation, search

Contents

[edit] Source

[edit] 64-bit Source


[edit] Standard Linux Building Procedure

As root type the following commands.

$ ./configure
$ make
$ make install

[edit] Operating System: Mac OS X 10.4.8

[edit] Dependencies

  • Mac OS X 10.4.X
  • Xcode2
  • Apple X11 or XDarwin
  • xv (binary)
    1. Unzip and move to /usr/local
  • gnuplot
    1. download and install aquaterm (source)
    2. download and install gnuplot (source)
  • hdf5 (source)
    1. configure with "./configure --enable-hdf5v1_4=yes --prefix=/usr/local"
    2. make
    3. sudo make install
    • NOTE: also requires zlib (should already be installed source)

[edit] Installation Procedure

  1. Download the most recent davinci source -- This includes iomedley and readline
  2. unpack by either double clicking on the zipped tarball or by typing tar -xzpf davinci-1.xx in the directory where davinci was downloaded
  3. change in to the davinci-1.xx directory. The steps below will compile davinci for mac without aqua (with X11). Remove "--disable-aqua"
  4. for a non-X11 compile. The --prefix allows the user to specify the
  5. ./configure --prefix="INSTALL DIRECTORY"
  6. make
  7. sudo make install -- if you want to install it into your standard bin directory


[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

[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

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 file:///tes/svn/dev/davinci/trunk davinci
svn checkout file:///tes/svn/dev/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

[edit] Operating System: Mandriva Linux 2007

[edit] Dependencies

  • libhdf5, libhdf5-devel (HDF support)
  • libltdl, ltdl-devel (fixes error regarding ltdl, or "libtool dynamic linking")
  • libxorg-x11, libxorg-x11-devel (X11 support - for GUI module)
  • lesstif, lesstif-devel (Motif development files - for GUI module)
  • libreadline, libreadline-devel (might not be necessary, but no harm in trying)
  • libtermcap, libtermcap-devel (related to readline)
  • libncurses, libncurses-devel (also related to readline)

[edit] Installation Procedure

  1. As root, type "urpmi [name]" to install, or use drakrpm for a menu interface):
  2. Install all dependencies listed above
  3. Reboot after installing dependencies, (this may have fixed an error that occurred while making readline)
  4. change into the iomedley directory
  5. "./configure"
  6. "make"
  7. change to the davinci directory
  8. "./configure"
  9. "make"
  10. "make install"
Personal tools