Installing

Prerequisites

To install sedflux-2.0, you need to have certain progams installed on you machine. A list of these programs follows with the version numbers that I used. It is possible that older version will work but I have not checked if this is the case.

Required
Optional
If you do not have some of the optional programs, you can still install sedflux but with some loss of functionality. The limitations are:

The configure script will check for these packages and turn them on or off depending are whether or not they are found.

Configuring

The configure command

To configure sedflux-2.0:
> configure --prefix=<program-prefix>
where <program-prefix> is the path name to the location into which the program will be install. For example, <program-prefix> could be /usr/local/sedflux. In this case, all of the sedflux installation files will be installed in /usr/local/sedflux. This would mean that the sedflux executable program would be /usr/local/sedflux/bin/sedflux.

Configuration options

--enable-libgtk
If you have gtk+-2.0 (version >= 2.2) installed on you machine you can compile the graphical user interface for sedflux. The default is to disable this functionality. If enabled, configure will search for the libraries using pkg-config. (http://www.gtk.org)
--enable-libcheck
If you have check package installed, you can compile sedflux to include unit tests. The default is for unit tests to be disabled. If enabled, configure will use pkg-config to find the required libraries and header files. (http://check.sourceforge.net)
--enable-doxygen
Generate HTML documentation. This must be done using the program doxygen. If enabled, doxygen must be in your PATH. The default is to disable doxygen. (http://www.stack.nl/~dimitri/doxygen)
--enable-blas
--with-blas-dir=PATH
Currently, there is only minimal support for BLAS/LAPACK libraries. If you wish to use these libraries rather than the ones that come with the distribution, you can indicate such with the --enable-blas option. If pkg-config can not find the necessaty libraries, you can manually specify the base path of the BLAS installation with the --with-blas-dir=PATH option.
--with-html-dir=PATH
Specify a location to put HTML documentation. If not specified, documentation is installed in ${datadir}/ew-doc/html.

Problems

Problem
I get an error message saying that I don't have gtk+-2.0 (or glib) but I know I do.
Answer
The configure script uses pkg-config to find the required libraries. Make sure that you have set your PKG_CONFIG_PATH environment variable to include the pkg-config files for these libraries. As an example,
> setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig
Problem
PKG_CONFIG_PATH is set correctly but configure still says that my version of glib is not correct.
Answer
Locate the path to the library files for your latest version of glib-2.0. Make sure that this path is listed before (or at all) the older library files in your LD_LIBRARY_PATH environment variable. To check the contents of LD_LIBRARY_PATH,
> echo $LD_LIBRARY_PATH
If the glib libraries (libglib-2.0.so, libgthread-2.0.so, etc.) are in /usr/local/lib, you can set LD_LIBRARY_PATH as,
> setenv LD_LIBRARY_PATH /usr/local/lib:$LD_LIBRARY_PATH

Build

To compile the sedflux-2.0 package,
> make
Once this has finished, you can install the package,
> make install
This will copy all of the sedflux installation files to the location you specified during the configuration process. Note that you will have to have write permission for the directory that you are installing into.

Building for 64 bit Machines

This really just describes how I go about building a 64-bit version of sedflux on our Solaris machines.

All it takes is to define correctly the necessary environment variables. To make sure we use the proper compiler and linker, set the environment variables CC and LD. For our machine this means,

> setenv CC /usr/local/lang/bin/cc
> setenv LD /usr/ccs/bin/sparcv9/ld
Now set CFLAGS to compile the 64 bit code,
> setenv CFLAGS "-xarch=v9b -xCC"
Optionally, to build faster running code I'll instead use,
> setenv CFLAGS "-fast -xarch=v9b -xCC -xautopar -xO5"
To make sure the correct libraries are linked to, I'll define LDFLAGS as,
> setenv LDFLAGS "-L/usr/lib/sparcv9 -L/usr/ucblib/sparcv9 -L/usr/local/sparcv9/lib"
The sedlux configure script uses pkg-config to locate required libraries (usually, this is just glib-2.0). To make sure that it finds the 64-bit versions, set your PKG_CONFIG_PATH to include these paths. For our system, this is
> setenv PKG_CONFIG_PATH /usr/local/sparcv9/lib/pkgconfig
Finally, because I'm paranoid, I'll remove all references to the regular 32 bit libraries from my LD_LIBRARY_PATH. Somehow, no matter how hard I try, LD tries to link to these libraries instead of the 64 bit versions.
Generated on Fri Jan 4 18:04:19 2008 for sedflux by  doxygen 1.5.2