SP vs MP?, Trouble compiling SP
Moderator: selimgunay
SP vs MP?, Trouble compiling SP
Hi,
First a question. What is the difference the build PARALLEL and PARALLEL_INTERPRETERS ?
Second, I am working on building PARALLEL for a dual core 64 bit intel ubuntu linux PC. I installed
mpi-default-dev (0.6, currently openmpi)
petsc-dev (3.0.0)
libmumps-4.9.2 (linear solver, includes scalapack)
libblacs-mpil 1.1-28.2buildl
libblacs-mpi-dev 1.1-28.2buildl
libhpmud0 3.10.2-2ubuntu2.2
For MPI_Channel and mumps I had to descend into the directory below SRC and run make myself. But then I got the
following error when trying to build /OpenSees/SRC/system_of_eqn/linearSOE/mumps
MumpsSolver.cpp: In constructor ‘MumpsSolver::MumpsSolver(int, int)’:
MumpsSolver.cpp:51: error: invalid conversion from ‘ompi_communicator_t*’ to ‘int’
make: *** [MumpsSolver.o] Error 1
Any suggestions?
thanks,
alisa
(Makefile below)
############################################################################
#
# Program: OpenSees
#
# Purpose: A Top-level Makefile to create the libraries needed
# to use the OpenSees framework.
#
# version for parallelized PC (linux ubuntu 10.04)
# installed packages:
# mpi-default-dev (0.6, currently openmpi)
# petsc-dev (3.0.0)
# libmumps-4.9.2 (linear solver, includes scalapack)
# libblacs-mpil 1.1-28.2buildl
# libblacs-mpi-dev 1.1-28.2buildl
# libhpmud0 3.10.2-2ubuntu2.2 (HP Multi-Point Transport Driver (hpmud) run-time libraries)
# Written: fmk
# Created: 01/2003
# NOTES: you have to go into SRC/actor/channel and call make by hand on some
# classes.
# You have to do things by hand in SRC/system_of_eqn/liearSOE/mumps
#
#
############################################################################
# %---------------------------------%
# | SECTION 1: PROGRAM |
# %---------------------------------%
#
# Specify the location and name of the OpenSees interpreter program
# that will be created (if this all works!)
#PROGRAMMING_MODE = PARALLEL, SEQUENTIAL, PARALLEL_INTERPRETERS
PROGRAMMING_MODE = PARALLEL
OpenSees_PROGRAM = $(HOME)/bin/OpenSees
ifeq ($(PROGRAMMING_MODE), PARALLEL)
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesSP
endif
ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS)
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesMP
endif
# %---------------------------------%
# | SECTION 2: MAKEFILE CONSTANTS |
# %---------------------------------%
#
# Specify the constants the are used as control structure variables in the Makefiles.
OPERATING_SYSTEM = LINUX
#DEBUG_MODE = DEBUG, NO_DEBUG
DEBUG_MODE = NO_DEBUG
RELIABILITY = NO_RELIABILITY
GRAPHICS = NONE
# %---------------------------------%
# | SECTION 3: 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 =
# PUT YOUR HOME DIRECTOREY HERE
HOME = /home/alisanee
FE = $(HOME)/OpenSees/SRC
BLASdir = $(HOME)/OpenSees/OTHER/BLAS
CBLASdir = $(HOME)/OpenSees/OTHER/CBLAS
LAPACKdir = $(HOME)/OpenSees/OTHER/LAPACK
ARPACKdir = $(HOME)/OpenSees/OTHER/ARPACK
UMFPACKdir = $(HOME)/OpenSees/OTHER/UMFPACK
METISdir = $(HOME)/OpenSees/OTHER/METIS
SRCdir = $(HOME)/OpenSees/SRC
SUPERLUdir = $(HOME)/OpenSees/OTHER/SuperLU_3.0/SRC
SUPERLU_DISTdir = $(HOME)/OpenSees/OTHER/SuperLU_DIST_2.0/SRC
DIRS = $(BLASdir) \
$(CBLASdir) \
$(SUPERLUdir) \
$(SUPERLU_DISTdir) \
$(LAPACKdir) \
$(ARPACKdir) \
$(UMFPACKdir) \
$(METISdir) \
$(SRCdir)
DISTRIBUTED_SUPERLU_LIBRARY = $(HOME)/lib/libDistributedSuperLU.a
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
DIRS = $(BLASdir) \
$(CBLASdir) \
$(SUPERLUdir) \
$(LAPACKdir) \
$(ARPACKdir) \
$(UMFPACKdir) \
$(METISdir) \
$(SRCdir)
DISTRIBUTED_SUPERLU_LIBRARY =
endif
# %-------------------------------------------------------%
# | SECTION 4: 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: if vendor supplied BLAS and LAPACK libraries leave the
# libraries blank. You have to get your own copy of the tcl/tk
# library!!
#
# Note: 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 jeremic@ucdavis.edu
MATMOD_LIBRARY = $(HOME)/lib/libmatmod.a # BJ_UCD jeremic@ucdavis.edu
BJMISC_LIBRARY = $(HOME)/lib/libBJmisc.a # BJ_UCD jeremic@ucdavis.edu
LAPACK_LIBRARY = $(HOME)/lib/libLapack.a
BLAS_LIBRARY = $(HOME)/lib/libBlas.a
SUPERLU_LIBRARY = $(HOME)/lib/libSuperLU.a
CBLAS_LIBRARY = $(HOME)/lib/libCBlas.a
ARPACK_LIBRARY = $(HOME)/lib/libArpack.a
UMFPACK_LIBRARY = $(HOME)/lib/libUmfpack.a
METIS_LIBRARY = $(HOME)/lib/libMetis.a
TCL_LIBRARY = /usr/lib/libtcl8.4.a
GRAPHIC_LIBRARY =
#RELIABILITY_LIBRARY = $(HOME)/lib/libReliability.a
RELIABILITY_LIBRARY =
# WATCH OUT .. These libraries are removed when 'make wipe' is invoked.
WIPE_LIBS = $(FE_LIBRARY) \
$(NDARRAY_LIBRARY) \
$(MATMOD_LIBRARY) \
$(SUPERLU_LIBRARY) \
$(ARPACK_LIBRARY) \
$(UMFPACK_LIBRARY) \
$(METIS_LIBRARY) \
$(LAPACK_LIBRARY) \
$(BLAS_LIBRARY) \
$(CBLAS_LIBRARY) \
$(RELIABILITY_LIBRARY)
# %---------------------------------------------------------%
# | SECTION 5: COMPILERS |
# | |
# | The following macros specify compilers, linker/loaders, |
# | the archiver, and their options. You need to make sure |
# | these are correct for your system. |
# %---------------------------------------------------------%
# ###################################################
# # Compilers
# ###################################################
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
CC++ = icpc
CC = icc
FC = ifort
F90 = ifort
LINKER = $(CC++)
else
CC++ = mpiCC
CC = mpicc
FC = mpif90
F90 = mpif90
FORTRAN = $(FC)
LINKER = $(CC++)
endif
AR = ar
ARCH = ar
ARFLAGS = -q
#ARCHFLAGS = cqls
ARCHFLAGS = -v -q
RANLIB = ranlib
RANLIBFLAGS =
GRAPHIC_FLAG = -D_NOGRAPHICS
PROGRAMMING_FLAG =
ifeq ($(PROGRAMMING_MODE), PARALLEL)
PROGRAMMING_FLAG = -D_PARALLEL_PROCESSING
endif
ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS)
PROGRAMMING_FLAG = -D_PARALLEL_INTERPRETERS
endif
#RELIABILITY_FLAG = -D_RELIABILITY
RELIABILITY_FLAG =
#DEBUG_FLAG = -D_G3DEBUG
DEBUG_FLAG =
MUMPS_FLAG =
PETSC_FLAG =
OPT_FLAG = -O2
COMP_FLAG =
C++FLAGS = -D_LINUX -D_UNIX $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(OPT_FLAG) $(COMP_FLAG)\
$(PROGRAMMING_FLAG) $(PETSC_FLAG) $(MUMPS_FLAG) \
-D_TCL84 -D_BLAS -D_NETINET_PROBLEMS_INTEL
CFLAGS = $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG)$(PROGRAMMING_FLAG) $(OPT_FLAG) $(COMP_FLAG) -D_TCL84 -D_BLAS
FFLAGS = -qextname $(OPT_FLAG) $(COMP_FLAG)
LINKFLAGS =
# Misc
MAKE = make
CD = cd
ECHO = echo
RM = rm
RMFLAGS = -f
SHELL = /bin/sh
# %---------------------------------------------------------%
# | SECTION 6: 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 command. |
# %------------------%
#
.DEFAULT:
@$(ECHO) "Unknown target $@, try: make help"
#
# %-----------------------------------------------%
# | Command to build .o files from source files. |
# %-----------------------------------------------%
#
.cpp.o:
@$(ECHO) Making $@ from $< $@ with $(CC++) $(C++FLAGS) $(INCLUDES) -c $<
@$(CC++) $(C++FLAGS) $(INCLUDES) -c $<
.C.o:
@$(ECHO) Making $@ from $<
$(CC++) $(C++FLAGS) $(INCLUDES) -c $<
.c.o:
@$(ECHO) Making $@ from $<
$(CC) $(CFLAGS) -c $<
.f.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $<
.f77.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $<
.f90.o:
@$(ECHO) Making $@ from $<
$(FC90) $(FFLAGS) -c $<
# %---------------------------------------------------------%
# | SECTION 7: 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!! |
# %---------------------------------------------------------%
MACHINE_LINKLIBS = -L$(BASE)/lib \
-L$(HOME)/lib
# PETSC
HAVEPETSC = YES
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
HAVEPETSC = NO
endif
ifeq ($(HAVEPETSC), YES)
PETSC = YES
PETSC_FLAG = -D_PETSC
PETSC_DIR = /usr
PETSC_ARCH = linux-gnu
BOPT = O
PETSC_INC = -I$(PETSC_DIR)/include/petsc -I$(PETSC_DIR)/include/petsc/finclude -D_PETSC
PETSC_LIB = -L$(PETSC_DIR)/lib \
$(FE)/system_of_eqn/linearSOE/petsc/PetscSOE.o \
$(FE)/system_of_eqn/linearSOE/petsc/PetscSolver.o \
$(FE)/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o \
-lpetscsnes -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc \
-L/usr/X11/lib -lX11 -lGL
endif
HAVEMUMPS = YES
MUMPS_INCLUDE =
MUMPS_LIB =
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
HAVEMUMPS = NO
endif
ifeq ($(HAVEMUMPS), YES)
MUMPS = YES
MUMPS_FLAG = -D_MUMPS
#MUMPS_DIR = /gpfs/fmk/MUMPS_4.6.4
MUMPS_DIR = /usr
BLACSdir = /usr
#BLACSDBGLVL = 0
BLACSFINIT = $(BLACSdir)/lib/libblacsF77init-openmpi.a
BLACSCINIT = $(BLACSdir)/lib/libblacsCinit-openmpi.a
BLACSLIB = $(BLACSdir)/lib/libblacs-openmpi.a
CBLACSLIB = $(BLACSLIB) $(BLACSCINIT)
FBLACSLIB = $(BLACSLIB) $(BLACSFINIT)
BLACSlib = $(CBLACSLIB)
SCALAPdir = /usr
SCALAPlib = $(SCALAPdir)/lib/libscalapack-openmpi.a
SCALAP = $(BLACSlib) $(SCALAPlib) $(BLACSlib)
MUMPS_LIB = -L$(MUMPS_DIR)/lib \
-ldmumps$(PLAT) \
-lpord$(PLAT) \
$(SCALAP) \
$(FE)/system_of_eqn/linearSOE/mumps/MumpsSOE.o \
$(FE)/system_of_eqn/linearSOE/mumps/MumpsSolver.o \
$(FE)/system_of_eqn/linearSOE/mumps/MumpsParallelSOE.o \
$(FE)/system_of_eqn/linearSOE/mumps/MumpsParallelSolver.o
MUMPS_INCLUDE = -I$(MUMPS_DIR)/include
endif
PARALLEL_LIB = $(FE)/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o \
$(FE)/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o \
$(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \
$(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
PARALLEL_LIB =
endif
HPM_LIB = -L/usr -l/usr/libhpmud.so \
-lhpmud -lhpm_r -lpmapi -lm
MACHINE_NUMERICAL_LIBS = -lm \
$(ARPACK_LIBRARY) \
$(SUPERLU_LIBRARY) \
$(UMFPACK_LIBRARY) \
$(GRAPHIC_LIBRARY)\
$(RELIABILITY_LIBRARY) \
$(DISTRIBUTED_SUPERLU_LIBRARY) \
$(METIS_LIBRARY) $(PARALLEL_LIB) $(PETSC_LIB) $(MUMPS_LIB)
MACHINE_SPECIFIC_LIBS = -L${MKL_HOME}/lib/64 -lmkl_lapack -lmkl_ipf -lguide -lpthread \
#/usr/local/apps/intel/compiler8/lib/libifcoremt.a
# %---------------------------------------------------------%
# | SECTION 8: INCLUDE FILES |
# | |
# | The following macros specify include files needed for |
# | compilation. |
# %---------------------------------------------------------%
MACHINE_INCLUDES = -I/usr/local/BerkeleyDB.4.0/include \
-I/usr/include/mysql \
-I$(HOME)/include \
-I$(UMFPACKdir) \
-I$(SUPERLUdir) \
-I$(SUPERLU_DISTdir) \
$(PETSC_INC) $(MUMPS_INCLUDE)
# this file contains all the OpenSees/SRC includes
include $(FE)/Makefile.incl
#TCL_INCLUDES = -I/home/fmk/tcl8.3.3/generic
TCL_INCLUDES = -I/usr/include/tcl8.4 -I/usr/include/
INCLUDES = $(MACHINE_INCLUDES) $(TCL_INCLUDES) $(FE_INCLUDES)
First a question. What is the difference the build PARALLEL and PARALLEL_INTERPRETERS ?
Second, I am working on building PARALLEL for a dual core 64 bit intel ubuntu linux PC. I installed
mpi-default-dev (0.6, currently openmpi)
petsc-dev (3.0.0)
libmumps-4.9.2 (linear solver, includes scalapack)
libblacs-mpil 1.1-28.2buildl
libblacs-mpi-dev 1.1-28.2buildl
libhpmud0 3.10.2-2ubuntu2.2
For MPI_Channel and mumps I had to descend into the directory below SRC and run make myself. But then I got the
following error when trying to build /OpenSees/SRC/system_of_eqn/linearSOE/mumps
MumpsSolver.cpp: In constructor ‘MumpsSolver::MumpsSolver(int, int)’:
MumpsSolver.cpp:51: error: invalid conversion from ‘ompi_communicator_t*’ to ‘int’
make: *** [MumpsSolver.o] Error 1
Any suggestions?
thanks,
alisa
(Makefile below)
############################################################################
#
# Program: OpenSees
#
# Purpose: A Top-level Makefile to create the libraries needed
# to use the OpenSees framework.
#
# version for parallelized PC (linux ubuntu 10.04)
# installed packages:
# mpi-default-dev (0.6, currently openmpi)
# petsc-dev (3.0.0)
# libmumps-4.9.2 (linear solver, includes scalapack)
# libblacs-mpil 1.1-28.2buildl
# libblacs-mpi-dev 1.1-28.2buildl
# libhpmud0 3.10.2-2ubuntu2.2 (HP Multi-Point Transport Driver (hpmud) run-time libraries)
# Written: fmk
# Created: 01/2003
# NOTES: you have to go into SRC/actor/channel and call make by hand on some
# classes.
# You have to do things by hand in SRC/system_of_eqn/liearSOE/mumps
#
#
############################################################################
# %---------------------------------%
# | SECTION 1: PROGRAM |
# %---------------------------------%
#
# Specify the location and name of the OpenSees interpreter program
# that will be created (if this all works!)
#PROGRAMMING_MODE = PARALLEL, SEQUENTIAL, PARALLEL_INTERPRETERS
PROGRAMMING_MODE = PARALLEL
OpenSees_PROGRAM = $(HOME)/bin/OpenSees
ifeq ($(PROGRAMMING_MODE), PARALLEL)
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesSP
endif
ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS)
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesMP
endif
# %---------------------------------%
# | SECTION 2: MAKEFILE CONSTANTS |
# %---------------------------------%
#
# Specify the constants the are used as control structure variables in the Makefiles.
OPERATING_SYSTEM = LINUX
#DEBUG_MODE = DEBUG, NO_DEBUG
DEBUG_MODE = NO_DEBUG
RELIABILITY = NO_RELIABILITY
GRAPHICS = NONE
# %---------------------------------%
# | SECTION 3: 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 =
# PUT YOUR HOME DIRECTOREY HERE
HOME = /home/alisanee
FE = $(HOME)/OpenSees/SRC
BLASdir = $(HOME)/OpenSees/OTHER/BLAS
CBLASdir = $(HOME)/OpenSees/OTHER/CBLAS
LAPACKdir = $(HOME)/OpenSees/OTHER/LAPACK
ARPACKdir = $(HOME)/OpenSees/OTHER/ARPACK
UMFPACKdir = $(HOME)/OpenSees/OTHER/UMFPACK
METISdir = $(HOME)/OpenSees/OTHER/METIS
SRCdir = $(HOME)/OpenSees/SRC
SUPERLUdir = $(HOME)/OpenSees/OTHER/SuperLU_3.0/SRC
SUPERLU_DISTdir = $(HOME)/OpenSees/OTHER/SuperLU_DIST_2.0/SRC
DIRS = $(BLASdir) \
$(CBLASdir) \
$(SUPERLUdir) \
$(SUPERLU_DISTdir) \
$(LAPACKdir) \
$(ARPACKdir) \
$(UMFPACKdir) \
$(METISdir) \
$(SRCdir)
DISTRIBUTED_SUPERLU_LIBRARY = $(HOME)/lib/libDistributedSuperLU.a
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
DIRS = $(BLASdir) \
$(CBLASdir) \
$(SUPERLUdir) \
$(LAPACKdir) \
$(ARPACKdir) \
$(UMFPACKdir) \
$(METISdir) \
$(SRCdir)
DISTRIBUTED_SUPERLU_LIBRARY =
endif
# %-------------------------------------------------------%
# | SECTION 4: 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: if vendor supplied BLAS and LAPACK libraries leave the
# libraries blank. You have to get your own copy of the tcl/tk
# library!!
#
# Note: 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 jeremic@ucdavis.edu
MATMOD_LIBRARY = $(HOME)/lib/libmatmod.a # BJ_UCD jeremic@ucdavis.edu
BJMISC_LIBRARY = $(HOME)/lib/libBJmisc.a # BJ_UCD jeremic@ucdavis.edu
LAPACK_LIBRARY = $(HOME)/lib/libLapack.a
BLAS_LIBRARY = $(HOME)/lib/libBlas.a
SUPERLU_LIBRARY = $(HOME)/lib/libSuperLU.a
CBLAS_LIBRARY = $(HOME)/lib/libCBlas.a
ARPACK_LIBRARY = $(HOME)/lib/libArpack.a
UMFPACK_LIBRARY = $(HOME)/lib/libUmfpack.a
METIS_LIBRARY = $(HOME)/lib/libMetis.a
TCL_LIBRARY = /usr/lib/libtcl8.4.a
GRAPHIC_LIBRARY =
#RELIABILITY_LIBRARY = $(HOME)/lib/libReliability.a
RELIABILITY_LIBRARY =
# WATCH OUT .. These libraries are removed when 'make wipe' is invoked.
WIPE_LIBS = $(FE_LIBRARY) \
$(NDARRAY_LIBRARY) \
$(MATMOD_LIBRARY) \
$(SUPERLU_LIBRARY) \
$(ARPACK_LIBRARY) \
$(UMFPACK_LIBRARY) \
$(METIS_LIBRARY) \
$(LAPACK_LIBRARY) \
$(BLAS_LIBRARY) \
$(CBLAS_LIBRARY) \
$(RELIABILITY_LIBRARY)
# %---------------------------------------------------------%
# | SECTION 5: COMPILERS |
# | |
# | The following macros specify compilers, linker/loaders, |
# | the archiver, and their options. You need to make sure |
# | these are correct for your system. |
# %---------------------------------------------------------%
# ###################################################
# # Compilers
# ###################################################
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
CC++ = icpc
CC = icc
FC = ifort
F90 = ifort
LINKER = $(CC++)
else
CC++ = mpiCC
CC = mpicc
FC = mpif90
F90 = mpif90
FORTRAN = $(FC)
LINKER = $(CC++)
endif
AR = ar
ARCH = ar
ARFLAGS = -q
#ARCHFLAGS = cqls
ARCHFLAGS = -v -q
RANLIB = ranlib
RANLIBFLAGS =
GRAPHIC_FLAG = -D_NOGRAPHICS
PROGRAMMING_FLAG =
ifeq ($(PROGRAMMING_MODE), PARALLEL)
PROGRAMMING_FLAG = -D_PARALLEL_PROCESSING
endif
ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS)
PROGRAMMING_FLAG = -D_PARALLEL_INTERPRETERS
endif
#RELIABILITY_FLAG = -D_RELIABILITY
RELIABILITY_FLAG =
#DEBUG_FLAG = -D_G3DEBUG
DEBUG_FLAG =
MUMPS_FLAG =
PETSC_FLAG =
OPT_FLAG = -O2
COMP_FLAG =
C++FLAGS = -D_LINUX -D_UNIX $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(OPT_FLAG) $(COMP_FLAG)\
$(PROGRAMMING_FLAG) $(PETSC_FLAG) $(MUMPS_FLAG) \
-D_TCL84 -D_BLAS -D_NETINET_PROBLEMS_INTEL
CFLAGS = $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG)$(PROGRAMMING_FLAG) $(OPT_FLAG) $(COMP_FLAG) -D_TCL84 -D_BLAS
FFLAGS = -qextname $(OPT_FLAG) $(COMP_FLAG)
LINKFLAGS =
# Misc
MAKE = make
CD = cd
ECHO = echo
RM = rm
RMFLAGS = -f
SHELL = /bin/sh
# %---------------------------------------------------------%
# | SECTION 6: 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 command. |
# %------------------%
#
.DEFAULT:
@$(ECHO) "Unknown target $@, try: make help"
#
# %-----------------------------------------------%
# | Command to build .o files from source files. |
# %-----------------------------------------------%
#
.cpp.o:
@$(ECHO) Making $@ from $< $@ with $(CC++) $(C++FLAGS) $(INCLUDES) -c $<
@$(CC++) $(C++FLAGS) $(INCLUDES) -c $<
.C.o:
@$(ECHO) Making $@ from $<
$(CC++) $(C++FLAGS) $(INCLUDES) -c $<
.c.o:
@$(ECHO) Making $@ from $<
$(CC) $(CFLAGS) -c $<
.f.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $<
.f77.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $<
.f90.o:
@$(ECHO) Making $@ from $<
$(FC90) $(FFLAGS) -c $<
# %---------------------------------------------------------%
# | SECTION 7: 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!! |
# %---------------------------------------------------------%
MACHINE_LINKLIBS = -L$(BASE)/lib \
-L$(HOME)/lib
# PETSC
HAVEPETSC = YES
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
HAVEPETSC = NO
endif
ifeq ($(HAVEPETSC), YES)
PETSC = YES
PETSC_FLAG = -D_PETSC
PETSC_DIR = /usr
PETSC_ARCH = linux-gnu
BOPT = O
PETSC_INC = -I$(PETSC_DIR)/include/petsc -I$(PETSC_DIR)/include/petsc/finclude -D_PETSC
PETSC_LIB = -L$(PETSC_DIR)/lib \
$(FE)/system_of_eqn/linearSOE/petsc/PetscSOE.o \
$(FE)/system_of_eqn/linearSOE/petsc/PetscSolver.o \
$(FE)/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o \
-lpetscsnes -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc \
-L/usr/X11/lib -lX11 -lGL
endif
HAVEMUMPS = YES
MUMPS_INCLUDE =
MUMPS_LIB =
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
HAVEMUMPS = NO
endif
ifeq ($(HAVEMUMPS), YES)
MUMPS = YES
MUMPS_FLAG = -D_MUMPS
#MUMPS_DIR = /gpfs/fmk/MUMPS_4.6.4
MUMPS_DIR = /usr
BLACSdir = /usr
#BLACSDBGLVL = 0
BLACSFINIT = $(BLACSdir)/lib/libblacsF77init-openmpi.a
BLACSCINIT = $(BLACSdir)/lib/libblacsCinit-openmpi.a
BLACSLIB = $(BLACSdir)/lib/libblacs-openmpi.a
CBLACSLIB = $(BLACSLIB) $(BLACSCINIT)
FBLACSLIB = $(BLACSLIB) $(BLACSFINIT)
BLACSlib = $(CBLACSLIB)
SCALAPdir = /usr
SCALAPlib = $(SCALAPdir)/lib/libscalapack-openmpi.a
SCALAP = $(BLACSlib) $(SCALAPlib) $(BLACSlib)
MUMPS_LIB = -L$(MUMPS_DIR)/lib \
-ldmumps$(PLAT) \
-lpord$(PLAT) \
$(SCALAP) \
$(FE)/system_of_eqn/linearSOE/mumps/MumpsSOE.o \
$(FE)/system_of_eqn/linearSOE/mumps/MumpsSolver.o \
$(FE)/system_of_eqn/linearSOE/mumps/MumpsParallelSOE.o \
$(FE)/system_of_eqn/linearSOE/mumps/MumpsParallelSolver.o
MUMPS_INCLUDE = -I$(MUMPS_DIR)/include
endif
PARALLEL_LIB = $(FE)/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o \
$(FE)/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o \
$(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \
$(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
PARALLEL_LIB =
endif
HPM_LIB = -L/usr -l/usr/libhpmud.so \
-lhpmud -lhpm_r -lpmapi -lm
MACHINE_NUMERICAL_LIBS = -lm \
$(ARPACK_LIBRARY) \
$(SUPERLU_LIBRARY) \
$(UMFPACK_LIBRARY) \
$(GRAPHIC_LIBRARY)\
$(RELIABILITY_LIBRARY) \
$(DISTRIBUTED_SUPERLU_LIBRARY) \
$(METIS_LIBRARY) $(PARALLEL_LIB) $(PETSC_LIB) $(MUMPS_LIB)
MACHINE_SPECIFIC_LIBS = -L${MKL_HOME}/lib/64 -lmkl_lapack -lmkl_ipf -lguide -lpthread \
#/usr/local/apps/intel/compiler8/lib/libifcoremt.a
# %---------------------------------------------------------%
# | SECTION 8: INCLUDE FILES |
# | |
# | The following macros specify include files needed for |
# | compilation. |
# %---------------------------------------------------------%
MACHINE_INCLUDES = -I/usr/local/BerkeleyDB.4.0/include \
-I/usr/include/mysql \
-I$(HOME)/include \
-I$(UMFPACKdir) \
-I$(SUPERLUdir) \
-I$(SUPERLU_DISTdir) \
$(PETSC_INC) $(MUMPS_INCLUDE)
# this file contains all the OpenSees/SRC includes
include $(FE)/Makefile.incl
#TCL_INCLUDES = -I/home/fmk/tcl8.3.3/generic
TCL_INCLUDES = -I/usr/include/tcl8.4 -I/usr/include/
INCLUDES = $(MACHINE_INCLUDES) $(TCL_INCLUDES) $(FE_INCLUDES)
mumps solution
Hmm so, I looked at the code and the problem line was
#ifdef _OPENMPI
id.comm_fortran=-987654;
#else
id.comm_fortran=MPI_COMM_WORLD;
#endif
It looks the flag in Makefile.def you need
MUMPS_FLAG = -D_MUMPS -D_OPENMPI
for my case.
Be careful, some of the Makefile.defs define
MUMPS_FLAG twice.
#ifdef _OPENMPI
id.comm_fortran=-987654;
#else
id.comm_fortran=MPI_COMM_WORLD;
#endif
It looks the flag in Makefile.def you need
MUMPS_FLAG = -D_MUMPS -D_OPENMPI
for my case.
Be careful, some of the Makefile.defs define
MUMPS_FLAG twice.
next sticking point: no parameter-free constructor for Petsc
Compile error:
FEM_ObjectBrokerAllClasses.cpp: In member function ‘virtual LinearSOE* FEM_ObjectBrokerAllClasses::getNewLinearSOE(int)’:
FEM_ObjectBrokerAllClasses.cpp error: no matching function for call to ‘PetscSOE::PetscSOE()’
/home/alisanee/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.h:52: note: candidates are: PetscSOE::PetscSOE(PetscSolver&, int)
/home/alisanee/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.h:50: note: PetscSOE::PetscSOE(const PetscSOE&)
make[3]: *** [FEM_ObjectBrokerAllClasses.o] Error 1
Line of code causing difficulty:
#ifdef _PETSC
case LinSOE_TAGS_PetscSOE:
theSOE - new PetscSOE();
return theSOE;
There is no parameter-free constructor for PetscSOE.
FEM_ObjectBrokerAllClasses.cpp: In member function ‘virtual LinearSOE* FEM_ObjectBrokerAllClasses::getNewLinearSOE(int)’:
FEM_ObjectBrokerAllClasses.cpp error: no matching function for call to ‘PetscSOE::PetscSOE()’
/home/alisanee/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.h:52: note: candidates are: PetscSOE::PetscSOE(PetscSolver&, int)
/home/alisanee/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.h:50: note: PetscSOE::PetscSOE(const PetscSOE&)
make[3]: *** [FEM_ObjectBrokerAllClasses.o] Error 1
Line of code causing difficulty:
#ifdef _PETSC
case LinSOE_TAGS_PetscSOE:
theSOE - new PetscSOE();
return theSOE;
There is no parameter-free constructor for PetscSOE.
Building OpenSeesSP in Ubuntu 10.10
Hi Aneeman,
Thanks a lot for posting your makefile.def. I am trying to build OpenSeesSP on Ubuntu 10.10 64bit. So If you were successful in the build process please share the final (working) file (hsafti(at)gmail(dot)com).
It would also be nice of you to post the libraries installations needed for building.
Best Regards
Thanks a lot for posting your makefile.def. I am trying to build OpenSeesSP on Ubuntu 10.10 64bit. So If you were successful in the build process please share the final (working) file (hsafti(at)gmail(dot)com).
It would also be nice of you to post the libraries installations needed for building.
Best Regards
Hisham El Safti
Re: SP vs MP?, Trouble compiling SP
I manually repaired the bug
Compile error:
FEM_ObjectBrokerAllClasses.cpp: In member function ‘virtual LinearSOE* FEM_ObjectBrokerAllClasses::getNewLinearSOE(int)’:
FEM_ObjectBrokerAllClasses.cpp error: no matching function for call to ‘PetscSOE::PetscSOE()’
/home/alisanee/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.h:52: note: candidates are: PetscSOE::PetscSOE(PetscSolver&, int)
/home/alisanee/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.h:50: note: PetscSOE::PetscSOE(const PetscSOE&)
make[3]: *** [FEM_ObjectBrokerAllClasses.o] Error 1
by adding a default (no parameter constructor) to PetscSOE
PetscSOE::PetscSOE()
:LinearSOE(LinSOE_TAGS_PetscSOE),
isFactored(0),size(0), processID(0), numProcesses(0), B(0), X(0),
indices(0), vectX(0), vectB(0), A(0), x(0), b(0), blockSize(1),
numChannels(0), theChannels(0), localCol(0)
{
;
}
However, there is another compile bug, multiple errors because the mpiCC compiler does not like to accept C++ forward declarations
I get a whole bunch of errors like;
DistributedSuperLU.cpp:(.text+0xa40): multiple definition of `DistributedSuperLU::DistributedSuperLU(int, int)'
/home/alisanee/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xa40): first defined here
alisanee@cole:~$ mpiCC --version
g++-4.4.real (Ubuntu 4.4.3-4ubuntu5) 4.4.3
So far I have not been able to complete the compile on Ubuntu 64 bit.
Compile error:
FEM_ObjectBrokerAllClasses.cpp: In member function ‘virtual LinearSOE* FEM_ObjectBrokerAllClasses::getNewLinearSOE(int)’:
FEM_ObjectBrokerAllClasses.cpp error: no matching function for call to ‘PetscSOE::PetscSOE()’
/home/alisanee/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.h:52: note: candidates are: PetscSOE::PetscSOE(PetscSolver&, int)
/home/alisanee/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.h:50: note: PetscSOE::PetscSOE(const PetscSOE&)
make[3]: *** [FEM_ObjectBrokerAllClasses.o] Error 1
by adding a default (no parameter constructor) to PetscSOE
PetscSOE::PetscSOE()
:LinearSOE(LinSOE_TAGS_PetscSOE),
isFactored(0),size(0), processID(0), numProcesses(0), B(0), X(0),
indices(0), vectX(0), vectB(0), A(0), x(0), b(0), blockSize(1),
numChannels(0), theChannels(0), localCol(0)
{
;
}
However, there is another compile bug, multiple errors because the mpiCC compiler does not like to accept C++ forward declarations
I get a whole bunch of errors like;
DistributedSuperLU.cpp:(.text+0xa40): multiple definition of `DistributedSuperLU::DistributedSuperLU(int, int)'
/home/alisanee/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xa40): first defined here
alisanee@cole:~$ mpiCC --version
g++-4.4.real (Ubuntu 4.4.3-4ubuntu5) 4.4.3
So far I have not been able to complete the compile on Ubuntu 64 bit.
Re: SP vs MP?, Trouble compiling SP
Hi Alisa
Thanks a lot for your support. I would like to add that a further library installation (libmumps-dev) is needed (for future readers).
I have tried your file and got the same results (just to check). Then I changed the compilers:
CC++ = /usr/bin/g++
CC = /usr/bin/gcc
FC = /usr/bin/g77
FORTRAN = /usr/bin/g77
F90 = ifort
LINKER = /usr/local/mpi/bin/mpicxx
and included mpi:
MPICC = mpicc
MPIINC = -I/usr/include/openmpi
MPILIB = -L/usr/include/openmpi -lmpich
MACHINE_SPECIFIC_LIBS = -L${MKL_HOME}/lib/64 -lmkl_lapack -lmkl_ipf -lguide -lpthread $(MPILIB)\
MACHINE_INCLUDES = $(MPIINC) -I/usr/local/BerkeleyDB.4.0/include \
-I/usr/include/mysql \
-I$(HOME)/include \
-I$(UMFPACKdir) \
-I$(SUPERLUdir) \
-I$(SUPERLU_DISTdir) \
$(PETSC_INC) $(MUMPS_INCLUDE)
Upon make, I recieved a message that mpicxx is not found (I guess I need to install Intel compiler or something). Instead I changed the linker:
LINKER = $(CC++)
upon make, I got this error:
make[2]: Leaving directory `/home/hisham/OpenSees/SRC/tcl'
g++: /home/hisham/lib/libOpenSees.a: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: No such file or directory
g++: /home/hisham/lib/libArpack.a: No such file or directory
g++: /home/hisham/lib/libUmfpack.a: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSolver.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/mumps/MumpsSOE.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/mumps/MumpsSolver.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/mumps/MumpsParallelSOE.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/mumps/MumpsParallelSolver.o: No such file or directory
make[1]: *** [tk] Error 1
make[1]: Leaving directory `/home/hisham/OpenSees/SRC/modelbuilder/tcl'
make: *** [all] Error 2
I also had: make[3]: /usr/bin/g77: Command not found
I appreciate your help and comments .... I am a newbie to the lot so please bare with me
Best regards,
Hisham
Thanks a lot for your support. I would like to add that a further library installation (libmumps-dev) is needed (for future readers).
I have tried your file and got the same results (just to check). Then I changed the compilers:
CC++ = /usr/bin/g++
CC = /usr/bin/gcc
FC = /usr/bin/g77
FORTRAN = /usr/bin/g77
F90 = ifort
LINKER = /usr/local/mpi/bin/mpicxx
and included mpi:
MPICC = mpicc
MPIINC = -I/usr/include/openmpi
MPILIB = -L/usr/include/openmpi -lmpich
MACHINE_SPECIFIC_LIBS = -L${MKL_HOME}/lib/64 -lmkl_lapack -lmkl_ipf -lguide -lpthread $(MPILIB)\
MACHINE_INCLUDES = $(MPIINC) -I/usr/local/BerkeleyDB.4.0/include \
-I/usr/include/mysql \
-I$(HOME)/include \
-I$(UMFPACKdir) \
-I$(SUPERLUdir) \
-I$(SUPERLU_DISTdir) \
$(PETSC_INC) $(MUMPS_INCLUDE)
Upon make, I recieved a message that mpicxx is not found (I guess I need to install Intel compiler or something). Instead I changed the linker:
LINKER = $(CC++)
upon make, I got this error:
make[2]: Leaving directory `/home/hisham/OpenSees/SRC/tcl'
g++: /home/hisham/lib/libOpenSees.a: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: No such file or directory
g++: /home/hisham/lib/libArpack.a: No such file or directory
g++: /home/hisham/lib/libUmfpack.a: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSolver.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/mumps/MumpsSOE.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/mumps/MumpsSolver.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/mumps/MumpsParallelSOE.o: No such file or directory
g++: /home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/mumps/MumpsParallelSolver.o: No such file or directory
make[1]: *** [tk] Error 1
make[1]: Leaving directory `/home/hisham/OpenSees/SRC/modelbuilder/tcl'
make: *** [all] Error 2
I also had: make[3]: /usr/bin/g77: Command not found
I appreciate your help and comments .... I am a newbie to the lot so please bare with me
Best regards,
Hisham
Hisham El Safti
Re: SP vs MP?, Trouble compiling SP
I found mpicxx in /usr/bin so I changed the linker :
LINKER = /usr/bin/mpicxx
the output is an error like the previous one:
tu/OpenSees/SRC/../OTHER/AMD -c tkAppInit.cpp
make[2]: Leaving directory `/home/numubuntu/OpenSees/SRC/tcl'
g++: /home/numubuntu/lib/libOpenSees.a: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: No such file or directory
g++: /home/numubuntu/lib/libArpack.a: No such file or directory
g++: /home/numubuntu/lib/libUmfpack.a: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSolver.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/mumps/MumpsSOE.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/mumps/MumpsSolver.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/mumps/MumpsParallelSOE.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/mumps/MumpsParallelSolver.o: No such file or directory
make[1]: *** [tk] Error 1
make[1]: Leaving directory `/home/numubuntu/OpenSees/SRC/modelbuilder/tcl'
make: *** [all] Error 2
numubuntu@numubuntu-System-Product-Name:~/OpenSees$
I will try to compile from inside the directories!
Edit1:
After initiating make from inside /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/mumps
& /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/petsc & /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/diagonal
Back to OpenSees directory and another make yields:
make[2]: Entering directory `/home/numubuntu/OpenSees/SRC/tcl'
make[2]: Nothing to be done for `tk'.
make[2]: Leaving directory `/home/numubuntu/OpenSees/SRC/tcl'
g++: /home/numubuntu/lib/libOpenSees.a: No such file or directory
g++: /home/numubuntu/lib/libArpack.a: No such file or directory
g++: /home/numubuntu/lib/libUmfpack.a: No such file or directory
make[1]: *** [tk] Error 1
make[1]: Leaving directory `/home/numubuntu/OpenSees/SRC/modelbuilder/tcl'
make: *** [all] Error 2
A step forward I think
EDit2: changed the FORTRAN compiler
FC = /usr/bin/gfortran
FORTRAN = /usr/bin/gfortran
upon make libs:
10 Libraries are compiled. And the error:
FEM_ObjectBrokerAllClasses.cpp: In member function ‘virtual LinearSOE* FEM_ObjectBrokerAllClasses::getNewLinearSOE(int)’:
FEM_ObjectBrokerAllClasses.cpp error: no matching function for call to ‘PetscSOE::PetscSOE()’
/home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.h:52: note: candidates are: PetscSOE::PetscSOE(PetscSolver&, int)
/home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.h:50: note: PetscSOE::PetscSOE(const PetscSOE&)
make[3]: *** [FEM_ObjectBrokerAllClasses.o] Error 1
make[3]: Leaving directory `/home/numubuntu/OpenSees/SRC/actor/objectBroker'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/numubuntu/OpenSees/SRC/actor'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/numubuntu/OpenSees/SRC'
Back to square one!
LINKER = /usr/bin/mpicxx
the output is an error like the previous one:
tu/OpenSees/SRC/../OTHER/AMD -c tkAppInit.cpp
make[2]: Leaving directory `/home/numubuntu/OpenSees/SRC/tcl'
g++: /home/numubuntu/lib/libOpenSees.a: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: No such file or directory
g++: /home/numubuntu/lib/libArpack.a: No such file or directory
g++: /home/numubuntu/lib/libUmfpack.a: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSolver.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/mumps/MumpsSOE.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/mumps/MumpsSolver.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/mumps/MumpsParallelSOE.o: No such file or directory
g++: /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/mumps/MumpsParallelSolver.o: No such file or directory
make[1]: *** [tk] Error 1
make[1]: Leaving directory `/home/numubuntu/OpenSees/SRC/modelbuilder/tcl'
make: *** [all] Error 2
numubuntu@numubuntu-System-Product-Name:~/OpenSees$
I will try to compile from inside the directories!
Edit1:
After initiating make from inside /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/mumps
& /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/petsc & /home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/diagonal
Back to OpenSees directory and another make yields:
make[2]: Entering directory `/home/numubuntu/OpenSees/SRC/tcl'
make[2]: Nothing to be done for `tk'.
make[2]: Leaving directory `/home/numubuntu/OpenSees/SRC/tcl'
g++: /home/numubuntu/lib/libOpenSees.a: No such file or directory
g++: /home/numubuntu/lib/libArpack.a: No such file or directory
g++: /home/numubuntu/lib/libUmfpack.a: No such file or directory
make[1]: *** [tk] Error 1
make[1]: Leaving directory `/home/numubuntu/OpenSees/SRC/modelbuilder/tcl'
make: *** [all] Error 2
A step forward I think
EDit2: changed the FORTRAN compiler
FC = /usr/bin/gfortran
FORTRAN = /usr/bin/gfortran
upon make libs:
10 Libraries are compiled. And the error:
FEM_ObjectBrokerAllClasses.cpp: In member function ‘virtual LinearSOE* FEM_ObjectBrokerAllClasses::getNewLinearSOE(int)’:
FEM_ObjectBrokerAllClasses.cpp error: no matching function for call to ‘PetscSOE::PetscSOE()’
/home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.h:52: note: candidates are: PetscSOE::PetscSOE(PetscSolver&, int)
/home/numubuntu/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.h:50: note: PetscSOE::PetscSOE(const PetscSOE&)
make[3]: *** [FEM_ObjectBrokerAllClasses.o] Error 1
make[3]: Leaving directory `/home/numubuntu/OpenSees/SRC/actor/objectBroker'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/numubuntu/OpenSees/SRC/actor'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/numubuntu/OpenSees/SRC'
Back to square one!
Hisham El Safti
Re: SP vs MP?, Trouble compiling SP
sorry about the choice of words .. they came before i settled on a name for the .exe
PARALLEL builds OpenSeesSP
PARALLEL_INTERPRETERS builds OpenSeesMP
PARALLEL builds OpenSeesSP
PARALLEL_INTERPRETERS builds OpenSeesMP
Re: SP vs MP?, Trouble compiling SP
i suggest you try to get the exe to compile with mumps, you can leavepetsc out .. use HAVEPETSC = NO
type make in OpenSees/SRC/system_of_eqn/linearSOE/mumps to get the Mumps files to compile
type make in OpenSees/SRC/system_of_eqn/linearSOE/mumps to get the Mumps files to compile
Re: SP vs MP?, Trouble compiling SP
Thanks a lot Frank. The libraries were built successfully. However, upon building OpenSees I get:
ColLinSOE.o: In function `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1c40): multiple definition of `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1c40): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1d00): multiple definition of `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1d00): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1db0): multiple definition of `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1db0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1e60): multiple definition of `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1e60): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1ec0): multiple definition of `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1ec0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)':
DistributedSparseGenColLinSOE.cpp:(.text+0x1f20): multiple definition of `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1f20): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)':
DistributedSparseGenColLinSOE.cpp:(.text+0x1fb0): multiple definition of `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1fb0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::setProcessID(int)':
DistributedSuperLU.cpp:(.text+0x0): multiple definition of `DistributedSuperLU::setProcessID(int)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::setChannels(int, Channel**)':
DistributedSuperLU.cpp:(.text+0x20): multiple definition of `DistributedSuperLU::setChannels(int, Channel**)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x20): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::recvSelf(int, Channel&, FEM_ObjectBroker&)':
DistributedSuperLU.cpp:(.text+0x110): multiple definition of `DistributedSuperLU::recvSelf(int, Channel&, FEM_ObjectBroker&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x110): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::sendSelf(int, Channel&)':
DistributedSuperLU.cpp:(.text+0x230): multiple definition of `DistributedSuperLU::sendSelf(int, Channel&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x230): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::setSize()':
DistributedSuperLU.cpp:(.text+0x450): multiple definition of `DistributedSuperLU::setSize()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x450): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::solve()':
DistributedSuperLU.cpp:(.text+0x610): multiple definition of `DistributedSuperLU::solve()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x610): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::~DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0x8e0): multiple definition of `DistributedSuperLU::~DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x8e0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::~DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0x950): multiple definition of `DistributedSuperLU::~DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x950): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::~DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0x9b0): multiple definition of `DistributedSuperLU::~DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x9b0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0xa10): multiple definition of `DistributedSuperLU::DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xa10): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0xa70): multiple definition of `DistributedSuperLU::DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xa70): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::DistributedSuperLU(int, int)':
DistributedSuperLU.cpp:(.text+0xad0): multiple definition of `DistributedSuperLU::DistributedSuperLU(int, int)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xad0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::DistributedSuperLU(int, int)':
DistributedSuperLU.cpp:(.text+0xb30): multiple definition of `DistributedSuperLU::DistributedSuperLU(int, int)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xb30): first defined here
/usr/bin/ld: cannot find -lmkl_lapack
/usr/bin/ld: cannot find -lmkl_ipf
/usr/bin/ld: cannot find -lguide
collect2: ld returned 1 exit status
make[1]: *** [tk] Error 1
make[1]: Leaving directory `/home/hisham/OpenSees/SRC/modelbuilder/tcl'
make: *** [tcl] Error 2
hisham@hisham-virtual-machine:~/OpenSees$ make OpenSees > log
Makefile:30: warning: overriding commands for target `tcl'
Makefile:13: warning: ignoring old commands for target `tcl'
Makefile:41: warning: overriding commands for target `tk'
Makefile:21: warning: ignoring old commands for target `tk'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::getNumEqn() const':
DistributedDiagonalSOE.cpp:(.text+0x0): multiple definition of `DistributedDiagonalSOE::getNumEqn() const'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::addA(Matrix const&, ID const&, double)':
DistributedDiagonalSOE.cpp:(.text+0x10): multiple definition of `DistributedDiagonalSOE::addA(Matrix const&, ID const&, double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x10): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::addB(Vector const&, ID const&, double)':
DistributedDiagonalSOE.cpp:(.text+0x160): multiple definition of `DistributedDiagonalSOE::addB(Vector const&, ID const&, double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x160): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setB(Vector const&, double)':
DistributedDiagonalSOE.cpp:(.text+0x290): multiple definition of `DistributedDiagonalSOE::setB(Vector const&, double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x290): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::zeroA()':
DistributedDiagonalSOE.cpp:(.text+0x3e0): multiple definition of `DistributedDiagonalSOE::zeroA()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x3e0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::zeroB()':
DistributedDiagonalSOE.cpp:(.text+0x410): multiple definition of `DistributedDiagonalSOE::zeroB()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x410): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setX(int, double)':
DistributedDiagonalSOE.cpp:(.text+0x440): multiple definition of `DistributedDiagonalSOE::setX(int, double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x440): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setAnalysisModel(AnalysisModel&)':
DistributedDiagonalSOE.cpp:(.text+0x480): multiple definition of `DistributedDiagonalSOE::setAnalysisModel(AnalysisModel&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x480): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setChannels(int, Channel**)':
DistributedDiagonalSOE.cpp:(.text+0x490): multiple definition of `DistributedDiagonalSOE::setChannels(int, Channel**)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x490): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setDiagonalSolver(DistributedDiagonalSolver&)':
DistributedDiagonalSOE.cpp:(.text+0x520): multiple definition of `DistributedDiagonalSOE::setDiagonalSolver(DistributedDiagonalSolver&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x520): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::recvSelf(int, Channel&, FEM_ObjectBroker&)':
DistributedDiagonalSOE.cpp:(.text+0x5a0): multiple definition of `DistributedDiagonalSOE::recvSelf(int, Channel&, FEM_ObjectBroker&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x5a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::sendSelf(int, Channel&)':
DistributedDiagonalSOE.cpp:(.text+0x710): multiple definition of `DistributedDiagonalSOE::sendSelf(int, Channel&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x710): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::normRHS()':
DistributedDiagonalSOE.cpp:(.text+0x980): multiple definition of `DistributedDiagonalSOE::normRHS()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x980): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::getB()':
DistributedDiagonalSOE.cpp:(.text+0x9e0): multiple definition of `DistributedDiagonalSOE::getB()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x9e0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::getX()':
DistributedDiagonalSOE.cpp:(.text+0xa20): multiple definition of `DistributedDiagonalSOE::getX()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0xa20): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setX(Vector const&)':
DistributedDiagonalSOE.cpp:(.text+0xa60): multiple definition of `DistributedDiagonalSOE::setX(Vector const&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0xa60): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setSize(Graph&)':
DistributedDiagonalSOE.cpp:(.text+0xa90): multiple definition of `DistributedDiagonalSOE::setSize(Graph&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0xa90): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::~DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1590): multiple definition of `DistributedDiagonalSOE::~DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1590): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::~DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1690): multiple definition of `DistributedDiagonalSOE::~DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1690): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::~DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1790): multiple definition of `DistributedDiagonalSOE::~DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1790): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1890): multiple definition of `DistributedDiagonalSOE::DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1890): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1990): multiple definition of `DistributedDiagonalSOE::DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1990): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::DistributedDiagonalSOE(DistributedDiagonalSolver&)':
DistributedDiagonalSOE.cpp:(.text+0x1a90): multiple definition of `DistributedDiagonalSOE::DistributedDiagonalSOE(DistributedDiagonalSolver&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1a90): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::DistributedDiagonalSOE(DistributedDiagonalSolver&)':
DistributedDiagonalSOE.cpp:(.text+0x1bb0): multiple definition of `DistributedDiagonalSOE::DistributedDiagonalSOE(DistributedDiagonalSolver&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1bb0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::setLinearSOE(DistributedDiagonalSOE&)':
DistributedDiagonalSolver.cpp:(.text+0x0): multiple definition of `DistributedDiagonalSolver::setLinearSOE(DistributedDiagonalSOE&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::setSize()':
DistributedDiagonalSolver.cpp:(.text+0x10): multiple definition of `DistributedDiagonalSolver::setSize()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x10): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::recvSelf(int, Channel&, FEM_ObjectBroker&)':
DistributedDiagonalSolver.cpp:(.text+0x20): multiple definition of `DistributedDiagonalSolver::recvSelf(int, Channel&, FEM_ObjectBroker&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x20): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::sendSelf(int, Channel&)':
DistributedDiagonalSolver.cpp:(.text+0xe0): multiple definition of `DistributedDiagonalSolver::sendSelf(int, Channel&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0xe0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::solve()':
DistributedDiagonalSolver.cpp:(.text+0x1a0): multiple definition of `DistributedDiagonalSolver::solve()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x1a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::~DistributedDiagonalSolver()':
DistributedDiagonalSolver.cpp:(.text+0x480): multiple definition of `DistributedDiagonalSolver::~DistributedDiagonalSolver()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x480): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::~DistributedDiagonalSolver()':
DistributedDiagonalSolver.cpp:(.text+0x4a0): multiple definition of `DistributedDiagonalSolver::~DistributedDiagonalSolver()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x4a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::~DistributedDiagonalSolver()':
DistributedDiagonalSolver.cpp:(.text+0x4c0): multiple definition of `DistributedDiagonalSolver::~DistributedDiagonalSolver()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x4c0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::DistributedDiagonalSolver(double)':
DistributedDiagonalSolver.cpp:(.text+0x4f0): multiple definition of `DistributedDiagonalSolver::DistributedDiagonalSolver(double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x4f0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::DistributedDiagonalSolver(double)':
DistributedDiagonalSolver.cpp:(.text+0x530): multiple definition of `DistributedDiagonalSolver::DistributedDiagonalSolver(double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x530): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::DistributedDiagonalSolver(int)':
DistributedDiagonalSolver.cpp:(.text+0x570): multiple definition of `DistributedDiagonalSolver::DistributedDiagonalSolver(int)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x570): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::DistributedDiagonalSolver(int)':
DistributedDiagonalSolver.cpp:(.text+0x5b0): multiple definition of `DistributedDiagonalSolver::DistributedDiagonalSolver(int)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x5b0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::getNumEqn() const':
DistributedDiagonalSOE.cpp:(.text+0x0): multiple definition of `DistributedDiagonalSOE::getNumEqn() const'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::addA(Matrix const&, ID const&, double)':
DistributedDiagonalSOE.cpp:(.text+0x10): multiple definition of `DistributedDiagonalSOE::addA(Matrix const&, ID const&, double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x10): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::addB(Vector const&, ID const&, double)':
DistributedDiagonalSOE.cpp:(.text+0x160): multiple definition of `DistributedDiagonalSOE::addB(Vector const&, ID const&, double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x160): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setB(Vector const&, double)':
DistributedDiagonalSOE.cpp:(.text+0x290): multiple definition of `DistributedDiagonalSOE::setB(Vector const&, double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x290): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::zeroA()':
DistributedDiagonalSOE.cpp:(.text+0x3e0): multiple definition of `DistributedDiagonalSOE::zeroA()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x3e0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::zeroB()':
DistributedDiagonalSOE.cpp:(.text+0x410): multiple definition of `DistributedDiagonalSOE::zeroB()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x410): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setX(int, double)':
DistributedDiagonalSOE.cpp:(.text+0x440): multiple definition of `DistributedDiagonalSOE::setX(int, double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x440): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setAnalysisModel(AnalysisModel&)':
DistributedDiagonalSOE.cpp:(.text+0x480): multiple definition of `DistributedDiagonalSOE::setAnalysisModel(AnalysisModel&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x480): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setChannels(int, Channel**)':
DistributedDiagonalSOE.cpp:(.text+0x490): multiple definition of `DistributedDiagonalSOE::setChannels(int, Channel**)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x490): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setDiagonalSolver(DistributedDiagonalSolver&)':
DistributedDiagonalSOE.cpp:(.text+0x520): multiple definition of `DistributedDiagonalSOE::setDiagonalSolver(DistributedDiagonalSolver&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x520): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::recvSelf(int, Channel&, FEM_ObjectBroker&)':
DistributedDiagonalSOE.cpp:(.text+0x5a0): multiple definition of `DistributedDiagonalSOE::recvSelf(int, Channel&, FEM_ObjectBroker&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x5a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::sendSelf(int, Channel&)':
DistributedDiagonalSOE.cpp:(.text+0x710): multiple definition of `DistributedDiagonalSOE::sendSelf(int, Channel&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x710): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::normRHS()':
DistributedDiagonalSOE.cpp:(.text+0x980): multiple definition of `DistributedDiagonalSOE::normRHS()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x980): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::getB()':
DistributedDiagonalSOE.cpp:(.text+0x9e0): multiple definition of `DistributedDiagonalSOE::getB()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x9e0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::getX()':
DistributedDiagonalSOE.cpp:(.text+0xa20): multiple definition of `DistributedDiagonalSOE::getX()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0xa20): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setX(Vector const&)':
DistributedDiagonalSOE.cpp:(.text+0xa60): multiple definition of `DistributedDiagonalSOE::setX(Vector const&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0xa60): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setSize(Graph&)':
DistributedDiagonalSOE.cpp:(.text+0xa90): multiple definition of `DistributedDiagonalSOE::setSize(Graph&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0xa90): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::~DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1590): multiple definition of `DistributedDiagonalSOE::~DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1590): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::~DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1690): multiple definition of `DistributedDiagonalSOE::~DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1690): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::~DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1790): multiple definition of `DistributedDiagonalSOE::~DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1790): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1890): multiple definition of `DistributedDiagonalSOE::DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1890): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1990): multiple definition of `DistributedDiagonalSOE::DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1990): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::DistributedDiagonalSOE(DistributedDiagonalSolver&)':
DistributedDiagonalSOE.cpp:(.text+0x1a90): multiple definition of `DistributedDiagonalSOE::DistributedDiagonalSOE(DistributedDiagonalSolver&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1a90): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::DistributedDiagonalSOE(DistributedDiagonalSolver&)':
DistributedDiagonalSOE.cpp:(.text+0x1bb0): multiple definition of `DistributedDiagonalSOE::DistributedDiagonalSOE(DistributedDiagonalSolver&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1bb0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::setLinearSOE(DistributedDiagonalSOE&)':
DistributedDiagonalSolver.cpp:(.text+0x0): multiple definition of `DistributedDiagonalSolver::setLinearSOE(DistributedDiagonalSOE&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::setSize()':
DistributedDiagonalSolver.cpp:(.text+0x10): multiple definition of `DistributedDiagonalSolver::setSize()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x10): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::recvSelf(int, Channel&, FEM_ObjectBroker&)':
DistributedDiagonalSolver.cpp:(.text+0x20): multiple definition of `DistributedDiagonalSolver::recvSelf(int, Channel&, FEM_ObjectBroker&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x20): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::sendSelf(int, Channel&)':
DistributedDiagonalSolver.cpp:(.text+0xe0): multiple definition of `DistributedDiagonalSolver::sendSelf(int, Channel&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0xe0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::solve()':
DistributedDiagonalSolver.cpp:(.text+0x1a0): multiple definition of `DistributedDiagonalSolver::solve()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x1a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::~DistributedDiagonalSolver()':
DistributedDiagonalSolver.cpp:(.text+0x480): multiple definition of `DistributedDiagonalSolver::~DistributedDiagonalSolver()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x480): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::~DistributedDiagonalSolver()':
DistributedDiagonalSolver.cpp:(.text+0x4a0): multiple definition of `DistributedDiagonalSolver::~DistributedDiagonalSolver()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x4a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::~DistributedDiagonalSolver()':
DistributedDiagonalSolver.cpp:(.text+0x4c0): multiple definition of `DistributedDiagonalSolver::~DistributedDiagonalSolver()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x4c0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::DistributedDiagonalSolver(double)':
DistributedDiagonalSolver.cpp:(.text+0x4f0): multiple definition of `DistributedDiagonalSolver::DistributedDiagonalSolver(double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x4f0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::DistributedDiagonalSolver(double)':
DistributedDiagonalSolver.cpp:(.text+0x530): multiple definition of `DistributedDiagonalSolver::DistributedDiagonalSolver(double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x530): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::DistributedDiagonalSolver(int)':
DistributedDiagonalSolver.cpp:(.text+0x570): multiple definition of `DistributedDiagonalSolver::DistributedDiagonalSolver(int)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x570): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::DistributedDiagonalSolver(int)':
DistributedDiagonalSolver.cpp:(.text+0x5b0): multiple definition of `DistributedDiagonalSolver::DistributedDiagonalSolver(int)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x5b0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::addA(Matrix const&, ID const&, double)':
DistributedSparseGenColLinSOE.cpp:(.text+0x0): multiple definition of `DistributedSparseGenColLinSOE::addA(Matrix const&, ID const&, double)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::addB(Vector const&, ID const&, double)':
DistributedSparseGenColLinSOE.cpp:(.text+0x240): multiple definition of `DistributedSparseGenColLinSOE::addB(Vector const&, ID const&, double)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x240): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::setB(Vector const&, double)':
DistributedSparseGenColLinSOE.cpp:(.text+0x3a0): multiple definition of `DistributedSparseGenColLinSOE::setB(Vector const&, double)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x3a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::zeroB()':
DistributedSparseGenColLinSOE.cpp:(.text+0x4f0): multiple definition of `DistributedSparseGenColLinSOE::zeroB()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x4f0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::setProcessID(int)':
DistributedSparseGenColLinSOE.cpp:(.text+0x520): multiple definition of `DistributedSparseGenColLinSOE::setProcessID(int)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x520): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::setChannels(int, Channel**)':
DistributedSparseGenColLinSOE.cpp:(.text+0x530): multiple definition of `DistributedSparseGenColLinSOE::setChannels(int, Channel**)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x530): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::recvSelf(int, Channel&, FEM_ObjectBroker&)':
DistributedSparseGenColLinSOE.cpp:(.text+0x5c0): multiple definition of `DistributedSparseGenColLinSOE::recvSelf(int, Channel&, FEM_ObjectBroker&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x5c0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::sendSelf(int, Channel&)':
DistributedSparseGenColLinSOE.cpp:(.text+0x6a0): multiple definition of `DistributedSparseGenColLinSOE::sendSelf(int, Channel&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x6a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::getB()':
DistributedSparseGenColLinSOE.cpp:(.text+0x8a0): multiple definition of `DistributedSparseGenColLinSOE::getB()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x8a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::solve()':
DistributedSparseGenColLinSOE.cpp:(.text+0xa00): multiple definition of `DistributedSparseGenColLinSOE::solve()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0xa00): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::setSize(Graph&)':
DistributedSparseGenColLinSOE.cpp:(.text+0xd90): multiple definition of `DistributedSparseGenColLinSOE::setSize(Graph&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0xd90): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1c40): multiple definition of `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1c40): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1d00): multiple definition of `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1d00): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1db0): multiple definition of `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1db0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1e60): multiple definition of `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1e60): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1ec0): multiple definition of `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1ec0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)':
DistributedSparseGenColLinSOE.cpp:(.text+0x1f20): multiple definition of `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1f20): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)':
DistributedSparseGenColLinSOE.cpp:(.text+0x1fb0): multiple definition of `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1fb0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::setProcessID(int)':
DistributedSuperLU.cpp:(.text+0x0): multiple definition of `DistributedSuperLU::setProcessID(int)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::setChannels(int, Channel**)':
DistributedSuperLU.cpp:(.text+0x20): multiple definition of `DistributedSuperLU::setChannels(int, Channel**)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x20): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::recvSelf(int, Channel&, FEM_ObjectBroker&)':
DistributedSuperLU.cpp:(.text+0x110): multiple definition of `DistributedSuperLU::recvSelf(int, Channel&, FEM_ObjectBroker&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x110): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::sendSelf(int, Channel&)':
DistributedSuperLU.cpp:(.text+0x230): multiple definition of `DistributedSuperLU::sendSelf(int, Channel&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x230): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::setSize()':
DistributedSuperLU.cpp:(.text+0x450): multiple definition of `DistributedSuperLU::setSize()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x450): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::solve()':
DistributedSuperLU.cpp:(.text+0x610): multiple definition of `DistributedSuperLU::solve()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x610): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::~DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0x8e0): multiple definition of `DistributedSuperLU::~DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x8e0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::~DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0x950): multiple definition of `DistributedSuperLU::~DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x950): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::~DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0x9b0): multiple definition of `DistributedSuperLU::~DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x9b0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0xa10): multiple definition of `DistributedSuperLU::DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xa10): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0xa70): multiple definition of `DistributedSuperLU::DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xa70): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::DistributedSuperLU(int, int)':
DistributedSuperLU.cpp:(.text+0xad0): multiple definition of `DistributedSuperLU::DistributedSuperLU(int, int)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xad0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::DistributedSuperLU(int, int)':
DistributedSuperLU.cpp:(.text+0xb30): multiple definition of `DistributedSuperLU::DistributedSuperLU(int, int)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xb30): first defined here
/usr/bin/ld: cannot find -lmkl_lapack
/usr/bin/ld: cannot find -lmkl_ipf
/usr/bin/ld: cannot find -lguide
collect2: ld returned 1 exit status
make[1]: *** [tk] Error 1
make: *** [tcl] Error 2
ColLinSOE.o: In function `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1c40): multiple definition of `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1c40): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1d00): multiple definition of `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1d00): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1db0): multiple definition of `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1db0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1e60): multiple definition of `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1e60): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1ec0): multiple definition of `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1ec0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)':
DistributedSparseGenColLinSOE.cpp:(.text+0x1f20): multiple definition of `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1f20): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)':
DistributedSparseGenColLinSOE.cpp:(.text+0x1fb0): multiple definition of `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1fb0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::setProcessID(int)':
DistributedSuperLU.cpp:(.text+0x0): multiple definition of `DistributedSuperLU::setProcessID(int)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::setChannels(int, Channel**)':
DistributedSuperLU.cpp:(.text+0x20): multiple definition of `DistributedSuperLU::setChannels(int, Channel**)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x20): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::recvSelf(int, Channel&, FEM_ObjectBroker&)':
DistributedSuperLU.cpp:(.text+0x110): multiple definition of `DistributedSuperLU::recvSelf(int, Channel&, FEM_ObjectBroker&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x110): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::sendSelf(int, Channel&)':
DistributedSuperLU.cpp:(.text+0x230): multiple definition of `DistributedSuperLU::sendSelf(int, Channel&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x230): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::setSize()':
DistributedSuperLU.cpp:(.text+0x450): multiple definition of `DistributedSuperLU::setSize()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x450): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::solve()':
DistributedSuperLU.cpp:(.text+0x610): multiple definition of `DistributedSuperLU::solve()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x610): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::~DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0x8e0): multiple definition of `DistributedSuperLU::~DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x8e0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::~DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0x950): multiple definition of `DistributedSuperLU::~DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x950): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::~DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0x9b0): multiple definition of `DistributedSuperLU::~DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x9b0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0xa10): multiple definition of `DistributedSuperLU::DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xa10): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0xa70): multiple definition of `DistributedSuperLU::DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xa70): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::DistributedSuperLU(int, int)':
DistributedSuperLU.cpp:(.text+0xad0): multiple definition of `DistributedSuperLU::DistributedSuperLU(int, int)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xad0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::DistributedSuperLU(int, int)':
DistributedSuperLU.cpp:(.text+0xb30): multiple definition of `DistributedSuperLU::DistributedSuperLU(int, int)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xb30): first defined here
/usr/bin/ld: cannot find -lmkl_lapack
/usr/bin/ld: cannot find -lmkl_ipf
/usr/bin/ld: cannot find -lguide
collect2: ld returned 1 exit status
make[1]: *** [tk] Error 1
make[1]: Leaving directory `/home/hisham/OpenSees/SRC/modelbuilder/tcl'
make: *** [tcl] Error 2
hisham@hisham-virtual-machine:~/OpenSees$ make OpenSees > log
Makefile:30: warning: overriding commands for target `tcl'
Makefile:13: warning: ignoring old commands for target `tcl'
Makefile:41: warning: overriding commands for target `tk'
Makefile:21: warning: ignoring old commands for target `tk'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::getNumEqn() const':
DistributedDiagonalSOE.cpp:(.text+0x0): multiple definition of `DistributedDiagonalSOE::getNumEqn() const'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::addA(Matrix const&, ID const&, double)':
DistributedDiagonalSOE.cpp:(.text+0x10): multiple definition of `DistributedDiagonalSOE::addA(Matrix const&, ID const&, double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x10): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::addB(Vector const&, ID const&, double)':
DistributedDiagonalSOE.cpp:(.text+0x160): multiple definition of `DistributedDiagonalSOE::addB(Vector const&, ID const&, double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x160): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setB(Vector const&, double)':
DistributedDiagonalSOE.cpp:(.text+0x290): multiple definition of `DistributedDiagonalSOE::setB(Vector const&, double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x290): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::zeroA()':
DistributedDiagonalSOE.cpp:(.text+0x3e0): multiple definition of `DistributedDiagonalSOE::zeroA()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x3e0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::zeroB()':
DistributedDiagonalSOE.cpp:(.text+0x410): multiple definition of `DistributedDiagonalSOE::zeroB()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x410): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setX(int, double)':
DistributedDiagonalSOE.cpp:(.text+0x440): multiple definition of `DistributedDiagonalSOE::setX(int, double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x440): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setAnalysisModel(AnalysisModel&)':
DistributedDiagonalSOE.cpp:(.text+0x480): multiple definition of `DistributedDiagonalSOE::setAnalysisModel(AnalysisModel&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x480): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setChannels(int, Channel**)':
DistributedDiagonalSOE.cpp:(.text+0x490): multiple definition of `DistributedDiagonalSOE::setChannels(int, Channel**)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x490): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setDiagonalSolver(DistributedDiagonalSolver&)':
DistributedDiagonalSOE.cpp:(.text+0x520): multiple definition of `DistributedDiagonalSOE::setDiagonalSolver(DistributedDiagonalSolver&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x520): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::recvSelf(int, Channel&, FEM_ObjectBroker&)':
DistributedDiagonalSOE.cpp:(.text+0x5a0): multiple definition of `DistributedDiagonalSOE::recvSelf(int, Channel&, FEM_ObjectBroker&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x5a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::sendSelf(int, Channel&)':
DistributedDiagonalSOE.cpp:(.text+0x710): multiple definition of `DistributedDiagonalSOE::sendSelf(int, Channel&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x710): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::normRHS()':
DistributedDiagonalSOE.cpp:(.text+0x980): multiple definition of `DistributedDiagonalSOE::normRHS()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x980): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::getB()':
DistributedDiagonalSOE.cpp:(.text+0x9e0): multiple definition of `DistributedDiagonalSOE::getB()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x9e0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::getX()':
DistributedDiagonalSOE.cpp:(.text+0xa20): multiple definition of `DistributedDiagonalSOE::getX()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0xa20): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setX(Vector const&)':
DistributedDiagonalSOE.cpp:(.text+0xa60): multiple definition of `DistributedDiagonalSOE::setX(Vector const&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0xa60): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setSize(Graph&)':
DistributedDiagonalSOE.cpp:(.text+0xa90): multiple definition of `DistributedDiagonalSOE::setSize(Graph&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0xa90): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::~DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1590): multiple definition of `DistributedDiagonalSOE::~DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1590): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::~DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1690): multiple definition of `DistributedDiagonalSOE::~DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1690): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::~DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1790): multiple definition of `DistributedDiagonalSOE::~DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1790): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1890): multiple definition of `DistributedDiagonalSOE::DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1890): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1990): multiple definition of `DistributedDiagonalSOE::DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1990): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::DistributedDiagonalSOE(DistributedDiagonalSolver&)':
DistributedDiagonalSOE.cpp:(.text+0x1a90): multiple definition of `DistributedDiagonalSOE::DistributedDiagonalSOE(DistributedDiagonalSolver&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1a90): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::DistributedDiagonalSOE(DistributedDiagonalSolver&)':
DistributedDiagonalSOE.cpp:(.text+0x1bb0): multiple definition of `DistributedDiagonalSOE::DistributedDiagonalSOE(DistributedDiagonalSolver&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1bb0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::setLinearSOE(DistributedDiagonalSOE&)':
DistributedDiagonalSolver.cpp:(.text+0x0): multiple definition of `DistributedDiagonalSolver::setLinearSOE(DistributedDiagonalSOE&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::setSize()':
DistributedDiagonalSolver.cpp:(.text+0x10): multiple definition of `DistributedDiagonalSolver::setSize()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x10): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::recvSelf(int, Channel&, FEM_ObjectBroker&)':
DistributedDiagonalSolver.cpp:(.text+0x20): multiple definition of `DistributedDiagonalSolver::recvSelf(int, Channel&, FEM_ObjectBroker&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x20): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::sendSelf(int, Channel&)':
DistributedDiagonalSolver.cpp:(.text+0xe0): multiple definition of `DistributedDiagonalSolver::sendSelf(int, Channel&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0xe0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::solve()':
DistributedDiagonalSolver.cpp:(.text+0x1a0): multiple definition of `DistributedDiagonalSolver::solve()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x1a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::~DistributedDiagonalSolver()':
DistributedDiagonalSolver.cpp:(.text+0x480): multiple definition of `DistributedDiagonalSolver::~DistributedDiagonalSolver()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x480): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::~DistributedDiagonalSolver()':
DistributedDiagonalSolver.cpp:(.text+0x4a0): multiple definition of `DistributedDiagonalSolver::~DistributedDiagonalSolver()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x4a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::~DistributedDiagonalSolver()':
DistributedDiagonalSolver.cpp:(.text+0x4c0): multiple definition of `DistributedDiagonalSolver::~DistributedDiagonalSolver()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x4c0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::DistributedDiagonalSolver(double)':
DistributedDiagonalSolver.cpp:(.text+0x4f0): multiple definition of `DistributedDiagonalSolver::DistributedDiagonalSolver(double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x4f0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::DistributedDiagonalSolver(double)':
DistributedDiagonalSolver.cpp:(.text+0x530): multiple definition of `DistributedDiagonalSolver::DistributedDiagonalSolver(double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x530): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::DistributedDiagonalSolver(int)':
DistributedDiagonalSolver.cpp:(.text+0x570): multiple definition of `DistributedDiagonalSolver::DistributedDiagonalSolver(int)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x570): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::DistributedDiagonalSolver(int)':
DistributedDiagonalSolver.cpp:(.text+0x5b0): multiple definition of `DistributedDiagonalSolver::DistributedDiagonalSolver(int)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x5b0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::getNumEqn() const':
DistributedDiagonalSOE.cpp:(.text+0x0): multiple definition of `DistributedDiagonalSOE::getNumEqn() const'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::addA(Matrix const&, ID const&, double)':
DistributedDiagonalSOE.cpp:(.text+0x10): multiple definition of `DistributedDiagonalSOE::addA(Matrix const&, ID const&, double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x10): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::addB(Vector const&, ID const&, double)':
DistributedDiagonalSOE.cpp:(.text+0x160): multiple definition of `DistributedDiagonalSOE::addB(Vector const&, ID const&, double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x160): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setB(Vector const&, double)':
DistributedDiagonalSOE.cpp:(.text+0x290): multiple definition of `DistributedDiagonalSOE::setB(Vector const&, double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x290): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::zeroA()':
DistributedDiagonalSOE.cpp:(.text+0x3e0): multiple definition of `DistributedDiagonalSOE::zeroA()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x3e0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::zeroB()':
DistributedDiagonalSOE.cpp:(.text+0x410): multiple definition of `DistributedDiagonalSOE::zeroB()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x410): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setX(int, double)':
DistributedDiagonalSOE.cpp:(.text+0x440): multiple definition of `DistributedDiagonalSOE::setX(int, double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x440): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setAnalysisModel(AnalysisModel&)':
DistributedDiagonalSOE.cpp:(.text+0x480): multiple definition of `DistributedDiagonalSOE::setAnalysisModel(AnalysisModel&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x480): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setChannels(int, Channel**)':
DistributedDiagonalSOE.cpp:(.text+0x490): multiple definition of `DistributedDiagonalSOE::setChannels(int, Channel**)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x490): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setDiagonalSolver(DistributedDiagonalSolver&)':
DistributedDiagonalSOE.cpp:(.text+0x520): multiple definition of `DistributedDiagonalSOE::setDiagonalSolver(DistributedDiagonalSolver&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x520): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::recvSelf(int, Channel&, FEM_ObjectBroker&)':
DistributedDiagonalSOE.cpp:(.text+0x5a0): multiple definition of `DistributedDiagonalSOE::recvSelf(int, Channel&, FEM_ObjectBroker&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x5a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::sendSelf(int, Channel&)':
DistributedDiagonalSOE.cpp:(.text+0x710): multiple definition of `DistributedDiagonalSOE::sendSelf(int, Channel&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x710): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::normRHS()':
DistributedDiagonalSOE.cpp:(.text+0x980): multiple definition of `DistributedDiagonalSOE::normRHS()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x980): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::getB()':
DistributedDiagonalSOE.cpp:(.text+0x9e0): multiple definition of `DistributedDiagonalSOE::getB()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x9e0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::getX()':
DistributedDiagonalSOE.cpp:(.text+0xa20): multiple definition of `DistributedDiagonalSOE::getX()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0xa20): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setX(Vector const&)':
DistributedDiagonalSOE.cpp:(.text+0xa60): multiple definition of `DistributedDiagonalSOE::setX(Vector const&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0xa60): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::setSize(Graph&)':
DistributedDiagonalSOE.cpp:(.text+0xa90): multiple definition of `DistributedDiagonalSOE::setSize(Graph&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0xa90): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::~DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1590): multiple definition of `DistributedDiagonalSOE::~DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1590): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::~DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1690): multiple definition of `DistributedDiagonalSOE::~DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1690): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::~DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1790): multiple definition of `DistributedDiagonalSOE::~DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1790): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1890): multiple definition of `DistributedDiagonalSOE::DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1890): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::DistributedDiagonalSOE()':
DistributedDiagonalSOE.cpp:(.text+0x1990): multiple definition of `DistributedDiagonalSOE::DistributedDiagonalSOE()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1990): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::DistributedDiagonalSOE(DistributedDiagonalSolver&)':
DistributedDiagonalSOE.cpp:(.text+0x1a90): multiple definition of `DistributedDiagonalSOE::DistributedDiagonalSOE(DistributedDiagonalSolver&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1a90): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o: In function `DistributedDiagonalSOE::DistributedDiagonalSOE(DistributedDiagonalSolver&)':
DistributedDiagonalSOE.cpp:(.text+0x1bb0): multiple definition of `DistributedDiagonalSOE::DistributedDiagonalSOE(DistributedDiagonalSolver&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSOE.o):DistributedDiagonalSOE.cpp:(.text+0x1bb0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::setLinearSOE(DistributedDiagonalSOE&)':
DistributedDiagonalSolver.cpp:(.text+0x0): multiple definition of `DistributedDiagonalSolver::setLinearSOE(DistributedDiagonalSOE&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::setSize()':
DistributedDiagonalSolver.cpp:(.text+0x10): multiple definition of `DistributedDiagonalSolver::setSize()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x10): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::recvSelf(int, Channel&, FEM_ObjectBroker&)':
DistributedDiagonalSolver.cpp:(.text+0x20): multiple definition of `DistributedDiagonalSolver::recvSelf(int, Channel&, FEM_ObjectBroker&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x20): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::sendSelf(int, Channel&)':
DistributedDiagonalSolver.cpp:(.text+0xe0): multiple definition of `DistributedDiagonalSolver::sendSelf(int, Channel&)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0xe0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::solve()':
DistributedDiagonalSolver.cpp:(.text+0x1a0): multiple definition of `DistributedDiagonalSolver::solve()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x1a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::~DistributedDiagonalSolver()':
DistributedDiagonalSolver.cpp:(.text+0x480): multiple definition of `DistributedDiagonalSolver::~DistributedDiagonalSolver()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x480): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::~DistributedDiagonalSolver()':
DistributedDiagonalSolver.cpp:(.text+0x4a0): multiple definition of `DistributedDiagonalSolver::~DistributedDiagonalSolver()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x4a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::~DistributedDiagonalSolver()':
DistributedDiagonalSolver.cpp:(.text+0x4c0): multiple definition of `DistributedDiagonalSolver::~DistributedDiagonalSolver()'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x4c0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::DistributedDiagonalSolver(double)':
DistributedDiagonalSolver.cpp:(.text+0x4f0): multiple definition of `DistributedDiagonalSolver::DistributedDiagonalSolver(double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x4f0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::DistributedDiagonalSolver(double)':
DistributedDiagonalSolver.cpp:(.text+0x530): multiple definition of `DistributedDiagonalSolver::DistributedDiagonalSolver(double)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x530): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::DistributedDiagonalSolver(int)':
DistributedDiagonalSolver.cpp:(.text+0x570): multiple definition of `DistributedDiagonalSolver::DistributedDiagonalSolver(int)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x570): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o: In function `DistributedDiagonalSolver::DistributedDiagonalSolver(int)':
DistributedDiagonalSolver.cpp:(.text+0x5b0): multiple definition of `DistributedDiagonalSolver::DistributedDiagonalSolver(int)'
/home/hisham/lib/libOpenSees.a(DistributedDiagonalSolver.o):DistributedDiagonalSolver.cpp:(.text+0x5b0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::addA(Matrix const&, ID const&, double)':
DistributedSparseGenColLinSOE.cpp:(.text+0x0): multiple definition of `DistributedSparseGenColLinSOE::addA(Matrix const&, ID const&, double)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::addB(Vector const&, ID const&, double)':
DistributedSparseGenColLinSOE.cpp:(.text+0x240): multiple definition of `DistributedSparseGenColLinSOE::addB(Vector const&, ID const&, double)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x240): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::setB(Vector const&, double)':
DistributedSparseGenColLinSOE.cpp:(.text+0x3a0): multiple definition of `DistributedSparseGenColLinSOE::setB(Vector const&, double)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x3a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::zeroB()':
DistributedSparseGenColLinSOE.cpp:(.text+0x4f0): multiple definition of `DistributedSparseGenColLinSOE::zeroB()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x4f0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::setProcessID(int)':
DistributedSparseGenColLinSOE.cpp:(.text+0x520): multiple definition of `DistributedSparseGenColLinSOE::setProcessID(int)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x520): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::setChannels(int, Channel**)':
DistributedSparseGenColLinSOE.cpp:(.text+0x530): multiple definition of `DistributedSparseGenColLinSOE::setChannels(int, Channel**)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x530): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::recvSelf(int, Channel&, FEM_ObjectBroker&)':
DistributedSparseGenColLinSOE.cpp:(.text+0x5c0): multiple definition of `DistributedSparseGenColLinSOE::recvSelf(int, Channel&, FEM_ObjectBroker&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x5c0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::sendSelf(int, Channel&)':
DistributedSparseGenColLinSOE.cpp:(.text+0x6a0): multiple definition of `DistributedSparseGenColLinSOE::sendSelf(int, Channel&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x6a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::getB()':
DistributedSparseGenColLinSOE.cpp:(.text+0x8a0): multiple definition of `DistributedSparseGenColLinSOE::getB()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x8a0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::solve()':
DistributedSparseGenColLinSOE.cpp:(.text+0xa00): multiple definition of `DistributedSparseGenColLinSOE::solve()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0xa00): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::setSize(Graph&)':
DistributedSparseGenColLinSOE.cpp:(.text+0xd90): multiple definition of `DistributedSparseGenColLinSOE::setSize(Graph&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0xd90): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1c40): multiple definition of `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1c40): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1d00): multiple definition of `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1d00): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1db0): multiple definition of `DistributedSparseGenColLinSOE::~DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1db0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1e60): multiple definition of `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1e60): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE()':
DistributedSparseGenColLinSOE.cpp:(.text+0x1ec0): multiple definition of `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1ec0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)':
DistributedSparseGenColLinSOE.cpp:(.text+0x1f20): multiple definition of `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1f20): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o: In function `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)':
DistributedSparseGenColLinSOE.cpp:(.text+0x1fb0): multiple definition of `DistributedSparseGenColLinSOE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o:DistributedSparseGenColLinSOE.cpp:(.text+0x1fb0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::setProcessID(int)':
DistributedSuperLU.cpp:(.text+0x0): multiple definition of `DistributedSuperLU::setProcessID(int)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::setChannels(int, Channel**)':
DistributedSuperLU.cpp:(.text+0x20): multiple definition of `DistributedSuperLU::setChannels(int, Channel**)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x20): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::recvSelf(int, Channel&, FEM_ObjectBroker&)':
DistributedSuperLU.cpp:(.text+0x110): multiple definition of `DistributedSuperLU::recvSelf(int, Channel&, FEM_ObjectBroker&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x110): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::sendSelf(int, Channel&)':
DistributedSuperLU.cpp:(.text+0x230): multiple definition of `DistributedSuperLU::sendSelf(int, Channel&)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x230): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::setSize()':
DistributedSuperLU.cpp:(.text+0x450): multiple definition of `DistributedSuperLU::setSize()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x450): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::solve()':
DistributedSuperLU.cpp:(.text+0x610): multiple definition of `DistributedSuperLU::solve()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x610): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::~DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0x8e0): multiple definition of `DistributedSuperLU::~DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x8e0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::~DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0x950): multiple definition of `DistributedSuperLU::~DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x950): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::~DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0x9b0): multiple definition of `DistributedSuperLU::~DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0x9b0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0xa10): multiple definition of `DistributedSuperLU::DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xa10): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::DistributedSuperLU()':
DistributedSuperLU.cpp:(.text+0xa70): multiple definition of `DistributedSuperLU::DistributedSuperLU()'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xa70): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::DistributedSuperLU(int, int)':
DistributedSuperLU.cpp:(.text+0xad0): multiple definition of `DistributedSuperLU::DistributedSuperLU(int, int)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xad0): first defined here
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o: In function `DistributedSuperLU::DistributedSuperLU(int, int)':
DistributedSuperLU.cpp:(.text+0xb30): multiple definition of `DistributedSuperLU::DistributedSuperLU(int, int)'
/home/hisham/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o:DistributedSuperLU.cpp:(.text+0xb30): first defined here
/usr/bin/ld: cannot find -lmkl_lapack
/usr/bin/ld: cannot find -lmkl_ipf
/usr/bin/ld: cannot find -lguide
collect2: ld returned 1 exit status
make[1]: *** [tk] Error 1
make: *** [tcl] Error 2
Hisham El Safti
Re: SP vs MP?, Trouble compiling SP
The current makefile.def is:
############################################################################
#
# Program: OpenSees
#
# Purpose: A Top-level Makefile to create the libraries needed
# to use the OpenSees framework.
#
# version for parallelized PC (linux ubuntu 10.04)
# installed packages:
# mpi-default-dev (0.6, currently openmpi)
# petsc-dev (3.0.0)
# libmumps-4.9.2 (linear solver, includes scalapack)
# libblacs-mpi1 1.1-28.2buildl
# libblacs-mpi-dev 1.1-28.2buildl
# libhpmud0 3.10.2-2ubuntu2.2 (HP Multi-Point Transport Driver (hpmud) run-time libraries)
# libmumps-dev
# Written: fmk
# Created: 01/2003
# NOTES: you have to go into SRC/actor/channel and call make by hand on some
# classes.
# You have to do things by hand in SRC/system_of_eqn/liearSOE/mumps
#
#
############################################################################
# %---------------------------------%
# | SECTION 1: PROGRAM |
# %---------------------------------%
#
# Specify the location and name of the OpenSees interpreter program
# that will be created (if this all works!)
#PROGRAMMING_MODE = PARALLEL, SEQUENTIAL, PARALLEL_INTERPRETERS
PROGRAMMING_MODE = PARALLEL
OpenSees_PROGRAM = $(HOME)/bin/OpenSees
ifeq ($(PROGRAMMING_MODE), PARALLEL)
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesSP
endif
ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS)
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesMP
endif
# %---------------------------------%
# | SECTION 2: MAKEFILE CONSTANTS |
# %---------------------------------%
#
# Specify the constants the are used as control structure variables in the Makefiles.
OPERATING_SYSTEM = LINUX
#DEBUG_MODE = DEBUG, NO_DEBUG
DEBUG_MODE = NO_DEBUG
RELIABILITY = NO_RELIABILITY
GRAPHICS = NONE
# %---------------------------------%
# | SECTION 3: 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 =
# PUT YOUR HOME DIRECTOREY HERE
HOME = /home/hisham
FE = $(HOME)/OpenSees/SRC
BLASdir = $(HOME)/OpenSees/OTHER/BLAS
CBLASdir = $(HOME)/OpenSees/OTHER/CBLAS
LAPACKdir = $(HOME)/OpenSees/OTHER/LAPACK
ARPACKdir = $(HOME)/OpenSees/OTHER/ARPACK
UMFPACKdir = $(HOME)/OpenSees/OTHER/UMFPACK
METISdir = $(HOME)/OpenSees/OTHER/METIS
SRCdir = $(HOME)/OpenSees/SRC
SUPERLUdir = $(HOME)/OpenSees/OTHER/SuperLU_3.0/SRC
SUPERLU_DISTdir = $(HOME)/OpenSees/OTHER/SuperLU_DIST_2.0/SRC
DIRS = $(BLASdir) \
$(CBLASdir) \
$(SUPERLUdir) \
$(SUPERLU_DISTdir) \
$(LAPACKdir) \
$(ARPACKdir) \
$(UMFPACKdir) \
$(METISdir) \
$(SRCdir)
DISTRIBUTED_SUPERLU_LIBRARY = $(HOME)/lib/libDistributedSuperLU.a
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
DIRS = $(BLASdir) \
$(CBLASdir) \
$(SUPERLUdir) \
$(LAPACKdir) \
$(ARPACKdir) \
$(UMFPACKdir) \
$(METISdir) \
$(SRCdir)
DISTRIBUTED_SUPERLU_LIBRARY =
endif
# %-------------------------------------------------------%
# | SECTION 4: 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: if vendor supplied BLAS and LAPACK libraries leave the
# libraries blank. You have to get your own copy of the tcl/tk
# library!!
#
# Note: 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 jeremic@ucdavis.edu
MATMOD_LIBRARY = $(HOME)/lib/libmatmod.a # BJ_UCD jeremic@ucdavis.edu
BJMISC_LIBRARY = $(HOME)/lib/libBJmisc.a # BJ_UCD jeremic@ucdavis.edu
LAPACK_LIBRARY = $(HOME)/lib/libLapack.a
BLAS_LIBRARY = $(HOME)/lib/libBlas.a
SUPERLU_LIBRARY = $(HOME)/lib/libSuperLU.a
CBLAS_LIBRARY = $(HOME)/lib/libCBlas.a
ARPACK_LIBRARY = $(HOME)/lib/libArpack.a
UMFPACK_LIBRARY = $(HOME)/lib/libUmfpack.a
METIS_LIBRARY = $(HOME)/lib/libMetis.a
TCL_LIBRARY = /usr/lib/libtcl8.5.a
GRAPHIC_LIBRARY =
#RELIABILITY_LIBRARY = $(HOME)/lib/libReliability.a
RELIABILITY_LIBRARY =
# WATCH OUT .. These libraries are removed when 'make wipe' is invoked.
WIPE_LIBS = $(FE_LIBRARY) \
$(NDARRAY_LIBRARY) \
$(MATMOD_LIBRARY) \
$(SUPERLU_LIBRARY) \
$(ARPACK_LIBRARY) \
$(UMFPACK_LIBRARY) \
$(METIS_LIBRARY) \
$(LAPACK_LIBRARY) \
$(BLAS_LIBRARY) \
$(CBLAS_LIBRARY) \
$(RELIABILITY_LIBRARY)
# %---------------------------------------------------------%
# | SECTION 5: COMPILERS |
# | |
# | The following macros specify compilers, linker/loaders, |
# | the archiver, and their options. You need to make sure |
# | these are correct for your system. |
# %---------------------------------------------------------%
# ###################################################
# # Compilers
# ###################################################
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
CC++ = icpc
CC = icc
FC = ifort
F90 = ifort
LINKER = $(CC++)
else
CC++ = /usr/bin/g++
CC = /usr/bin/gcc
FC = /usr/bin/gfortran
FORTRAN = /usr/bin/gfortran
F90 = ifort
LINKER = $(CC++)
#LINKER = /usr/local/mpi/bin/mpicxx
#CC++ = mpiCC
#CC = mpicc
#FC = mpif90
#F90 = mpif90
#FORTRAN = $(FC)
#LINKER = $(CC++)
endif
AR = ar
ARCH = ar
ARFLAGS = -q
#ARCHFLAGS = cqls
ARCHFLAGS = -v -q
RANLIB = ranlib
RANLIBFLAGS =
GRAPHIC_FLAG = -D_NOGRAPHICS
PROGRAMMING_FLAG =
ifeq ($(PROGRAMMING_MODE), PARALLEL)
PROGRAMMING_FLAG = -D_PARALLEL_PROCESSING
endif
ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS)
PROGRAMMING_FLAG = -D_PARALLEL_INTERPRETERS
endif
#RELIABILITY_FLAG = -D_RELIABILITY
RELIABILITY_FLAG =
#DEBUG_FLAG = -D_G3DEBUG
DEBUG_FLAG =
#MUMPS_FLAG =
PETSC_FLAG =
OPT_FLAG = -O2
COMP_FLAG =
C++FLAGS = -D_LINUX -D_UNIX $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(OPT_FLAG) $(COMP_FLAG)\
$(PROGRAMMING_FLAG) $(PETSC_FLAG) $(MUMPS_FLAG) \
-D_TCL85 -D_BLAS -D_NETINET_PROBLEMS_INTEL
CFLAGS = $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG)$(PROGRAMMING_FLAG) $(OPT_FLAG) $(COMP_FLAG) -D_TCL85 -D_BLAS
FFLAGS = -qextname $(OPT_FLAG) $(COMP_FLAG)
LINKFLAGS =
# Misc
MAKE = make
CD = cd
ECHO = echo
RM = rm
RMFLAGS = -f
SHELL = /bin/sh
# %---------------------------------------------------------%
# | SECTION 6: 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 command. |
# %------------------%
#
.DEFAULT:
@$(ECHO) "Unknown target $@, try: make help"
#
# %-----------------------------------------------%
# | Command to build .o files from source files. |
# %-----------------------------------------------%
#
.cpp.o:
@$(ECHO) Making $@ from $< $@ with $(CC++) $(C++FLAGS) $(INCLUDES) -c $<
@$(CC++) $(C++FLAGS) $(INCLUDES) -c $<
.C.o:
@$(ECHO) Making $@ from $<
$(CC++) $(C++FLAGS) $(INCLUDES) -c $<
.c.o:
@$(ECHO) Making $@ from $<
$(CC) $(CFLAGS) -c $<
.f.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $<
.f77.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $<
.f90.o:
@$(ECHO) Making $@ from $<
$(FC90) $(FFLAGS) -c $<
# %---------------------------------------------------------%
# | SECTION 7: 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!! |
# %---------------------------------------------------------%
MACHINE_LINKLIBS = -L$(BASE)/lib \
-L$(HOME)/lib
# PETSC
HAVEPETSC = NO
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
HAVEPETSC = NO
endif
ifeq ($(HAVEPETSC), YES)
PETSC = YES
PETSC_FLAG = -D_PETSC
PETSC_DIR = /usr
PETSC_ARCH = linux-gnu
BOPT = O
PETSC_INC = -I$(PETSC_DIR)/include/petsc -I$(PETSC_DIR)/include/petsc/finclude -D_PETSC
PETSC_LIB = -L$(PETSC_DIR)/lib \
$(FE)/system_of_eqn/linearSOE/petsc/PetscSOE.o \
$(FE)/system_of_eqn/linearSOE/petsc/PetscSolver.o \
$(FE)/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o \
-lpetscsnes -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc \
-L/usr/X11/lib -lX11 -lGL
endif
MPICC = mpicc
MPIINC = -I/usr/include/openmpi
MPILIB = -L/usr/include/openmpi -lmpich
HAVEMUMPS = YES
MUMPS_INCLUDE =
MUMPS_LIB =
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
HAVEMUMPS = NO
endif
ifeq ($(HAVEMUMPS), YES)
MUMPS = YES
MUMPS_FLAG = -D_MUMPS -D_OPENMPI
#MUMPS_DIR = /gpfs/fmk/MUMPS_4.6.4
MUMPS_DIR = /usr
BLACSdir = /usr
#BLACSDBGLVL = 0
BLACSFINIT = $(BLACSdir)/lib/libblacsF77init-openmpi.a
BLACSCINIT = $(BLACSdir)/lib/libblacsCinit-openmpi.a
BLACSLIB = $(BLACSdir)/lib/libblacs-openmpi.a
CBLACSLIB = $(BLACSLIB) $(BLACSCINIT)
FBLACSLIB = $(BLACSLIB) $(BLACSFINIT)
BLACSlib = $(CBLACSLIB)
SCALAPdir = /usr
SCALAPlib = $(SCALAPdir)/lib/libscalapack-openmpi.a
SCALAP = $(BLACSlib) $(SCALAPlib) $(BLACSlib)
MUMPS_LIB = -L$(MUMPS_DIR)/lib \
-ldmumps$(PLAT) \
-lpord$(PLAT) \
$(SCALAP) \
$(FE)/system_of_eqn/linearSOE/mumps/MumpsSOE.o \
$(FE)/system_of_eqn/linearSOE/mumps/MumpsSolver.o \
$(FE)/system_of_eqn/linearSOE/mumps/MumpsParallelSOE.o \
$(FE)/system_of_eqn/linearSOE/mumps/MumpsParallelSolver.o
MUMPS_INCLUDE = -I$(MUMPS_DIR)/include
endif
PARALLEL_LIB = $(FE)/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o \
$(FE)/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o \
$(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \
$(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
PARALLEL_LIB =
endif
HPM_LIB = -L/usr -l/usr/libhpmud.so \
-lhpmud -lhpm_r -lpmapi -lm
MACHINE_NUMERICAL_LIBS = -lm \
$(ARPACK_LIBRARY) \
$(SUPERLU_LIBRARY) \
$(UMFPACK_LIBRARY) \
$(GRAPHIC_LIBRARY)\
$(RELIABILITY_LIBRARY) \
$(DISTRIBUTED_SUPERLU_LIBRARY) \
$(METIS_LIBRARY) $(PARALLEL_LIB) $(PETSC_LIB) $(MUMPS_LIB)
MACHINE_SPECIFIC_LIBS = -L${MKL_HOME}/lib/64 -lmkl_lapack -lmkl_ipf -lguide -lpthread $(MPILIB)\
#/usr/local/apps/intel/compiler8/lib/libifcoremt.a
# %---------------------------------------------------------%
# | SECTION 8: INCLUDE FILES |
# | |
# | The following macros specify include files needed for |
# | compilation. |
# %---------------------------------------------------------%
MACHINE_INCLUDES = $(MPIINC) -I/usr/local/BerkeleyDB.4.0/include \
-I/usr/include/mysql \
-I$(HOME)/include \
-I$(UMFPACKdir) \
-I$(SUPERLUdir) \
-I$(SUPERLU_DISTdir) \
$(PETSC_INC) $(MUMPS_INCLUDE)
# this file contains all the OpenSees/SRC includes
include $(FE)/Makefile.incl
#TCL_INCLUDES = -I/home/fmk/tcl8.3.3/generic
TCL_INCLUDES = -I/usr/include/tcl8.5 -I/usr/include/
INCLUDES = $(MACHINE_INCLUDES) $(TCL_INCLUDES) $(FE_INCLUDES)
############################################################################
#
# Program: OpenSees
#
# Purpose: A Top-level Makefile to create the libraries needed
# to use the OpenSees framework.
#
# version for parallelized PC (linux ubuntu 10.04)
# installed packages:
# mpi-default-dev (0.6, currently openmpi)
# petsc-dev (3.0.0)
# libmumps-4.9.2 (linear solver, includes scalapack)
# libblacs-mpi1 1.1-28.2buildl
# libblacs-mpi-dev 1.1-28.2buildl
# libhpmud0 3.10.2-2ubuntu2.2 (HP Multi-Point Transport Driver (hpmud) run-time libraries)
# libmumps-dev
# Written: fmk
# Created: 01/2003
# NOTES: you have to go into SRC/actor/channel and call make by hand on some
# classes.
# You have to do things by hand in SRC/system_of_eqn/liearSOE/mumps
#
#
############################################################################
# %---------------------------------%
# | SECTION 1: PROGRAM |
# %---------------------------------%
#
# Specify the location and name of the OpenSees interpreter program
# that will be created (if this all works!)
#PROGRAMMING_MODE = PARALLEL, SEQUENTIAL, PARALLEL_INTERPRETERS
PROGRAMMING_MODE = PARALLEL
OpenSees_PROGRAM = $(HOME)/bin/OpenSees
ifeq ($(PROGRAMMING_MODE), PARALLEL)
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesSP
endif
ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS)
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesMP
endif
# %---------------------------------%
# | SECTION 2: MAKEFILE CONSTANTS |
# %---------------------------------%
#
# Specify the constants the are used as control structure variables in the Makefiles.
OPERATING_SYSTEM = LINUX
#DEBUG_MODE = DEBUG, NO_DEBUG
DEBUG_MODE = NO_DEBUG
RELIABILITY = NO_RELIABILITY
GRAPHICS = NONE
# %---------------------------------%
# | SECTION 3: 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 =
# PUT YOUR HOME DIRECTOREY HERE
HOME = /home/hisham
FE = $(HOME)/OpenSees/SRC
BLASdir = $(HOME)/OpenSees/OTHER/BLAS
CBLASdir = $(HOME)/OpenSees/OTHER/CBLAS
LAPACKdir = $(HOME)/OpenSees/OTHER/LAPACK
ARPACKdir = $(HOME)/OpenSees/OTHER/ARPACK
UMFPACKdir = $(HOME)/OpenSees/OTHER/UMFPACK
METISdir = $(HOME)/OpenSees/OTHER/METIS
SRCdir = $(HOME)/OpenSees/SRC
SUPERLUdir = $(HOME)/OpenSees/OTHER/SuperLU_3.0/SRC
SUPERLU_DISTdir = $(HOME)/OpenSees/OTHER/SuperLU_DIST_2.0/SRC
DIRS = $(BLASdir) \
$(CBLASdir) \
$(SUPERLUdir) \
$(SUPERLU_DISTdir) \
$(LAPACKdir) \
$(ARPACKdir) \
$(UMFPACKdir) \
$(METISdir) \
$(SRCdir)
DISTRIBUTED_SUPERLU_LIBRARY = $(HOME)/lib/libDistributedSuperLU.a
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
DIRS = $(BLASdir) \
$(CBLASdir) \
$(SUPERLUdir) \
$(LAPACKdir) \
$(ARPACKdir) \
$(UMFPACKdir) \
$(METISdir) \
$(SRCdir)
DISTRIBUTED_SUPERLU_LIBRARY =
endif
# %-------------------------------------------------------%
# | SECTION 4: 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: if vendor supplied BLAS and LAPACK libraries leave the
# libraries blank. You have to get your own copy of the tcl/tk
# library!!
#
# Note: 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 jeremic@ucdavis.edu
MATMOD_LIBRARY = $(HOME)/lib/libmatmod.a # BJ_UCD jeremic@ucdavis.edu
BJMISC_LIBRARY = $(HOME)/lib/libBJmisc.a # BJ_UCD jeremic@ucdavis.edu
LAPACK_LIBRARY = $(HOME)/lib/libLapack.a
BLAS_LIBRARY = $(HOME)/lib/libBlas.a
SUPERLU_LIBRARY = $(HOME)/lib/libSuperLU.a
CBLAS_LIBRARY = $(HOME)/lib/libCBlas.a
ARPACK_LIBRARY = $(HOME)/lib/libArpack.a
UMFPACK_LIBRARY = $(HOME)/lib/libUmfpack.a
METIS_LIBRARY = $(HOME)/lib/libMetis.a
TCL_LIBRARY = /usr/lib/libtcl8.5.a
GRAPHIC_LIBRARY =
#RELIABILITY_LIBRARY = $(HOME)/lib/libReliability.a
RELIABILITY_LIBRARY =
# WATCH OUT .. These libraries are removed when 'make wipe' is invoked.
WIPE_LIBS = $(FE_LIBRARY) \
$(NDARRAY_LIBRARY) \
$(MATMOD_LIBRARY) \
$(SUPERLU_LIBRARY) \
$(ARPACK_LIBRARY) \
$(UMFPACK_LIBRARY) \
$(METIS_LIBRARY) \
$(LAPACK_LIBRARY) \
$(BLAS_LIBRARY) \
$(CBLAS_LIBRARY) \
$(RELIABILITY_LIBRARY)
# %---------------------------------------------------------%
# | SECTION 5: COMPILERS |
# | |
# | The following macros specify compilers, linker/loaders, |
# | the archiver, and their options. You need to make sure |
# | these are correct for your system. |
# %---------------------------------------------------------%
# ###################################################
# # Compilers
# ###################################################
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
CC++ = icpc
CC = icc
FC = ifort
F90 = ifort
LINKER = $(CC++)
else
CC++ = /usr/bin/g++
CC = /usr/bin/gcc
FC = /usr/bin/gfortran
FORTRAN = /usr/bin/gfortran
F90 = ifort
LINKER = $(CC++)
#LINKER = /usr/local/mpi/bin/mpicxx
#CC++ = mpiCC
#CC = mpicc
#FC = mpif90
#F90 = mpif90
#FORTRAN = $(FC)
#LINKER = $(CC++)
endif
AR = ar
ARCH = ar
ARFLAGS = -q
#ARCHFLAGS = cqls
ARCHFLAGS = -v -q
RANLIB = ranlib
RANLIBFLAGS =
GRAPHIC_FLAG = -D_NOGRAPHICS
PROGRAMMING_FLAG =
ifeq ($(PROGRAMMING_MODE), PARALLEL)
PROGRAMMING_FLAG = -D_PARALLEL_PROCESSING
endif
ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS)
PROGRAMMING_FLAG = -D_PARALLEL_INTERPRETERS
endif
#RELIABILITY_FLAG = -D_RELIABILITY
RELIABILITY_FLAG =
#DEBUG_FLAG = -D_G3DEBUG
DEBUG_FLAG =
#MUMPS_FLAG =
PETSC_FLAG =
OPT_FLAG = -O2
COMP_FLAG =
C++FLAGS = -D_LINUX -D_UNIX $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(OPT_FLAG) $(COMP_FLAG)\
$(PROGRAMMING_FLAG) $(PETSC_FLAG) $(MUMPS_FLAG) \
-D_TCL85 -D_BLAS -D_NETINET_PROBLEMS_INTEL
CFLAGS = $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG)$(PROGRAMMING_FLAG) $(OPT_FLAG) $(COMP_FLAG) -D_TCL85 -D_BLAS
FFLAGS = -qextname $(OPT_FLAG) $(COMP_FLAG)
LINKFLAGS =
# Misc
MAKE = make
CD = cd
ECHO = echo
RM = rm
RMFLAGS = -f
SHELL = /bin/sh
# %---------------------------------------------------------%
# | SECTION 6: 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 command. |
# %------------------%
#
.DEFAULT:
@$(ECHO) "Unknown target $@, try: make help"
#
# %-----------------------------------------------%
# | Command to build .o files from source files. |
# %-----------------------------------------------%
#
.cpp.o:
@$(ECHO) Making $@ from $< $@ with $(CC++) $(C++FLAGS) $(INCLUDES) -c $<
@$(CC++) $(C++FLAGS) $(INCLUDES) -c $<
.C.o:
@$(ECHO) Making $@ from $<
$(CC++) $(C++FLAGS) $(INCLUDES) -c $<
.c.o:
@$(ECHO) Making $@ from $<
$(CC) $(CFLAGS) -c $<
.f.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $<
.f77.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $<
.f90.o:
@$(ECHO) Making $@ from $<
$(FC90) $(FFLAGS) -c $<
# %---------------------------------------------------------%
# | SECTION 7: 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!! |
# %---------------------------------------------------------%
MACHINE_LINKLIBS = -L$(BASE)/lib \
-L$(HOME)/lib
# PETSC
HAVEPETSC = NO
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
HAVEPETSC = NO
endif
ifeq ($(HAVEPETSC), YES)
PETSC = YES
PETSC_FLAG = -D_PETSC
PETSC_DIR = /usr
PETSC_ARCH = linux-gnu
BOPT = O
PETSC_INC = -I$(PETSC_DIR)/include/petsc -I$(PETSC_DIR)/include/petsc/finclude -D_PETSC
PETSC_LIB = -L$(PETSC_DIR)/lib \
$(FE)/system_of_eqn/linearSOE/petsc/PetscSOE.o \
$(FE)/system_of_eqn/linearSOE/petsc/PetscSolver.o \
$(FE)/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o \
-lpetscsnes -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc \
-L/usr/X11/lib -lX11 -lGL
endif
MPICC = mpicc
MPIINC = -I/usr/include/openmpi
MPILIB = -L/usr/include/openmpi -lmpich
HAVEMUMPS = YES
MUMPS_INCLUDE =
MUMPS_LIB =
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
HAVEMUMPS = NO
endif
ifeq ($(HAVEMUMPS), YES)
MUMPS = YES
MUMPS_FLAG = -D_MUMPS -D_OPENMPI
#MUMPS_DIR = /gpfs/fmk/MUMPS_4.6.4
MUMPS_DIR = /usr
BLACSdir = /usr
#BLACSDBGLVL = 0
BLACSFINIT = $(BLACSdir)/lib/libblacsF77init-openmpi.a
BLACSCINIT = $(BLACSdir)/lib/libblacsCinit-openmpi.a
BLACSLIB = $(BLACSdir)/lib/libblacs-openmpi.a
CBLACSLIB = $(BLACSLIB) $(BLACSCINIT)
FBLACSLIB = $(BLACSLIB) $(BLACSFINIT)
BLACSlib = $(CBLACSLIB)
SCALAPdir = /usr
SCALAPlib = $(SCALAPdir)/lib/libscalapack-openmpi.a
SCALAP = $(BLACSlib) $(SCALAPlib) $(BLACSlib)
MUMPS_LIB = -L$(MUMPS_DIR)/lib \
-ldmumps$(PLAT) \
-lpord$(PLAT) \
$(SCALAP) \
$(FE)/system_of_eqn/linearSOE/mumps/MumpsSOE.o \
$(FE)/system_of_eqn/linearSOE/mumps/MumpsSolver.o \
$(FE)/system_of_eqn/linearSOE/mumps/MumpsParallelSOE.o \
$(FE)/system_of_eqn/linearSOE/mumps/MumpsParallelSolver.o
MUMPS_INCLUDE = -I$(MUMPS_DIR)/include
endif
PARALLEL_LIB = $(FE)/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o \
$(FE)/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o \
$(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \
$(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o
ifeq ($(PROGRAMMING_MODE), SEQUENTIAL)
PARALLEL_LIB =
endif
HPM_LIB = -L/usr -l/usr/libhpmud.so \
-lhpmud -lhpm_r -lpmapi -lm
MACHINE_NUMERICAL_LIBS = -lm \
$(ARPACK_LIBRARY) \
$(SUPERLU_LIBRARY) \
$(UMFPACK_LIBRARY) \
$(GRAPHIC_LIBRARY)\
$(RELIABILITY_LIBRARY) \
$(DISTRIBUTED_SUPERLU_LIBRARY) \
$(METIS_LIBRARY) $(PARALLEL_LIB) $(PETSC_LIB) $(MUMPS_LIB)
MACHINE_SPECIFIC_LIBS = -L${MKL_HOME}/lib/64 -lmkl_lapack -lmkl_ipf -lguide -lpthread $(MPILIB)\
#/usr/local/apps/intel/compiler8/lib/libifcoremt.a
# %---------------------------------------------------------%
# | SECTION 8: INCLUDE FILES |
# | |
# | The following macros specify include files needed for |
# | compilation. |
# %---------------------------------------------------------%
MACHINE_INCLUDES = $(MPIINC) -I/usr/local/BerkeleyDB.4.0/include \
-I/usr/include/mysql \
-I$(HOME)/include \
-I$(UMFPACKdir) \
-I$(SUPERLUdir) \
-I$(SUPERLU_DISTdir) \
$(PETSC_INC) $(MUMPS_INCLUDE)
# this file contains all the OpenSees/SRC includes
include $(FE)/Makefile.incl
#TCL_INCLUDES = -I/home/fmk/tcl8.3.3/generic
TCL_INCLUDES = -I/usr/include/tcl8.5 -I/usr/include/
INCLUDES = $(MACHINE_INCLUDES) $(TCL_INCLUDES) $(FE_INCLUDES)
Hisham El Safti