ROSE
From Autodiff
The official ROSE website is http://rosecompiler.org/.
Get the sources
from the SciDAC outreach site get
svn co https://outreach.scidac.gov/svn/rose/trunk rose
there is also an ANL branch which we currently do not use:
svn co https://outreach.scidac.gov/svn/rose/branches/ANL rose
Build Rose
Note: some paths are taken from an install on octagon and you will need to change the green parts
- make a build and a install directory and set
export ROSE_BUILD_DIR=/disks/utke/Apps/rose_build export ROSE_INST_DIR=/disks/utke/Apps/rose_inst export ROSE_SOURCE_DIR=/disks/utke/Argonne/svn/CodeReps/anonymous/rose
Follow the installation instructions with the following caveats:
- for the following we assume boost is made and installed at BOOST_INSTALL, and we need to add the libraries to LD_LIBRARY_PATH e.g.
export BOOST_INSTALL=/home/derivs/software/linux-Ubuntu_8.04-x86_64/boost_1_36_0
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${BOOST_INSTALL}/lib
- if JAVA_HOME is set to some directory, then java and javac must be located in there, otherwise JAVA_HOME must not be set and both must be located in the PATH and libjvm.so must be in LD_LIBRARY_PATH, e.g.
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server
- the ROSE configuration requires automake version 1.9.6 as an exact match. This version is installed at
/home/derivs/software/linux-Ubuntu_8.04-x86_64/automake-1.9.6 and it needs to be in your PATH, e.g.
export PATH=/home/derivs/software/linux-Ubuntu_8.04-x86_64/automake-1.9.6/bin:$PATH
- the ROSE configuration also requires libtoolize and some versions appear to not work correctly (e.g. 1.5.26). A version known to work ok is 2.2.6a which is installed at e.g.
/home/derivs/software/linux-Ubuntu_8.04-x86_64/libtool-2.2.6a/
export PATH=/home/derivs/software/linux-Ubuntu_8.04-x86_64/libtool-2.2.6a/bin:$PATH
- make the configure script (Note: if there is a message: macro `AM_PATH_XML2' not found in library this indicates that the libxml2 developer sources (e.g. libxml2-devel) are not installed on the system)
cd ${ROSE_SOURCE_DIR}
./build
- configure in the build direcory
cd ${ROSE_BUILD_DIR}
${ROSE_SOURCE_DIR}/configure --prefix=${ROSE_INST_DIR} --with-boost=${BOOST_INSTALL} --enable-java --enable-doxygen-developer-docs --disable-binary-analysis-tests --disable-ltdl-install F77=gfortran FC=gfortran
- build it (use some reasonable number for j), some components (e.g. haskellport) may fail to build but apparently they are not needed for ROSE, hence the -k flag
make -k -j 6
- install it with (same reason as above for -k)
make -k install
