[Users] Patch: allow custom LORENE_LIBS in optionlist

David Radice david.radice at aei.mpg.de
Fri Jun 25 07:48:00 CDT 2010


On Fri, 2010-06-25 at 08:24 -0400, Erik Schnetter wrote:
> Is it sufficient to set LORENE_DIR, or do you also need to set
> FFTW_DIR?  Do you build FFTW as part of Lorene, independently of
> Cactus, or together with Cactus?  Are you using the FFTWlib thorn?
> Where is your FFTW installed?

I build Lorene with the system FFTW and then I add FFTW to LORENE_LIBS.

I tried using the FFTWlib thorn, but somehow fftw3 was not added to the
library list in the linking stage (I guess that probably one would have
to make LORENE depend on FFTWlib for that... but that would have broken
the current non-FFTW configs...).

> Maybe it would be easier if you sent an example option list, so that I
> see how you would use this.

Please find the attached "local_settings" for Lorene and option list for
Cactus that I use on Damiana. The option list is just a modified version
of the one that comes with simfactory.

David

-- 
David Radice
Max Planck Institute for Gravitational Physics
Albert Einstein Institute
Am Muehlenberg 1
D-14476 Potsdam
Germany

Tel    : +49 331 567 7242
Fax    : +49 331 567 7499
Room   : 1.64
E-Mail : david.radice at aei.mpg.de
-------------- next part --------------
# damiana

# Whenever this version string changes, the application is configured
# and rebuilt from scratch
VERSION = 2010-02-18

CPP = cpp
FPP = cpp
CC  = /cluster/Compiler/Intel/11.1.064/bin/intel64/icc
CXX = /cluster/Compiler/Intel/11.1.064/bin/intel64/icpc
F77 = /cluster/Compiler/Intel/11.1.064/bin/intel64/ifort
F90 = /cluster/Compiler/Intel/11.1.064/bin/intel64/ifort

# "-debug inline-debug-info" leads to ICEs in AHFinderDirect and
# BAM_Elliptic with Intel 11.0
CPPFLAGS =
FPPFLAGS = -traditional
CFLAGS   = -g -debug all -traceback -align -std=c99 -ansi_alias -U__STRICT_ANSI__
CXXFLAGS = -g -debug all -traceback -align -restrict
F77FLAGS = -g -debug all -traceback -align -pad -w95 -cm
F90FLAGS = -g -debug all -traceback -align -pad -w95 -cm

C_LINE_DIRECTIVES = yes
F_LINE_DIRECTIVES = yes

LDFLAGS = -Wl,-rpath,/cluster/intel/mkl/10.2.2.025/lib/em64t -Wl,-rpath,/cluster/gsl/1.10/lib -Wl,-rpath,/cluster/hdf5/1.8.4/lib -Wl,-rpath,/cluster/Compiler/Intel/11.1.064/lib/intel64 -Wl,-rpath,/cluster/openmpi/1.4.1/lib -Wl,-rpath,/cluster/PAPI/4.0/lib

# TODO: try -fstack-protector
DEBUG           = no
CPP_DEBUG_FLAGS = -DCARPET_DEBUG
FPP_DEBUG_FLAGS = -DCARPET_DEBUG
C_DEBUG_FLAGS   = -O0 # -check-uninit
CXX_DEBUG_FLAGS = -O0 # -check-uninit
F77_DEBUG_FLAGS = -O0 -check bounds -check format # -check all
F90_DEBUG_FLAGS = -O0 -check bounds -check format # -check all

OPTIMISE           = yes
CPP_OPTIMISE_FLAGS = # -DCARPET_OPTIMISE -DNDEBUG
FPP_OPTIMISE_FLAGS = # -DCARPET_OPTIMISE -DNDEBUG
C_OPTIMISE_FLAGS   = -O2 -xsse2
CXX_OPTIMISE_FLAGS = -O2 -xsse2
F77_OPTIMISE_FLAGS = -O2 -xsse2
F90_OPTIMISE_FLAGS = -O2 -xsse2

PROFILE           = no
CPP_PROFILE_FLAGS =
FPP_PROFILE_FLAGS =
C_PROFILE_FLAGS   = -pg
CXX_PROFILE_FLAGS = -pg
F77_PROFILE_FLAGS = -pg
F90_PROFILE_FLAGS = -pg

OPENMP           = no
#CPP_OPENMP_FLAGS = -openmp
#FPP_OPENMP_FLAGS = -fopenmp
#C_OPENMP_FLAGS   = -openmp
#CXX_OPENMP_FLAGS = -openmp
#F77_OPENMP_FLAGS = -openmp
#F90_OPENMP_FLAGS = -openmp

WARN           = yes
C_WARN_FLAGS   = 
CXX_WARN_FLAGS = 
F77_WARN_FLAGS = 
F90_WARN_FLAGS = 



