ROSE

From Autodiff

Jump to: navigation, search

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

Developer Notes

Personal tools