Problem creating libOpenSees.a
Moderators: silvia, selimgunay, Moderators
-
- Posts: 71
- Joined: Fri Nov 06, 2009 6:40 am
- Location: Universidad del Norte, Colombia
Problem creating libOpenSees.a
Hi Frank. When compiling SRCdir to get libOpenSees.a, I am getting these errors:
--------------------------------------------
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h: In member function ‘virtual int DistributedSuperLU::solve()’:
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:90: error: ‘int SparseGenColLinSOE::size’ is protected
DistributedSuperLU.cpp:82: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:95: error: ‘Vector* SparseGenColLinSOE::vectB’ is protected
DistributedSuperLU.cpp:88: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:92: error: ‘double* SparseGenColLinSOE::A’ is protected
DistributedSuperLU.cpp:89: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:91: error: ‘int SparseGenColLinSOE::nnz’ is protected
DistributedSuperLU.cpp:89: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:92: error: ‘double* SparseGenColLinSOE::A’ is protected
DistributedSuperLU.cpp:99: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:91: error: ‘int SparseGenColLinSOE::nnz’ is protected
DistributedSuperLU.cpp:99: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:95: error: ‘Vector* SparseGenColLinSOE::vectB’ is protected
DistributedSuperLU.cpp:104: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:90: error: ‘int SparseGenColLinSOE::size’ is protected
DistributedSuperLU.cpp:114: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:91: error: ‘int SparseGenColLinSOE::nnz’ is protected
DistributedSuperLU.cpp:115: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:92: error: ‘double* SparseGenColLinSOE::X’ is protected
DistributedSuperLU.cpp:121: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:92: error: ‘double* SparseGenColLinSOE::B’ is protected
DistributedSuperLU.cpp:122: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:92: error: ‘double* SparseGenColLinSOE::X’ is protected
DistributedSuperLU.cpp:126: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:97: error: ‘bool SparseGenColLinSOE::factored’ is protected
DistributedSuperLU.cpp:134: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:93: error: ‘int* SparseGenColLinSOE::rowA’ is protected
DistributedSuperLU.cpp:136: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:97: error: ‘bool SparseGenColLinSOE::factored’ is protected
DistributedSuperLU.cpp:146: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:97: error: ‘bool SparseGenColLinSOE::factored’ is protected
DistributedSuperLU.cpp:148: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h: In member function ‘virtual int DistributedSuperLU::setSize()’:
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:90: error: ‘int SparseGenColLinSOE::size’ is protected
DistributedSuperLU.cpp:175: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:90: error: ‘int SparseGenColLinSOE::size’ is protected
DistributedSuperLU.cpp:195: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:91: error: ‘int SparseGenColLinSOE::nnz’ is protected
DistributedSuperLU.cpp:212: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:93: error: ‘int* SparseGenColLinSOE::rowA’ is protected
DistributedSuperLU.cpp:214: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:92: error: ‘double* SparseGenColLinSOE::A’ is protected
DistributedSuperLU.cpp:216: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:93: error: ‘int* SparseGenColLinSOE::colStartA’ is protected
DistributedSuperLU.cpp:217: error: within this context
make[4]: *** [DistributedSuperLU.o] Error 1
make[3]: *** [all] Error 2
make[2]: *** [all] Error 2
make[1]: *** [all] Error 2
--------------------------------------------
Any suggestion to avoid/fix those errors will be greatly appreciated!
I am compiling on Snow Leopard and using the default gcc and g++ compilers (those coming out of the box with the mac, version 4.2.1) together with gfortran 4.4.3.
--------------------------
CC++ = g++
CC = gcc
FC = $(BASE)/openseeslib/gcc/4.4.3/bin/gfortran
AR = ar
ARFLAGS = cqls
RANLIB = ranlib
RANLIBFLAGS =
C++FLAGS = -Wall -D_MACOSX -D_UNIX -D_TCL85 -D_HTTTPS -D_COROTATIONAL \
$(DEBUG_FLAG) $(PROGRAMMING_FLAG) -O3 -ffloat-store
CFLAGS = -Wall -O2 -D_HTTTPS
FFLAGS = -Wall -O
LINKER = $(CC++)
LINKFLAGS = -rdynamic -Wl
--------------------------
Thank you!
NOTE: -D_HTTTPS has an additional T. It was intentionally added.
--------------------------------------------
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h: In member function ‘virtual int DistributedSuperLU::solve()’:
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:90: error: ‘int SparseGenColLinSOE::size’ is protected
DistributedSuperLU.cpp:82: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:95: error: ‘Vector* SparseGenColLinSOE::vectB’ is protected
DistributedSuperLU.cpp:88: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:92: error: ‘double* SparseGenColLinSOE::A’ is protected
DistributedSuperLU.cpp:89: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:91: error: ‘int SparseGenColLinSOE::nnz’ is protected
DistributedSuperLU.cpp:89: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:92: error: ‘double* SparseGenColLinSOE::A’ is protected
DistributedSuperLU.cpp:99: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:91: error: ‘int SparseGenColLinSOE::nnz’ is protected
DistributedSuperLU.cpp:99: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:95: error: ‘Vector* SparseGenColLinSOE::vectB’ is protected
DistributedSuperLU.cpp:104: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:90: error: ‘int SparseGenColLinSOE::size’ is protected
DistributedSuperLU.cpp:114: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:91: error: ‘int SparseGenColLinSOE::nnz’ is protected
DistributedSuperLU.cpp:115: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:92: error: ‘double* SparseGenColLinSOE::X’ is protected
DistributedSuperLU.cpp:121: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:92: error: ‘double* SparseGenColLinSOE::B’ is protected
DistributedSuperLU.cpp:122: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:92: error: ‘double* SparseGenColLinSOE::X’ is protected
DistributedSuperLU.cpp:126: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:97: error: ‘bool SparseGenColLinSOE::factored’ is protected
DistributedSuperLU.cpp:134: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:93: error: ‘int* SparseGenColLinSOE::rowA’ is protected
DistributedSuperLU.cpp:136: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:97: error: ‘bool SparseGenColLinSOE::factored’ is protected
DistributedSuperLU.cpp:146: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:97: error: ‘bool SparseGenColLinSOE::factored’ is protected
DistributedSuperLU.cpp:148: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h: In member function ‘virtual int DistributedSuperLU::setSize()’:
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:90: error: ‘int SparseGenColLinSOE::size’ is protected
DistributedSuperLU.cpp:175: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:90: error: ‘int SparseGenColLinSOE::size’ is protected
DistributedSuperLU.cpp:195: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:91: error: ‘int SparseGenColLinSOE::nnz’ is protected
DistributedSuperLU.cpp:212: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:93: error: ‘int* SparseGenColLinSOE::rowA’ is protected
DistributedSuperLU.cpp:214: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:92: error: ‘double* SparseGenColLinSOE::A’ is protected
DistributedSuperLU.cpp:216: error: within this context
/Users/hresquivelo/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.h:93: error: ‘int* SparseGenColLinSOE::colStartA’ is protected
DistributedSuperLU.cpp:217: error: within this context
make[4]: *** [DistributedSuperLU.o] Error 1
make[3]: *** [all] Error 2
make[2]: *** [all] Error 2
make[1]: *** [all] Error 2
--------------------------------------------
Any suggestion to avoid/fix those errors will be greatly appreciated!
I am compiling on Snow Leopard and using the default gcc and g++ compilers (those coming out of the box with the mac, version 4.2.1) together with gfortran 4.4.3.
--------------------------
CC++ = g++
CC = gcc
FC = $(BASE)/openseeslib/gcc/4.4.3/bin/gfortran
AR = ar
ARFLAGS = cqls
RANLIB = ranlib
RANLIBFLAGS =
C++FLAGS = -Wall -D_MACOSX -D_UNIX -D_TCL85 -D_HTTTPS -D_COROTATIONAL \
$(DEBUG_FLAG) $(PROGRAMMING_FLAG) -O3 -ffloat-store
CFLAGS = -Wall -O2 -D_HTTTPS
FFLAGS = -Wall -O
LINKER = $(CC++)
LINKFLAGS = -rdynamic -Wl
--------------------------
Thank you!
NOTE: -D_HTTTPS has an additional T. It was intentionally added.
what version of OpenSees are you compiling:
the programming mode in Makefile.def
SEQUENTIAL,
PARALLEL,
PARALLEL_INTERPRETERS
each version requires a seperate make wipe and make as some code is included in some files and not in others.
the DistributedSuperLU solver shoud be a friend classs for the 2 parallel solvers; it's not of a sequential one.
the programming mode in Makefile.def
SEQUENTIAL,
PARALLEL,
PARALLEL_INTERPRETERS
each version requires a seperate make wipe and make as some code is included in some files and not in others.
the DistributedSuperLU solver shoud be a friend classs for the 2 parallel solvers; it's not of a sequential one.
-
- Posts: 71
- Joined: Fri Nov 06, 2009 6:40 am
- Location: Universidad del Norte, Colombia
-
- Posts: 71
- Joined: Fri Nov 06, 2009 6:40 am
- Location: Universidad del Norte, Colombia
# ---------------------------------------------------------------- #
# SECTION 1: PROGRAM #
# ---------------------------------------------------------------- #
# Specify the location and name of the OpenSees interpreter #
# program that will be created (if this all works!). #
# ---------------------------------------------------------------- #
PROGRAMMING_MODE = PARALLEL_INTERPRETERS
# OPTIONS = DEBUG | NO_DEBUG
DEBUG_MODE = NO_DEBUG
# OPTIONS = YES_RELIABILITY | NO_RELIABILITY
RELIABILITY = NO_RELIABILITY
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesMP
# ---------------------------------------------------------------- #
# SECTION 2: PATHS #
# ---------------------------------------------------------------- #
# NOTE: If vendor supplied BLAS and LAPACK libraries or if you #
# have any of the libraries already, leave the directory location #
# blank and remove the directory from DIRS. #
# ---------------------------------------------------------------- #
BASE = /usr/local
HOME = /Users/hresquivelo
FE = $(HOME)/OpenSees/SRC
BLASdir = $(HOME)/OpenSees/OTHER/BLAS
CBLASdir = $(HOME)/OpenSees/OTHER/CBLAS
LAPACKdir = $(HOME)/OpenSees/OTHER/LAPACK
SUPERLUdir = $(HOME)/OpenSees/OTHER/SuperLU_3.0/SRC
ARPACKdir = $(HOME)/OpenSees/OTHER/ARPACK
UMFPACKdir = $(HOME)/OpenSees/OTHER/UMFPACK
METISdir = $(HOME)/OpenSees/OTHER/METIS
SRCdir = $(HOME)/OpenSees/SRC
DIRS = $(BLASdir) $(CBLASdir) $(LAPACKdir) $(SUPERLUdir) \
$(ARPACKdir) $(UMFPACKdir) $(METISdir) $(SRCdir)
# ---------------------------------------------------------------- #
# SECTION 3: LIBRARIES #
# ---------------------------------------------------------------- #
# The following section defines the libraries that will be created #
# and/or linked with when the libraries are being created or #
# linked with. #
# NOTE 1: If vendor supplied BLAS and LAPACK libraries leave the #
# libraries blank. You have to get your own copy of the tcl/tk #
# library! #
# NOTE 2: For libraries that will be created (any in DIRS above) #
# make sure the directory exsists where you want the library to go #
# ---------------------------------------------------------------- #
FE_LIBRARY = $(HOME)/lib/libOpenSees.a
NDARRAY_LIBRARY = $(HOME)/lib/libndarray.a # BJ_UCD
MATMOD_LIBRARY = $(HOME)/lib/libmatmod.a # BJ_UCD
BJMISC_LIBRARY = $(HOME)/lib/libBJmisc.a # BJ_UCD
BLAS_LIBRARY = $(HOME)/lib/libBlas.a
CBLAS_LIBRARY = $(HOME)/lib/libCBlas.a
LAPACK_LIBRARY = $(HOME)/lib/libLapack.a
SUPERLU_LIBRARY = $(HOME)/lib/libSuperLU.a
ARPACK_LIBRARY = $(HOME)/lib/libArpack.a
UMFPACK_LIBRARY = $(HOME)/lib/libUmfpack.a
METIS_LIBRARY = $(HOME)/lib/libMetis.a
ifeq ($(RELIABILITY), YES_RELIABILITY)
RELIABILITY_LIBRARY = $(HOME)/lib/libReliability.a
endif
TCL_LIBRARY = $(BASE)/openseeslib/tcl/8.5.8/lib/libtcl8.5.dylib
WIPE_LIBS = $(FE_LIBRARY) $(NDARRAY_LIBRARY) $(MATMOD_LIBRARY) \
$(BJMISC_LIBRARY) $(LAPACK_LIBRARY) $(BLAS_LIBRARY) \
$(CBLAS_LIBRARY) $(SUPERLU_LIBRARY) $(ARPACK_LIBRARY) \
$(UMFPACK_LIBRARY) $(METIS_LIBRARY) $(RELIABILITY_LIBRARY)
# ----------------------------------------------------------------- #
# SECTION 4: COMPILERS #
# ----------------------------------------------------------------- #
# The following macros specify compilers, linker/loaders, the #
# archiver, and their options. You need to make sure these are #
# correct for your system. #
# ----------------------------------------------------------------- #
PROGRAMMING_FLAG = -D_PARALLEL_INTERPRETERS
SCALAP_FLAG = -D_SCALAP
GRAPHIC_FLAG = -D_NOGRAPHICS
ifeq ($(RELIABILITY), YES_RELIABILITY)
RELIABILITY_FLAG = -D_RELIABILITY
endif
CC++ = $(BASE)/openseeslib/openmpi/1.4.1/bin/mpic++
CC = $(BASE)/openseeslib/openmpi/1.4.1/bin/mpicc
FC = $(BASE)/openseeslib/openmpi/1.4.1/bin/mpif77
LINKER = $(CC++)
LINKFLAGS = -L$(BASE)/openseeslib/openmpi/1.4.1/lib -lmpi
AR = ar
ARFLAGS = cqls
RANLIB = ranlib
RANLIBFLAGS =
ifeq ($(DEBUG_MODE), DEBUG)
C++FLAGS = -Wall -D_MACOSX -D_UNIX -D_TCL85 D_HTTTPS -D_COROTATIONAL\
$(RELIABILITY_FLAG) $(SCALAP_FLAG) $(PROGRAMMING_FLAG) $(GRAPHIC_FLAG) \
-g -O0 -ffloat-store
CFLAGS = -Wall -O0 -g
FFLAGS = -Wall -O -DCUBLAS -x f77-cpp-input --no-second-underscore
else
C++FLAGS = -Wall -D_MACOSX -D_UNIX -D_TCL85 -D_HTTTPS -D_COROTATIONAL \
$(RELIABILITY_FLAG) $(SCALAP_FLAG) $(PROGRAMMING_FLAG) $(GRAPHIC_FLAG) \
-O3 -ffloat-store
CFLAGS = -Wall -O2
FFLAGS = -Wall -O -DCUBLAS -x f77-cpp-input --no-second-underscore
endif
# MISCELLANEOUS
MAKE = make
CD = cd
ECHO = echo
RM = rm
RMFLAGS = -f
SHELL = /bin/sh
# ----------------------------------------------------------------- #
# SECTION 5: COMPILATION #
# ----------------------------------------------------------------- #
# The following macros specify the macros used in to compile the #
# source code into object code. #
# ----------------------------------------------------------------- #
.SUFFIXES:
.SUFFIXES: .C .c .f .f90 .cpp .o .cpp
.DEFAULT:
@$(ECHO) "Unknown target $@, try: make help"
.cpp.o:
@$(ECHO) Making $@ from $<
$(CC++) $(C++FLAGS) $(INCLUDES) -c $< -o $@
.C.o:
@$(ECHO) Making $@ from $<
$(CC++) $(C++FLAGS) $(INCLUDES) -c $< -o $@
.c.o:
@$(ECHO) Making $@ from $<
$(CC) $(CFLAGS) -c $< -o $@
.f.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $< -o $@
# ----------------------------------------------------------------- #
# SECTION 6: OTHER LIBRARIES #
# ----------------------------------------------------------------- #
# The following macros specify other libraries that must be linked #
# with when creating executables. These are platform specific and #
# typically order does matter! #
# ----------------------------------------------------------------- #
SCALAP_LIB = $(BASE)/openseeslib/scalapack/blacs_MPI-mac-0.a \
$(BASE)/openseeslib/scalapack/blacsCinit_MPI-mac-0.a \
$(BASE)/openseeslib/scalapack/blacsF77init_MPI-mac-0.a \
$(BASE)/openseeslib/scalapack/blas_mac.a \
$(BASE)/openseeslib/scalapack/lapack_mac.a \
$(BASE)/openseeslib/scalapack/libscalapack.a
MACHINE_LINKLIBS = -L$(BASE)/lib -L$(HOME)/lib
MACHINE_NUMERICAL_LIBS = $(LAPACK_LIBRARY) $(BLAS_LIBRARY) \
$(CBLAS_LIBRARY) $(SUPERLU_LIBRARY) $(ARPACK_LIBRARY) \
$(UMFPACK_LIBRARY) $(RELIABILITY_LIBRARY) \
-ldl -L$(BASE)/openseeslib/gcc/4.4.3/lib -lgfortran
MACHINE_SPECIFIC_LIBS = -lssl
PARALLEL_LIB = $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o \
$(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \
$(DISTRIBUTED_SUPERLU_LIBRARY) $(SCALAP_LIB) $(METIS_LIBRARY) \
-L$(BASE))/openseeslib/openmpi/1.4.1/lib -lmpi_cxx -lmpi_f77 -lmpi -lopen-rte -lopen-pal
# ----------------------------------------------------------------- #
# SECTION 7: INCLUDE FILES #
# ----------------------------------------------------------------- #
# The following macros specify include files needed for compilation #
# ----------------------------------------------------------------- #
MACHINE_INCLUDES = -I/usr/include -I$(BASE)/include \
-I$(HOME)/OpenSees/OTHER/SuperLU_DIST_2.0/SRC
include $(FE)/Makefile.incl
TCL_INCLUDES = -I$(BASE)/openseeslib/tcl/8.5.8/include
INCLUDES = $(FE_INCLUDES) $(TCL_INCLUDES) $(MACHINE_INCLUDES)
# SECTION 1: PROGRAM #
# ---------------------------------------------------------------- #
# Specify the location and name of the OpenSees interpreter #
# program that will be created (if this all works!). #
# ---------------------------------------------------------------- #
PROGRAMMING_MODE = PARALLEL_INTERPRETERS
# OPTIONS = DEBUG | NO_DEBUG
DEBUG_MODE = NO_DEBUG
# OPTIONS = YES_RELIABILITY | NO_RELIABILITY
RELIABILITY = NO_RELIABILITY
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesMP
# ---------------------------------------------------------------- #
# SECTION 2: PATHS #
# ---------------------------------------------------------------- #
# NOTE: If vendor supplied BLAS and LAPACK libraries or if you #
# have any of the libraries already, leave the directory location #
# blank and remove the directory from DIRS. #
# ---------------------------------------------------------------- #
BASE = /usr/local
HOME = /Users/hresquivelo
FE = $(HOME)/OpenSees/SRC
BLASdir = $(HOME)/OpenSees/OTHER/BLAS
CBLASdir = $(HOME)/OpenSees/OTHER/CBLAS
LAPACKdir = $(HOME)/OpenSees/OTHER/LAPACK
SUPERLUdir = $(HOME)/OpenSees/OTHER/SuperLU_3.0/SRC
ARPACKdir = $(HOME)/OpenSees/OTHER/ARPACK
UMFPACKdir = $(HOME)/OpenSees/OTHER/UMFPACK
METISdir = $(HOME)/OpenSees/OTHER/METIS
SRCdir = $(HOME)/OpenSees/SRC
DIRS = $(BLASdir) $(CBLASdir) $(LAPACKdir) $(SUPERLUdir) \
$(ARPACKdir) $(UMFPACKdir) $(METISdir) $(SRCdir)
# ---------------------------------------------------------------- #
# SECTION 3: LIBRARIES #
# ---------------------------------------------------------------- #
# The following section defines the libraries that will be created #
# and/or linked with when the libraries are being created or #
# linked with. #
# NOTE 1: If vendor supplied BLAS and LAPACK libraries leave the #
# libraries blank. You have to get your own copy of the tcl/tk #
# library! #
# NOTE 2: For libraries that will be created (any in DIRS above) #
# make sure the directory exsists where you want the library to go #
# ---------------------------------------------------------------- #
FE_LIBRARY = $(HOME)/lib/libOpenSees.a
NDARRAY_LIBRARY = $(HOME)/lib/libndarray.a # BJ_UCD
MATMOD_LIBRARY = $(HOME)/lib/libmatmod.a # BJ_UCD
BJMISC_LIBRARY = $(HOME)/lib/libBJmisc.a # BJ_UCD
BLAS_LIBRARY = $(HOME)/lib/libBlas.a
CBLAS_LIBRARY = $(HOME)/lib/libCBlas.a
LAPACK_LIBRARY = $(HOME)/lib/libLapack.a
SUPERLU_LIBRARY = $(HOME)/lib/libSuperLU.a
ARPACK_LIBRARY = $(HOME)/lib/libArpack.a
UMFPACK_LIBRARY = $(HOME)/lib/libUmfpack.a
METIS_LIBRARY = $(HOME)/lib/libMetis.a
ifeq ($(RELIABILITY), YES_RELIABILITY)
RELIABILITY_LIBRARY = $(HOME)/lib/libReliability.a
endif
TCL_LIBRARY = $(BASE)/openseeslib/tcl/8.5.8/lib/libtcl8.5.dylib
WIPE_LIBS = $(FE_LIBRARY) $(NDARRAY_LIBRARY) $(MATMOD_LIBRARY) \
$(BJMISC_LIBRARY) $(LAPACK_LIBRARY) $(BLAS_LIBRARY) \
$(CBLAS_LIBRARY) $(SUPERLU_LIBRARY) $(ARPACK_LIBRARY) \
$(UMFPACK_LIBRARY) $(METIS_LIBRARY) $(RELIABILITY_LIBRARY)
# ----------------------------------------------------------------- #
# SECTION 4: COMPILERS #
# ----------------------------------------------------------------- #
# The following macros specify compilers, linker/loaders, the #
# archiver, and their options. You need to make sure these are #
# correct for your system. #
# ----------------------------------------------------------------- #
PROGRAMMING_FLAG = -D_PARALLEL_INTERPRETERS
SCALAP_FLAG = -D_SCALAP
GRAPHIC_FLAG = -D_NOGRAPHICS
ifeq ($(RELIABILITY), YES_RELIABILITY)
RELIABILITY_FLAG = -D_RELIABILITY
endif
CC++ = $(BASE)/openseeslib/openmpi/1.4.1/bin/mpic++
CC = $(BASE)/openseeslib/openmpi/1.4.1/bin/mpicc
FC = $(BASE)/openseeslib/openmpi/1.4.1/bin/mpif77
LINKER = $(CC++)
LINKFLAGS = -L$(BASE)/openseeslib/openmpi/1.4.1/lib -lmpi
AR = ar
ARFLAGS = cqls
RANLIB = ranlib
RANLIBFLAGS =
ifeq ($(DEBUG_MODE), DEBUG)
C++FLAGS = -Wall -D_MACOSX -D_UNIX -D_TCL85 D_HTTTPS -D_COROTATIONAL\
$(RELIABILITY_FLAG) $(SCALAP_FLAG) $(PROGRAMMING_FLAG) $(GRAPHIC_FLAG) \
-g -O0 -ffloat-store
CFLAGS = -Wall -O0 -g
FFLAGS = -Wall -O -DCUBLAS -x f77-cpp-input --no-second-underscore
else
C++FLAGS = -Wall -D_MACOSX -D_UNIX -D_TCL85 -D_HTTTPS -D_COROTATIONAL \
$(RELIABILITY_FLAG) $(SCALAP_FLAG) $(PROGRAMMING_FLAG) $(GRAPHIC_FLAG) \
-O3 -ffloat-store
CFLAGS = -Wall -O2
FFLAGS = -Wall -O -DCUBLAS -x f77-cpp-input --no-second-underscore
endif
# MISCELLANEOUS
MAKE = make
CD = cd
ECHO = echo
RM = rm
RMFLAGS = -f
SHELL = /bin/sh
# ----------------------------------------------------------------- #
# SECTION 5: COMPILATION #
# ----------------------------------------------------------------- #
# The following macros specify the macros used in to compile the #
# source code into object code. #
# ----------------------------------------------------------------- #
.SUFFIXES:
.SUFFIXES: .C .c .f .f90 .cpp .o .cpp
.DEFAULT:
@$(ECHO) "Unknown target $@, try: make help"
.cpp.o:
@$(ECHO) Making $@ from $<
$(CC++) $(C++FLAGS) $(INCLUDES) -c $< -o $@
.C.o:
@$(ECHO) Making $@ from $<
$(CC++) $(C++FLAGS) $(INCLUDES) -c $< -o $@
.c.o:
@$(ECHO) Making $@ from $<
$(CC) $(CFLAGS) -c $< -o $@
.f.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $< -o $@
# ----------------------------------------------------------------- #
# SECTION 6: OTHER LIBRARIES #
# ----------------------------------------------------------------- #
# The following macros specify other libraries that must be linked #
# with when creating executables. These are platform specific and #
# typically order does matter! #
# ----------------------------------------------------------------- #
SCALAP_LIB = $(BASE)/openseeslib/scalapack/blacs_MPI-mac-0.a \
$(BASE)/openseeslib/scalapack/blacsCinit_MPI-mac-0.a \
$(BASE)/openseeslib/scalapack/blacsF77init_MPI-mac-0.a \
$(BASE)/openseeslib/scalapack/blas_mac.a \
$(BASE)/openseeslib/scalapack/lapack_mac.a \
$(BASE)/openseeslib/scalapack/libscalapack.a
MACHINE_LINKLIBS = -L$(BASE)/lib -L$(HOME)/lib
MACHINE_NUMERICAL_LIBS = $(LAPACK_LIBRARY) $(BLAS_LIBRARY) \
$(CBLAS_LIBRARY) $(SUPERLU_LIBRARY) $(ARPACK_LIBRARY) \
$(UMFPACK_LIBRARY) $(RELIABILITY_LIBRARY) \
-ldl -L$(BASE)/openseeslib/gcc/4.4.3/lib -lgfortran
MACHINE_SPECIFIC_LIBS = -lssl
PARALLEL_LIB = $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o \
$(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \
$(DISTRIBUTED_SUPERLU_LIBRARY) $(SCALAP_LIB) $(METIS_LIBRARY) \
-L$(BASE))/openseeslib/openmpi/1.4.1/lib -lmpi_cxx -lmpi_f77 -lmpi -lopen-rte -lopen-pal
# ----------------------------------------------------------------- #
# SECTION 7: INCLUDE FILES #
# ----------------------------------------------------------------- #
# The following macros specify include files needed for compilation #
# ----------------------------------------------------------------- #
MACHINE_INCLUDES = -I/usr/include -I$(BASE)/include \
-I$(HOME)/OpenSees/OTHER/SuperLU_DIST_2.0/SRC
include $(FE)/Makefile.incl
TCL_INCLUDES = -I$(BASE)/openseeslib/tcl/8.5.8/include
INCLUDES = $(FE_INCLUDES) $(TCL_INCLUDES) $(MACHINE_INCLUDES)
-
- Posts: 71
- Joined: Fri Nov 06, 2009 6:40 am
- Location: Universidad del Norte, Colombia
Ok... I followed your suggestion and in some way I bypassed those errors successfully. But now I have another problem: the compiler cannot find the header: myDebug.h. I did a search in /usr and $HOME/opensees, but get nothing. Could you please tell me where can I get that file?
---------------------
ContactMaterial3D.cpp:21:21: error: myDebug.h: No such file or directory
---------------------
Thank you!
NOTE: The makefile shown above was updated with the one that seems to work now.
---------------------
ContactMaterial3D.cpp:21:21: error: myDebug.h: No such file or directory
---------------------
Thank you!
NOTE: The makefile shown above was updated with the one that seems to work now.
-
- Posts: 71
- Joined: Fri Nov 06, 2009 6:40 am
- Location: Universidad del Norte, Colombia