#BLAS_DIR  = /cluster/Compiler/Intel/11.1.046/046/mkl/lib/em64t
BLAS_DIR  = /cluster/intel/mkl/10.2.2.025/lib/em64t
BLAS_LIBS =  -Wl,--start-group mkl_intel_lp64 mkl_intel_thread mkl_core -Wl,--end-group   iomp5   pthread

#FFTW_DIR = /home/eschnett

GSL_DIR = /cluster/gsl/1.10

HDF5      = yes
HDF5_DIR = /cluster/hdf5/1.8.4

LAPACK      = yes
#LAPACK_DIR  = /cluster/Compiler/Intel/11.1.046/046/mkl/lib/em64t
LAPACK_DIR  = /cluster/intel/mkl/10.2.2.025/lib/em64t
LAPACK_LIBS = -Wl,--start-group mkl_lapack mkl_intel_lp64 mkl_intel_thread mkl_core -Wl,--end-group

MPI         = OpenMPI
OPENMPI_DIR = /cluster/openmpi/1.4.1

PAPI_DIR    = /cluster/PAPI/4.0/

#PETSC_DIR       = /usr/local/apps/petsc
#PETSC_ARCH_LIBS = lapack blas   pmpich mpich X11   g2c

LORENE_DIR  = /home/david_e/src/Lorene
LORENE_LIBS = lorene_export lorene lorenef77 -L/cluster/fftw/3.3/lib fftw3  m

PTHREADS = yes

SSL_DIR = /home/eschnett/openssl-0.9.8k
-------------- next part --------------
###############################################################
#
#  Edit the following lines according to your implementation.
#
#  The environment variable HOME_LORENE (root directory for the
#   Lorene implementation) must be have been already defined.
#
###############################################################

#===============================#
#           COMPILERS           #
#===============================#

# C++ compiler:
# ------------
CXX      = /cluster/Compiler/Intel/11.1.064/bin/intel64/icpc

# Options for the C++ compiler to produce the optimized library:
# -------------------------------------------------------------
CXXFLAGS = -O2 -DNDEBUG

# Options for the C++ compiler to produce the library for debugging:
# -----------------------------------------------------------------
CXXFLAGS_G =  -g

##-Woverloaded-virtual -g
CXXFLAGS_G =  -g

# Path for the include files:
# --------------------------
INC    = -I$(HOME_LORENE)/C++/Include \
          -I$(HOME_LORENE)/C++/Include_extra \
	  -I/cluster/gsl/1.14/include \
	  -I/cluster/intel/mkl/10.2.2.025/include \
	  -I/cluster/fftw/3.2.2/include

# Converting archives to random libraries (if required, otherwise just ls)
# ------------------------------------------------------------------------
RANLIB = ls

# Fortran 77 compiler:
# -------------------
F77      = /cluster/Compiler/Intel/11.1.064/bin/intel64/ifort

# Options for the Fortran 77 compiler to produce the optimized library:
# ---------------------------------------------------------------------
F77FLAGS = -extend_source -O2 

# Options for the Fortran 77 compiler to produce the library for debugging:
# ------------------------------------------------------------------------
F77FLAGS_G = -extend_source -g

#===============================#
#           MAKEDEPEND	        #
#===============================#

# First line uses the C precompiler (usually called cpp)
# if yours does not support the -M option try to figure out
# how to output dependencies file, or use makedepend (2nd line)
#--------------------------------------------------------------
MAKEDEPEND = $(CXX) $(INC) -M >> $(df).d $<
#MAKEDEPEND = touch $(df).d && makedepend $(INC) -f $(df).d $<
DEPDIR = .deps

#===============================#
#      SYSTEM LIBRARIES         #
#===============================#

# FFT library:    FFT991 in Fortran coming with Lorene
#		  FFTW3 library (must be installed separately)
# -------------------------------------------------------------------
FFT_DIR = FFTW3

# C, C++ library, mathematical library and Fortran library
# ---------------------------------------------------------
ifeq ($(FFT_DIR),FFTW3)
LIB_CXX = -L/cluster/fftw/3.2.2/lib -lfftw3 -lstdc++ -lm
else 
LIB_CXX = -lstdc++ -lm
endif

# Linear Algebra Package (LAPACK) library
# ---------------------------------------
LIB_LAPACK = -L/cluster/intel/mkl/10.2.2.025/lib/em64t -Wl,--start-group -lmkl_lapack -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group

# Graphical libraries: PGPLOT and X11
# -----------------------------------
# LIB_PGPLOT = -L/usr/X11R6/lib -lcpgplot -lpgplot -lX11

# GNU scientific library
# -----------------------------------
LIB_GSL = -L/cluster/gsl/1.14/lib -lgsl -lgslcblas


More information about the Users mailing list