-
Notifications
You must be signed in to change notification settings - Fork 17
old installation
This page is slightly out of date. An up-to-date walkthrough guide of installing CODES can be found in our tutorials section:
0 - Checkout, build, and install the trunk version of ROSS (https://github.com/carothersc/ROSS). At the time of release (0.6.0), ROSS's latest commit hash was 10d7a06b2d, so this revision is "safe" in the unlikely case incompatible changes come along in the future. If working from the CODES master branches, use the ROSS master branch.
git clone http://github.com/carothersc/ROSS.git
# if using 0.5.2 release: git checkout d3bdc07
cd ROSS
mkdir build
cd build
# note: other options for ARCH include i386 (for 32 bit machines),
# bgp, and bgq (for Blue Gene systems)
ARCH=x86_64 CC=mpicc CXX=mpicxx cmake -DCMAKE_INSTALL_PREFIX=../install ../
make -j 3
make install
the result should be that the latest version of ROSS is installed in the ROSS/install/ directory>
For more details on installing ROSS, go to
https://github.com/carothersc/ROSS/blob/master/README.md
If using ccmake to configure, don't forget to set CMAKE_C_COMPILER and CMAKE_CXX_COMPILER to mpicc/mpicxx
1 - If you are building CODES directly from the repository, run
./prepare.sh
2 - CODES requires pkg-config and non-ancient versions of flex/bison (i.e. there have been problems with the Mac version). Use your favorite package manager to obtain them.
3 - Configure CODES. This can be done in the source directory or in a dedicated build directory if you prefer out-of-tree builds. The CC environment variable must refer to an MPI compiler.
mkdir build
cd build
../configure --prefix=/path/to/codes/install CC=mpicc CXX=mpicxx PKG_CONFIG_PATH=/path/to/ross/install/lib/pkgconfig
To enable network tracing with dumpi
(https://github.com/sstsimulator/sst-dumpi), use the option
--with-dumpi=/path/to/dumpi/installwith configure.
NOTE: we only require libundumpi for trace processing. Hence, if building
dumpi from source you may configure with --disable-libdumpi and
--enable-libundumpi (this is especially useful if you have mpich3, which
breaks libdumpi's function wrappers through constifying the MPI
interface).
For building DUMPI with mpich3 versions and higher, use the following build options:
CFLAGS="-DMPICH_SUPPRESS_PROTOTYPES=1 -DHAVE_PRAGMA_HP_SEC_DEF=1"
./bootstrap.sh
./configure --enable-libdumpi CC=mpicc --prefix=$INSTALL_PATH
4- Use the --with-darshan argument to configure to enable the optional
Darshan I/O workload generator
(http://www.mcs.anl.gov/research/projects/darshan/). In order to use
this option, you must either have the darshan-util portion
of Darshan installed in the default system path, or else add
<DARSHAN_PREFIX>/lib/pkgconfig to your PKG_CONFIG_PATH environment
variable before calling configure.
- Fusion (ANL): add the following keys to your ~/.soft file and run "resoft" prior to following the steps described in this file:
+python-2.7.3
+autoconf-2.68
+git
+cmake
5- To install CODES with Cortex, see instructions at https://xgitlab.cels.anl.gov/codes/codes/wikis/codes-cortex-install
- follow steps 0-2 as shown above, with one exception:
- add the following argument to configure:
CFLAGS=-I<path_to_your_mpi_include_directory>
- add the following argument to configure:
- edit Makefile, and delete the "CC = mpicc" (or similar) line
- run "scan-build --use-cc=mpicc make"
- version 0.61 is required
- build/install uncrustify from your favorite distro (0.61), OR download from https://github.com/bengardner/uncrustify and build from source (configure --prefix /path/to/install && make && make install)
- either use uncrustify directly (see uncrustify --help) or use the provided reformat.sh tool which is a shim over some of the options (see reformat.sh -h)