Issues with building OpenSeesMP with petsc support.
Moderators: silvia, selimgunay, Moderators
Issues with building OpenSeesMP with petsc support.
I am trying to build OpenSeesMP with petsc support. I am running into this problem when doing so. Any help on this is appreciated.
PetscSOE.cpp:251: error: invalid conversion from 'int' to '_p_Mat**'
/apps/packages/petsc-2.3.3-p15/include/petscmat.h:106: error: too many arguments to function 'PetscErrorCode MatCreate(ompi_communicator_t*, _p_Mat**)'
PetscSOE.cpp:251: error: at this point in file
make[4]: *** [PetscSOE.o] Error 1
make[4]: Leaving directory `/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC'
PetscSOE.cpp:251: error: invalid conversion from 'int' to '_p_Mat**'
/apps/packages/petsc-2.3.3-p15/include/petscmat.h:106: error: too many arguments to function 'PetscErrorCode MatCreate(ompi_communicator_t*, _p_Mat**)'
PetscSOE.cpp:251: error: at this point in file
make[4]: *** [PetscSOE.o] Error 1
make[4]: Leaving directory `/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC'
Makefile.def
Makefile.def
############################################################################
#
# Program: OpenSees
#
# Purpose: A Top-level Makefile to create the libraries needed
# to use the OpenSees framework.
#
# version created for Redhat 8.0 LINUX distribution
#
# Written: fmk
# Created: 01/2003
#
#
############################################################################
# %---------------------------------%
# | SECTION 1: PROGRAM |
# %---------------------------------%
#
# Specify the location and name of the OpenSees interpreter program
# that will be created (if this all works
HOME = $(HOME)/ARC/OpenSees
OpenSees_PROGRAM = $(HOME)/bin/OpenSees
OpenSees_PROGRAM_MPI = $(HOME)/bin/OpenSeesMPI
# %---------------------------------%
# | SECTION 2: MAKEFILE CONSTANTS |
# %---------------------------------%
#
# Specify the constants the are used as control structure variables in the Makefiles.
OPERATING_SYSTEM = LINUX
PROGRAMMING_MODE = PARALLEL_INTERPRETERS
RELIABILITY = NO_RELIABILITY
GRAPHICS = NONE
DEBUG_MODE = NO_DEBUG
#PROGRAMMING_MODE = PARALLEL, SEQUENTIAL
#GRAPHICS = NONE, UsingOpenGL
#RELIABILITY = YES_RELIABILITY, NO_RELIABILITY
#DEBUG_MODE = DEBUG, NO_DEBUG
# %---------------------------------%
# | 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/bramesh/ARC/Ozgur_Atlayan
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) \
$(LAPACKdir) \
$(ARPACKdir) \
$(UMFPACKdir) \
$(METISdir) \
$(SUPERLU_DISTdir) \
$(SRCdir)
# %-------------------------------------------------------%
# | 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
DISTRIBUTED_SUPERLU_LIBRARY = $(HOME)/lib/libDistributedSuperLU.a
TCL_LIBRARY = /usr/lib/libtk8.4.so /usr/lib/libtcl8.4.so
#TCL_LIBRARY = /home/bramesh/ARC/tcl_tk/libtk8.5.so /home/bramesh/ARC/tcl_tk/libtcl8.5.so
ifeq ($(RELIABILITY), YES_RELIABILITY)
RELIABILITY_LIBRARY = $(HOME)/lib/libReliability.a
else
RELIABILITY_LIBRARY =
endif
# WATCH OUT .. These libraries are removed when 'make wipe' is invoked.
WIPE_LIBS = $(FE_LIBRARY) \
$(NDARRAY_LIBRARY) \
$(MATMOD_LIBRARY) \
$(DISTRIBUTED_SUPERLU_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
# ###################################################
CC++ = /local/bin/g++
CC = /local/bin/gcc
FC = /local/bin/gfortran
FORTRAN = /local/bin/gfortran
F90 =
LINKER = /apps/packages/openmpi-1.3.2-32/bin/mpicxx
AR = ar
ARFLAGS = cqls
ARCH = ar
ARCHFLAGS = cqls
RANLIB = ranlib
RANLIBFLAGS =
PROGRAMMING_FLAG =
ifeq ($(PROGRAMMING_MODE), PARALLEL)
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesSP
PROGRAMMING_FLAG = -D_PARALLEL_PROCESSING
endif
ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS)
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesMP
PROGRAMMING_FLAG = -D_PARALLEL_INTERPRETERS
endif
ifeq ($(GRAPHICS), UsinOpenGl)
GRAPHIC_FLAG = -D_GLX
GRAPHIC_LIBRARY = -L/usr/X11/R6/lib -lGL -lGLU
else
GRAPHIC_FLAG = -D_NOGRAPHICS
GRAPHIC_LIBRARY =
endif
ifeq ($(RELIABILITY), YES_RELIABILITY)
RELIABILITY_FLAG = -D_RELIABILITY
else
RELIABILITY_FLAG =
endif
ifeq ($(DEBUG_MODE), DEBUG)
DEBUG_FLAG = -D_G3DEBUG
else
DEBUG_FLAG =
endif
ifeq ($(DEBUG_MODE), DEBUG)
C++FLAGS = -Wall -g -pg -D_LINUX -D_UNIX $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -D_TCL84
#C++FLAGS = -Wall -g -pg -D_LINUX -D_UNIX $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -D_TCL85
CFLAGS = -Wall -g -pg $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG)
FFLAGS = -Wall
LINKFLAGS = -rdynamic -g -pg
else
C++FLAGS = -Wall -O2 -D_LINUX -D_UNIX -D_TCL84 -Wall $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -ffloat-store
#C++FLAGS = -Wall -O2 -D_LINUX -D_UNIX -D_TCL85 -Wall $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -ffloat-store
CFLAGS = -Wall $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(PROGRAMMING_FLAG)
FFLAGS = -Wall
LINKFLAGS = -rdynamic
endif
# 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 $<
$(CC++) $(C++FLAGS) $(INCLUDES) -c $< -o $@
.C.o:
@$(ECHO) Making $@ from $<
$(CC++) $(C++FLAGS) $(INCLUDES) -c $< -o $@
.c.o:
@$(ECHO) Making $@ from $<
$(CC) $(CFLAGS) -c $<
.f.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $< -o $@
.f77.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $< -o $@
.f90.o:
@$(ECHO) Making $@ from $<
$(FC90) $(FFLAGS) -c $< -o $@
# %---------------------------------------------------------%
# | 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 \
MACHINE_NUMERICAL_LIBS = -lm \
$(ARPACK_LIBRARY) \
$(DISTRIBUTED_SUPERLU_LIBRARY) \
$(SUPERLU_LIBRARY) \
$(UMFPACK_LIBRARY) \
$(LAPACK_LIBRARY) \
$(BLAS_LIBRARY) \
$(CBLAS_LIBRARY) \
$(GRAPHIC_LIBRARY)\
$(METIS_LIBRARY)\
$(RELIABILITY_LIBRARY)\
$(PETSC_LIB)\
-lgfortran -ldl
# -lg2c -ldl
MPICC = mpicc
MPIINC = -I/apps/packages/openmpi-1.3.2-32/include
MPILIB = -L/apps/packages/openmpi-1.3.2-32/lib -lmpi
PARALLEL_LIB = $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o \
$(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \
$(DISTRIBUTED_SUPERLU_LIBRARY)
PETSC = YES
PETSCINC = -I/apps/packages/petsc-2.3.3-p15/include -I/apps/packages/petsc-2.3.3-p15/bmake/linux-gnu-c-debug -D_PETSC -DPETSC_USE_BOPT_g -DPETSC_USE_EXTERN_CXX
PETSC_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 \
$(HOME)/OpenSees/OTHER/LAPACK/dgebak.o \
$(HOME)/OpenSees/OTHER/LAPACK/dgebal.o \
$(HOME)/OpenSees/OTHER/LAPACK/dgeev.o \
$(HOME)/OpenSees/OTHER/LAPACK/dgehd2.o \
$(HOME)/OpenSees/OTHER/LAPACK/dgehrd.o \
$(HOME)/OpenSees/OTHER/LAPACK/dhseqr.o \
$(HOME)/OpenSees/OTHER/LAPACK/dlahrd.o \
$(HOME)/OpenSees/OTHER/LAPACK/dorg2r.o \
$(HOME)/OpenSees/OTHER/LAPACK/dorghr.o \
$(HOME)/OpenSees/OTHER/LAPACK/dorgqr.o \
$(HOME)/OpenSees/OTHER/LAPACK/dpotrf.o \
$(HOME)/OpenSees/OTHER/LAPACK/dpotrs.o \
/apps/packages/petsc-2.3.3-p15/lib/linux-gnu-c-debug/libpetscsnes.a \
/apps/packages/petsc-2.3.3-p15/lib/linux-gnu-c-debug/libpetscksp.a \
/apps/packages/petsc-2.3.3-p15/lib/linux-gnu-c-debug/libpetscdm.a \
/apps/packages/petsc-2.3.3-p15/lib/linux-gnu-c-debug/libpetscmat.a \
/apps/packages/petsc-2.3.3-p15/lib/linux-gnu-c-debug/libpetscvec.a \
/apps/packages/petsc-2.3.3-p15/lib/linux-gnu-c-debug/libpetsc.a
## -L/apps/packages/petsc-2.3.3-p15/lib/linux-gnu-c-debug
## -lpetscsnes -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc
ifeq ($(PROGRAMMING_MODE), THREADS)
MACHINE_SPECIFIC_LIBS = -lpthread
else
#MACHINE_SPECIFIC_LIBS = -ldl -lieee -lm -lc -lg2c -Wl,-rpath,/usr/lib -lpng $(MPILIB)
MACHINE_SPECIFIC_LIBS = -ldl -lieee -lm -lc -lgfortran -Wl,-rpath,/local/lib -lpng $(MPILIB)
endif
# %---------------------------------------------------------%
# | 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) $(PETSCINC)
# this file contains all the OpenSees/SRC includes
include $(FE)/Makefile.incl
#TCL_INCLUDES = -I/home/fmk/tcl8.3.3/generic
#TCL_INCLUDES = -I/home/bramesh/ARC/packages/tcl8.5.7/generic
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 created for Redhat 8.0 LINUX distribution
#
# Written: fmk
# Created: 01/2003
#
#
############################################################################
# %---------------------------------%
# | SECTION 1: PROGRAM |
# %---------------------------------%
#
# Specify the location and name of the OpenSees interpreter program
# that will be created (if this all works
HOME = $(HOME)/ARC/OpenSees
OpenSees_PROGRAM = $(HOME)/bin/OpenSees
OpenSees_PROGRAM_MPI = $(HOME)/bin/OpenSeesMPI
# %---------------------------------%
# | SECTION 2: MAKEFILE CONSTANTS |
# %---------------------------------%
#
# Specify the constants the are used as control structure variables in the Makefiles.
OPERATING_SYSTEM = LINUX
PROGRAMMING_MODE = PARALLEL_INTERPRETERS
RELIABILITY = NO_RELIABILITY
GRAPHICS = NONE
DEBUG_MODE = NO_DEBUG
#PROGRAMMING_MODE = PARALLEL, SEQUENTIAL
#GRAPHICS = NONE, UsingOpenGL
#RELIABILITY = YES_RELIABILITY, NO_RELIABILITY
#DEBUG_MODE = DEBUG, NO_DEBUG
# %---------------------------------%
# | 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/bramesh/ARC/Ozgur_Atlayan
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) \
$(LAPACKdir) \
$(ARPACKdir) \
$(UMFPACKdir) \
$(METISdir) \
$(SUPERLU_DISTdir) \
$(SRCdir)
# %-------------------------------------------------------%
# | 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
DISTRIBUTED_SUPERLU_LIBRARY = $(HOME)/lib/libDistributedSuperLU.a
TCL_LIBRARY = /usr/lib/libtk8.4.so /usr/lib/libtcl8.4.so
#TCL_LIBRARY = /home/bramesh/ARC/tcl_tk/libtk8.5.so /home/bramesh/ARC/tcl_tk/libtcl8.5.so
ifeq ($(RELIABILITY), YES_RELIABILITY)
RELIABILITY_LIBRARY = $(HOME)/lib/libReliability.a
else
RELIABILITY_LIBRARY =
endif
# WATCH OUT .. These libraries are removed when 'make wipe' is invoked.
WIPE_LIBS = $(FE_LIBRARY) \
$(NDARRAY_LIBRARY) \
$(MATMOD_LIBRARY) \
$(DISTRIBUTED_SUPERLU_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
# ###################################################
CC++ = /local/bin/g++
CC = /local/bin/gcc
FC = /local/bin/gfortran
FORTRAN = /local/bin/gfortran
F90 =
LINKER = /apps/packages/openmpi-1.3.2-32/bin/mpicxx
AR = ar
ARFLAGS = cqls
ARCH = ar
ARCHFLAGS = cqls
RANLIB = ranlib
RANLIBFLAGS =
PROGRAMMING_FLAG =
ifeq ($(PROGRAMMING_MODE), PARALLEL)
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesSP
PROGRAMMING_FLAG = -D_PARALLEL_PROCESSING
endif
ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS)
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesMP
PROGRAMMING_FLAG = -D_PARALLEL_INTERPRETERS
endif
ifeq ($(GRAPHICS), UsinOpenGl)
GRAPHIC_FLAG = -D_GLX
GRAPHIC_LIBRARY = -L/usr/X11/R6/lib -lGL -lGLU
else
GRAPHIC_FLAG = -D_NOGRAPHICS
GRAPHIC_LIBRARY =
endif
ifeq ($(RELIABILITY), YES_RELIABILITY)
RELIABILITY_FLAG = -D_RELIABILITY
else
RELIABILITY_FLAG =
endif
ifeq ($(DEBUG_MODE), DEBUG)
DEBUG_FLAG = -D_G3DEBUG
else
DEBUG_FLAG =
endif
ifeq ($(DEBUG_MODE), DEBUG)
C++FLAGS = -Wall -g -pg -D_LINUX -D_UNIX $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -D_TCL84
#C++FLAGS = -Wall -g -pg -D_LINUX -D_UNIX $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -D_TCL85
CFLAGS = -Wall -g -pg $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG)
FFLAGS = -Wall
LINKFLAGS = -rdynamic -g -pg
else
C++FLAGS = -Wall -O2 -D_LINUX -D_UNIX -D_TCL84 -Wall $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -ffloat-store
#C++FLAGS = -Wall -O2 -D_LINUX -D_UNIX -D_TCL85 -Wall $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -ffloat-store
CFLAGS = -Wall $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(PROGRAMMING_FLAG)
FFLAGS = -Wall
LINKFLAGS = -rdynamic
endif
# 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 $<
$(CC++) $(C++FLAGS) $(INCLUDES) -c $< -o $@
.C.o:
@$(ECHO) Making $@ from $<
$(CC++) $(C++FLAGS) $(INCLUDES) -c $< -o $@
.c.o:
@$(ECHO) Making $@ from $<
$(CC) $(CFLAGS) -c $<
.f.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $< -o $@
.f77.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $< -o $@
.f90.o:
@$(ECHO) Making $@ from $<
$(FC90) $(FFLAGS) -c $< -o $@
# %---------------------------------------------------------%
# | 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 \
MACHINE_NUMERICAL_LIBS = -lm \
$(ARPACK_LIBRARY) \
$(DISTRIBUTED_SUPERLU_LIBRARY) \
$(SUPERLU_LIBRARY) \
$(UMFPACK_LIBRARY) \
$(LAPACK_LIBRARY) \
$(BLAS_LIBRARY) \
$(CBLAS_LIBRARY) \
$(GRAPHIC_LIBRARY)\
$(METIS_LIBRARY)\
$(RELIABILITY_LIBRARY)\
$(PETSC_LIB)\
-lgfortran -ldl
# -lg2c -ldl
MPICC = mpicc
MPIINC = -I/apps/packages/openmpi-1.3.2-32/include
MPILIB = -L/apps/packages/openmpi-1.3.2-32/lib -lmpi
PARALLEL_LIB = $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o \
$(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \
$(DISTRIBUTED_SUPERLU_LIBRARY)
PETSC = YES
PETSCINC = -I/apps/packages/petsc-2.3.3-p15/include -I/apps/packages/petsc-2.3.3-p15/bmake/linux-gnu-c-debug -D_PETSC -DPETSC_USE_BOPT_g -DPETSC_USE_EXTERN_CXX
PETSC_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 \
$(HOME)/OpenSees/OTHER/LAPACK/dgebak.o \
$(HOME)/OpenSees/OTHER/LAPACK/dgebal.o \
$(HOME)/OpenSees/OTHER/LAPACK/dgeev.o \
$(HOME)/OpenSees/OTHER/LAPACK/dgehd2.o \
$(HOME)/OpenSees/OTHER/LAPACK/dgehrd.o \
$(HOME)/OpenSees/OTHER/LAPACK/dhseqr.o \
$(HOME)/OpenSees/OTHER/LAPACK/dlahrd.o \
$(HOME)/OpenSees/OTHER/LAPACK/dorg2r.o \
$(HOME)/OpenSees/OTHER/LAPACK/dorghr.o \
$(HOME)/OpenSees/OTHER/LAPACK/dorgqr.o \
$(HOME)/OpenSees/OTHER/LAPACK/dpotrf.o \
$(HOME)/OpenSees/OTHER/LAPACK/dpotrs.o \
/apps/packages/petsc-2.3.3-p15/lib/linux-gnu-c-debug/libpetscsnes.a \
/apps/packages/petsc-2.3.3-p15/lib/linux-gnu-c-debug/libpetscksp.a \
/apps/packages/petsc-2.3.3-p15/lib/linux-gnu-c-debug/libpetscdm.a \
/apps/packages/petsc-2.3.3-p15/lib/linux-gnu-c-debug/libpetscmat.a \
/apps/packages/petsc-2.3.3-p15/lib/linux-gnu-c-debug/libpetscvec.a \
/apps/packages/petsc-2.3.3-p15/lib/linux-gnu-c-debug/libpetsc.a
## -L/apps/packages/petsc-2.3.3-p15/lib/linux-gnu-c-debug
## -lpetscsnes -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc
ifeq ($(PROGRAMMING_MODE), THREADS)
MACHINE_SPECIFIC_LIBS = -lpthread
else
#MACHINE_SPECIFIC_LIBS = -ldl -lieee -lm -lc -lg2c -Wl,-rpath,/usr/lib -lpng $(MPILIB)
MACHINE_SPECIFIC_LIBS = -ldl -lieee -lm -lc -lgfortran -Wl,-rpath,/local/lib -lpng $(MPILIB)
endif
# %---------------------------------------------------------%
# | 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) $(PETSCINC)
# this file contains all the OpenSees/SRC includes
include $(FE)/Makefile.incl
#TCL_INCLUDES = -I/home/fmk/tcl8.3.3/generic
#TCL_INCLUDES = -I/home/bramesh/ARC/packages/tcl8.5.7/generic
INCLUDES = $(MACHINE_INCLUDES) $(TCL_INCLUDES) $(FE_INCLUDES)
I am trying to use petsc-2.2.1 and I am getting the following error when linking.
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/tcl/commands.o: In function `opsRecv(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x1426): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x143e): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1442): undefined reference to `recv_ct'
commands.cpp:(.text+0x144e): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x1452): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x145a): undefined reference to `recv_ct'
commands.cpp:(.text+0x1462): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x1466): undefined reference to `recv_len'
commands.cpp:(.text+0x146a): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x149e): undefined reference to `recv_ct'
commands.cpp:(.text+0x14a6): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x14aa): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x14b2): undefined reference to `recv_len'
commands.cpp:(.text+0x14fa): undefined reference to `recv_len'
commands.cpp:(.text+0x152a): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x154e): undefined reference to `recv_ct'
commands.cpp:(.text+0x155a): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x1582): undefined reference to `recv_ct'
commands.cpp:(.text+0x158a): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x158e): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1596): undefined reference to `recv_len'
commands.cpp:(.text+0x15de): undefined reference to `recv_len'
commands.cpp:(.text+0x177a): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1792): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x179a): undefined reference to `recv_ct'
commands.cpp:(.text+0x17a6): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x17ae): undefined reference to `recv_ct'
commands.cpp:(.text+0x17b6): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x17ba): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x17be): undefined reference to `recv_len'
commands.cpp:(.text+0x17c6): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x17f2): undefined reference to `recv_ct'
commands.cpp:(.text+0x17fa): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x17fe): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1806): undefined reference to `recv_len'
commands.cpp:(.text+0x184e): undefined reference to `recv_len'
commands.cpp:(.text+0x18be): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x18da): undefined reference to `recv_ct'
commands.cpp:(.text+0x18e6): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x190e): undefined reference to `recv_ct'
commands.cpp:(.text+0x1916): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x191a): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1922): undefined reference to `recv_len'
commands.cpp:(.text+0x196a): undefined reference to `recv_len'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/tcl/commands.o: In function `opsSend(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x1bbe): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1bc2): undefined reference to `send_ct'
commands.cpp:(.text+0x1be6): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1bea): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x1bf2): undefined reference to `send_ct'
commands.cpp:(.text+0x1bfa): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x1bfe): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x1c0a): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x1c12): undefined reference to `send_len'
commands.cpp:(.text+0x1c36): undefined reference to `send_ct'
commands.cpp:(.text+0x1c42): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1c4e): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x1c6a): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1c7a): undefined reference to `send_len'
commands.cpp:(.text+0x1cb2): undefined reference to `send_len'
commands.cpp:(.text+0x1cba): undefined reference to `send_ct'
commands.cpp:(.text+0x1cc2): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x1cee): undefined reference to `send_ct'
commands.cpp:(.text+0x1cfa): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x1d02): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1d0e): undefined reference to `send_len'
commands.cpp:(.text+0x1d4a): undefined reference to `send_len'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: In function `PetscSOE::zeroA()':
PetscSOE.cpp:(.text+0x700): undefined reference to `MatZeroEntries'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: In function `PetscSOE::~PetscSOE()':
PetscSOE.cpp:(.text+0x854): undefined reference to `MatDestroy'
PetscSOE.cpp:(.text+0x864): undefined reference to `VecDestroy'
PetscSOE.cpp:(.text+0x874): undefined reference to `VecDestroy'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: In function `PetscSOE::~PetscSOE()':
PetscSOE.cpp:(.text+0x9c4): undefined reference to `MatDestroy'
PetscSOE.cpp:(.text+0x9d4): undefined reference to `VecDestroy'
PetscSOE.cpp:(.text+0x9e4): undefined reference to `VecDestroy'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: In function `PetscSOE::~PetscSOE()':
PetscSOE.cpp:(.text+0xb24): undefined reference to `MatDestroy'
PetscSOE.cpp:(.text+0xb34): undefined reference to `VecDestroy'
PetscSOE.cpp:(.text+0xb44): undefined reference to `VecDestroy'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: In function `PetscSOE::addA(Matrix const&, ID const&, double)':
PetscSOE.cpp:(.text+0x1358): undefined reference to `MatSetValues'
PetscSOE.cpp:(.text+0x1470): undefined reference to `PetscError'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: In function `PetscSOE::setSize(Graph&)':
PetscSOE.cpp:(.text+0x14fa): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x1528): undefined reference to `PetscInitialize'
PetscSOE.cpp:(.text+0x152e): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x153a): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x16e4): undefined reference to `MatDestroy'
PetscSOE.cpp:(.text+0x16f4): undefined reference to `VecDestroy'
PetscSOE.cpp:(.text+0x1704): undefined reference to `VecDestroy'
PetscSOE.cpp:(.text+0x1828): undefined reference to `PetscOptionsGetInt'
PetscSOE.cpp:(.text+0x1864): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1952): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x1962): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x1968): undefined reference to `MatCreate'
PetscSOE.cpp:(.text+0x1978): undefined reference to `MatSetFromOptions'
PetscSOE.cpp:(.text+0x19b4): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1bc0): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1c0a): undefined reference to `PETSC_COMM_SELF'
PetscSOE.cpp:(.text+0x1c1a): undefined reference to `PETSC_COMM_SELF'
PetscSOE.cpp:(.text+0x1c28): undefined reference to `MatCreateSeqBAIJ'
PetscSOE.cpp:(.text+0x1c36): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x1c44): undefined reference to `VecCreateSeqWithArray'
PetscSOE.cpp:(.text+0x1c80): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1c98): undefined reference to `MatGetOwnershipRange'
PetscSOE.cpp:(.text+0x1cb6): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x1cc8): undefined reference to `VecCreateMPIWithArray'
PetscSOE.cpp:(.text+0x1d04): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1d12): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x1d22): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x1d24): undefined reference to `VecCreateSeqWithArray'
PetscSOE.cpp:(.text+0x1d98): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1dd4): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1de2): undefined reference to `PETSC_COMM_SELF'
PetscSOE.cpp:(.text+0x1df2): undefined reference to `PETSC_COMM_SELF'
PetscSOE.cpp:(.text+0x1df8): undefined reference to `MatCreateSeqAIJ'
PetscSOE.cpp:(.text+0x1e34): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1e70): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1e8e): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x1ea0): undefined reference to `VecCreateMPIWithArray'
PetscSOE.cpp:(.text+0x1edc): undefined reference to `PetscError'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSolver.o: In function `PetscSolver::setSize()':
PetscSolver.cpp:(.text+0x1ba): undefined reference to `PETSC_COMM_WORLD'
PetscSolver.cpp:(.text+0x1ce): undefined reference to `PETSC_COMM_WORLD'
PetscSolver.cpp:(.text+0x1d0): undefined reference to `KSPCreate'
PetscSolver.cpp:(.text+0x1e8): undefined reference to `KSPSetOperators'
PetscSolver.cpp:(.text+0x1f4): undefined reference to `KSPSetType'
PetscSolver.cpp:(.text+0x230): undefined reference to `PetscError'
PetscSolver.cpp:(.text+0x27c): undefined reference to `KSPSetTolerances'
PetscSolver.cpp:(.text+0x288): undefined reference to `KSPGetPC'
PetscSolver.cpp:(.text+0x294): undefined reference to `PCSetType'
PetscSolver.cpp:(.text+0x2d0): undefined reference to `PetscError'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSolver.o: In function `PetscSolver::~PetscSolver()':
PetscSolver.cpp:(.text+0x318): undefined reference to `KSPDestroy'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSolver.o: In function `PetscSolver::~PetscSolver()':
PetscSolver.cpp:(.text+0x398): undefined reference to `KSPDestroy'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSolver.o: In function `PetscSolver::~PetscSolver()':
PetscSolver.cpp:(.text+0x408): undefined reference to `KSPDestroy'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSolver.o: In function `PetscSolver::solve()':
PetscSolver.cpp:(.text+0xea8): undefined reference to `MatAssemblyBegin'
PetscSolver.cpp:(.text+0xee4): undefined reference to `PetscError'
PetscSolver.cpp:(.text+0xf3c): undefined reference to `MatAssemblyEnd'
PetscSolver.cpp:(.text+0xf78): undefined reference to `PetscError'
PetscSolver.cpp:(.text+0x10c4): undefined reference to `KSPSolve'
PetscSolver.cpp:(.text+0x11d8): undefined reference to `PetscError'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::setSize()':
PetscSparseSeqSolver.cpp:(.text+0x140): undefined reference to `PetscOptionsGetInt'
PetscSparseSeqSolver.cpp:(.text+0x17c): undefined reference to `PetscError'
PetscSparseSeqSolver.cpp:(.text+0x1b2): undefined reference to `PETSC_COMM_WORLD'
PetscSparseSeqSolver.cpp:(.text+0x1c2): undefined reference to `PETSC_COMM_WORLD'
PetscSparseSeqSolver.cpp:(.text+0x1c4): undefined reference to `VecCreateSeqWithArray'
PetscSparseSeqSolver.cpp:(.text+0x200): undefined reference to `PetscError'
PetscSparseSeqSolver.cpp:(.text+0x232): undefined reference to `PETSC_COMM_WORLD'
PetscSparseSeqSolver.cpp:(.text+0x240): undefined reference to `VecCreateSeqWithArray'
PetscSparseSeqSolver.cpp:(.text+0x252): undefined reference to `PETSC_COMM_WORLD'
PetscSparseSeqSolver.cpp:(.text+0x268): undefined reference to `MatCreateSeqAIJWithArrays'
PetscSparseSeqSolver.cpp:(.text+0x26e): undefined reference to `PETSC_COMM_WORLD'
PetscSparseSeqSolver.cpp:(.text+0x274): undefined reference to `KSPCreate'
PetscSparseSeqSolver.cpp:(.text+0x288): undefined reference to `KSPSetOperators'
PetscSparseSeqSolver.cpp:(.text+0x294): undefined reference to `KSPSetType'
PetscSparseSeqSolver.cpp:(.text+0x2d0): undefined reference to `PetscError'
PetscSparseSeqSolver.cpp:(.text+0x310): undefined reference to `PetscError'
PetscSparseSeqSolver.cpp:(.text+0x36c): undefined reference to `KSPSetTolerances'
PetscSparseSeqSolver.cpp:(.text+0x378): undefined reference to `KSPGetPC'
PetscSparseSeqSolver.cpp:(.text+0x384): undefined reference to `PCSetType'
PetscSparseSeqSolver.cpp:(.text+0x398): undefined reference to `KSPSetInitialGuessNonzero'
PetscSparseSeqSolver.cpp:(.text+0x3d4): undefined reference to `PetscError'
PetscSparseSeqSolver.cpp:(.text+0x40c): undefined reference to `PetscError'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::getNumIterations()':
PetscSparseSeqSolver.cpp:(.text+0x43c): undefined reference to `KSPGetIterationNumber'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::solve()':
PetscSparseSeqSolver.cpp:(.text+0x488): undefined reference to `KSPSolve'
PetscSparseSeqSolver.cpp:(.text+0x4c4): undefined reference to `PetscError'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::~PetscSparseSeqSolver()':
PetscSparseSeqSolver.cpp:(.text+0x508): undefined reference to `MatDestroy'
PetscSparseSeqSolver.cpp:(.text+0x510): undefined reference to `VecDestroy'
PetscSparseSeqSolver.cpp:(.text+0x518): undefined reference to `VecDestroy'
PetscSparseSeqSolver.cpp:(.text+0x520): undefined reference to `KSPDestroy'
PetscSparseSeqSolver.cpp:(.text+0x528): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
PetscSparseSeqSolver.cpp:(.text+0x554): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::~PetscSparseSeqSolver()':
PetscSparseSeqSolver.cpp:(.text+0x588): undefined reference to `MatDestroy'
PetscSparseSeqSolver.cpp:(.text+0x590): undefined reference to `VecDestroy'
PetscSparseSeqSolver.cpp:(.text+0x598): undefined reference to `VecDestroy'
PetscSparseSeqSolver.cpp:(.text+0x5a0): undefined reference to `KSPDestroy'
PetscSparseSeqSolver.cpp:(.text+0x5a8): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
PetscSparseSeqSolver.cpp:(.text+0x5cc): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::~PetscSparseSeqSolver()':
PetscSparseSeqSolver.cpp:(.text+0x608): undefined reference to `MatDestroy'
PetscSparseSeqSolver.cpp:(.text+0x610): undefined reference to `VecDestroy'
PetscSparseSeqSolver.cpp:(.text+0x618): undefined reference to `VecDestroy'
PetscSparseSeqSolver.cpp:(.text+0x620): undefined reference to `KSPDestroy'
PetscSparseSeqSolver.cpp:(.text+0x628): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
PetscSparseSeqSolver.cpp:(.text+0x64c): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::PetscSparseSeqSolver(char*, char*, double, double, double, int)':
PetscSparseSeqSolver.cpp:(.text+0x69c): undefined reference to `SparseGenRowLinSolver::SparseGenRowLinSolver(int)'
PetscSparseSeqSolver.cpp:(.text+0x6e8): undefined reference to `PetscInitialize'
PetscSparseSeqSolver.cpp:(.text+0x71c): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::PetscSparseSeqSolver(char*, char*, double, double, double, int)':
PetscSparseSeqSolver.cpp:(.text+0x76c): undefined reference to `SparseGenRowLinSolver::SparseGenRowLinSolver(int)'
PetscSparseSeqSolver.cpp:(.text+0x7b8): undefined reference to `PetscInitialize'
PetscSparseSeqSolver.cpp:(.text+0x7ec): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::PetscSparseSeqSolver(char*, char*)':
PetscSparseSeqSolver.cpp:(.text+0x828): undefined reference to `SparseGenRowLinSolver::SparseGenRowLinSolver(int)'
PetscSparseSeqSolver.cpp:(.text+0x864): undefined reference to `PetscInitialize'
PetscSparseSeqSolver.cpp:(.text+0x898): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::PetscSparseSeqSolver(char*, char*)':
PetscSparseSeqSolver.cpp:(.text+0x8d8): undefined reference to `SparseGenRowLinSolver::SparseGenRowLinSolver(int)'
PetscSparseSeqSolver.cpp:(.text+0x914): undefined reference to `PetscInitialize'
PetscSparseSeqSolver.cpp:(.text+0x948): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o:(.rodata._ZTI20PetscSparseSeqSolver[typeinfo for PetscSparseSeqSolver]+0x8): undefined reference to `typeinfo for SparseGenRowLinSolver'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/tcl/commands.o: In function `opsRecv(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x1426): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x143e): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1442): undefined reference to `recv_ct'
commands.cpp:(.text+0x144e): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x1452): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x145a): undefined reference to `recv_ct'
commands.cpp:(.text+0x1462): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x1466): undefined reference to `recv_len'
commands.cpp:(.text+0x146a): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x149e): undefined reference to `recv_ct'
commands.cpp:(.text+0x14a6): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x14aa): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x14b2): undefined reference to `recv_len'
commands.cpp:(.text+0x14fa): undefined reference to `recv_len'
commands.cpp:(.text+0x152a): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x154e): undefined reference to `recv_ct'
commands.cpp:(.text+0x155a): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x1582): undefined reference to `recv_ct'
commands.cpp:(.text+0x158a): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x158e): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1596): undefined reference to `recv_len'
commands.cpp:(.text+0x15de): undefined reference to `recv_len'
commands.cpp:(.text+0x177a): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1792): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x179a): undefined reference to `recv_ct'
commands.cpp:(.text+0x17a6): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x17ae): undefined reference to `recv_ct'
commands.cpp:(.text+0x17b6): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x17ba): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x17be): undefined reference to `recv_len'
commands.cpp:(.text+0x17c6): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x17f2): undefined reference to `recv_ct'
commands.cpp:(.text+0x17fa): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x17fe): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1806): undefined reference to `recv_len'
commands.cpp:(.text+0x184e): undefined reference to `recv_len'
commands.cpp:(.text+0x18be): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x18da): undefined reference to `recv_ct'
commands.cpp:(.text+0x18e6): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x190e): undefined reference to `recv_ct'
commands.cpp:(.text+0x1916): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x191a): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1922): undefined reference to `recv_len'
commands.cpp:(.text+0x196a): undefined reference to `recv_len'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/tcl/commands.o: In function `opsSend(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x1bbe): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1bc2): undefined reference to `send_ct'
commands.cpp:(.text+0x1be6): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1bea): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x1bf2): undefined reference to `send_ct'
commands.cpp:(.text+0x1bfa): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x1bfe): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x1c0a): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x1c12): undefined reference to `send_len'
commands.cpp:(.text+0x1c36): undefined reference to `send_ct'
commands.cpp:(.text+0x1c42): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1c4e): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x1c6a): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1c7a): undefined reference to `send_len'
commands.cpp:(.text+0x1cb2): undefined reference to `send_len'
commands.cpp:(.text+0x1cba): undefined reference to `send_ct'
commands.cpp:(.text+0x1cc2): undefined reference to `PETSC_DUMMY'
commands.cpp:(.text+0x1cee): undefined reference to `send_ct'
commands.cpp:(.text+0x1cfa): undefined reference to `PETSC_DUMMY_SIZE'
commands.cpp:(.text+0x1d02): undefined reference to `PETSC_DUMMY_COUNT'
commands.cpp:(.text+0x1d0e): undefined reference to `send_len'
commands.cpp:(.text+0x1d4a): undefined reference to `send_len'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: In function `PetscSOE::zeroA()':
PetscSOE.cpp:(.text+0x700): undefined reference to `MatZeroEntries'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: In function `PetscSOE::~PetscSOE()':
PetscSOE.cpp:(.text+0x854): undefined reference to `MatDestroy'
PetscSOE.cpp:(.text+0x864): undefined reference to `VecDestroy'
PetscSOE.cpp:(.text+0x874): undefined reference to `VecDestroy'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: In function `PetscSOE::~PetscSOE()':
PetscSOE.cpp:(.text+0x9c4): undefined reference to `MatDestroy'
PetscSOE.cpp:(.text+0x9d4): undefined reference to `VecDestroy'
PetscSOE.cpp:(.text+0x9e4): undefined reference to `VecDestroy'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: In function `PetscSOE::~PetscSOE()':
PetscSOE.cpp:(.text+0xb24): undefined reference to `MatDestroy'
PetscSOE.cpp:(.text+0xb34): undefined reference to `VecDestroy'
PetscSOE.cpp:(.text+0xb44): undefined reference to `VecDestroy'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: In function `PetscSOE::addA(Matrix const&, ID const&, double)':
PetscSOE.cpp:(.text+0x1358): undefined reference to `MatSetValues'
PetscSOE.cpp:(.text+0x1470): undefined reference to `PetscError'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: In function `PetscSOE::setSize(Graph&)':
PetscSOE.cpp:(.text+0x14fa): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x1528): undefined reference to `PetscInitialize'
PetscSOE.cpp:(.text+0x152e): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x153a): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x16e4): undefined reference to `MatDestroy'
PetscSOE.cpp:(.text+0x16f4): undefined reference to `VecDestroy'
PetscSOE.cpp:(.text+0x1704): undefined reference to `VecDestroy'
PetscSOE.cpp:(.text+0x1828): undefined reference to `PetscOptionsGetInt'
PetscSOE.cpp:(.text+0x1864): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1952): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x1962): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x1968): undefined reference to `MatCreate'
PetscSOE.cpp:(.text+0x1978): undefined reference to `MatSetFromOptions'
PetscSOE.cpp:(.text+0x19b4): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1bc0): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1c0a): undefined reference to `PETSC_COMM_SELF'
PetscSOE.cpp:(.text+0x1c1a): undefined reference to `PETSC_COMM_SELF'
PetscSOE.cpp:(.text+0x1c28): undefined reference to `MatCreateSeqBAIJ'
PetscSOE.cpp:(.text+0x1c36): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x1c44): undefined reference to `VecCreateSeqWithArray'
PetscSOE.cpp:(.text+0x1c80): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1c98): undefined reference to `MatGetOwnershipRange'
PetscSOE.cpp:(.text+0x1cb6): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x1cc8): undefined reference to `VecCreateMPIWithArray'
PetscSOE.cpp:(.text+0x1d04): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1d12): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x1d22): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x1d24): undefined reference to `VecCreateSeqWithArray'
PetscSOE.cpp:(.text+0x1d98): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1dd4): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1de2): undefined reference to `PETSC_COMM_SELF'
PetscSOE.cpp:(.text+0x1df2): undefined reference to `PETSC_COMM_SELF'
PetscSOE.cpp:(.text+0x1df8): undefined reference to `MatCreateSeqAIJ'
PetscSOE.cpp:(.text+0x1e34): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1e70): undefined reference to `PetscError'
PetscSOE.cpp:(.text+0x1e8e): undefined reference to `PETSC_COMM_WORLD'
PetscSOE.cpp:(.text+0x1ea0): undefined reference to `VecCreateMPIWithArray'
PetscSOE.cpp:(.text+0x1edc): undefined reference to `PetscError'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSolver.o: In function `PetscSolver::setSize()':
PetscSolver.cpp:(.text+0x1ba): undefined reference to `PETSC_COMM_WORLD'
PetscSolver.cpp:(.text+0x1ce): undefined reference to `PETSC_COMM_WORLD'
PetscSolver.cpp:(.text+0x1d0): undefined reference to `KSPCreate'
PetscSolver.cpp:(.text+0x1e8): undefined reference to `KSPSetOperators'
PetscSolver.cpp:(.text+0x1f4): undefined reference to `KSPSetType'
PetscSolver.cpp:(.text+0x230): undefined reference to `PetscError'
PetscSolver.cpp:(.text+0x27c): undefined reference to `KSPSetTolerances'
PetscSolver.cpp:(.text+0x288): undefined reference to `KSPGetPC'
PetscSolver.cpp:(.text+0x294): undefined reference to `PCSetType'
PetscSolver.cpp:(.text+0x2d0): undefined reference to `PetscError'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSolver.o: In function `PetscSolver::~PetscSolver()':
PetscSolver.cpp:(.text+0x318): undefined reference to `KSPDestroy'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSolver.o: In function `PetscSolver::~PetscSolver()':
PetscSolver.cpp:(.text+0x398): undefined reference to `KSPDestroy'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSolver.o: In function `PetscSolver::~PetscSolver()':
PetscSolver.cpp:(.text+0x408): undefined reference to `KSPDestroy'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSolver.o: In function `PetscSolver::solve()':
PetscSolver.cpp:(.text+0xea8): undefined reference to `MatAssemblyBegin'
PetscSolver.cpp:(.text+0xee4): undefined reference to `PetscError'
PetscSolver.cpp:(.text+0xf3c): undefined reference to `MatAssemblyEnd'
PetscSolver.cpp:(.text+0xf78): undefined reference to `PetscError'
PetscSolver.cpp:(.text+0x10c4): undefined reference to `KSPSolve'
PetscSolver.cpp:(.text+0x11d8): undefined reference to `PetscError'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::setSize()':
PetscSparseSeqSolver.cpp:(.text+0x140): undefined reference to `PetscOptionsGetInt'
PetscSparseSeqSolver.cpp:(.text+0x17c): undefined reference to `PetscError'
PetscSparseSeqSolver.cpp:(.text+0x1b2): undefined reference to `PETSC_COMM_WORLD'
PetscSparseSeqSolver.cpp:(.text+0x1c2): undefined reference to `PETSC_COMM_WORLD'
PetscSparseSeqSolver.cpp:(.text+0x1c4): undefined reference to `VecCreateSeqWithArray'
PetscSparseSeqSolver.cpp:(.text+0x200): undefined reference to `PetscError'
PetscSparseSeqSolver.cpp:(.text+0x232): undefined reference to `PETSC_COMM_WORLD'
PetscSparseSeqSolver.cpp:(.text+0x240): undefined reference to `VecCreateSeqWithArray'
PetscSparseSeqSolver.cpp:(.text+0x252): undefined reference to `PETSC_COMM_WORLD'
PetscSparseSeqSolver.cpp:(.text+0x268): undefined reference to `MatCreateSeqAIJWithArrays'
PetscSparseSeqSolver.cpp:(.text+0x26e): undefined reference to `PETSC_COMM_WORLD'
PetscSparseSeqSolver.cpp:(.text+0x274): undefined reference to `KSPCreate'
PetscSparseSeqSolver.cpp:(.text+0x288): undefined reference to `KSPSetOperators'
PetscSparseSeqSolver.cpp:(.text+0x294): undefined reference to `KSPSetType'
PetscSparseSeqSolver.cpp:(.text+0x2d0): undefined reference to `PetscError'
PetscSparseSeqSolver.cpp:(.text+0x310): undefined reference to `PetscError'
PetscSparseSeqSolver.cpp:(.text+0x36c): undefined reference to `KSPSetTolerances'
PetscSparseSeqSolver.cpp:(.text+0x378): undefined reference to `KSPGetPC'
PetscSparseSeqSolver.cpp:(.text+0x384): undefined reference to `PCSetType'
PetscSparseSeqSolver.cpp:(.text+0x398): undefined reference to `KSPSetInitialGuessNonzero'
PetscSparseSeqSolver.cpp:(.text+0x3d4): undefined reference to `PetscError'
PetscSparseSeqSolver.cpp:(.text+0x40c): undefined reference to `PetscError'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::getNumIterations()':
PetscSparseSeqSolver.cpp:(.text+0x43c): undefined reference to `KSPGetIterationNumber'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::solve()':
PetscSparseSeqSolver.cpp:(.text+0x488): undefined reference to `KSPSolve'
PetscSparseSeqSolver.cpp:(.text+0x4c4): undefined reference to `PetscError'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::~PetscSparseSeqSolver()':
PetscSparseSeqSolver.cpp:(.text+0x508): undefined reference to `MatDestroy'
PetscSparseSeqSolver.cpp:(.text+0x510): undefined reference to `VecDestroy'
PetscSparseSeqSolver.cpp:(.text+0x518): undefined reference to `VecDestroy'
PetscSparseSeqSolver.cpp:(.text+0x520): undefined reference to `KSPDestroy'
PetscSparseSeqSolver.cpp:(.text+0x528): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
PetscSparseSeqSolver.cpp:(.text+0x554): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::~PetscSparseSeqSolver()':
PetscSparseSeqSolver.cpp:(.text+0x588): undefined reference to `MatDestroy'
PetscSparseSeqSolver.cpp:(.text+0x590): undefined reference to `VecDestroy'
PetscSparseSeqSolver.cpp:(.text+0x598): undefined reference to `VecDestroy'
PetscSparseSeqSolver.cpp:(.text+0x5a0): undefined reference to `KSPDestroy'
PetscSparseSeqSolver.cpp:(.text+0x5a8): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
PetscSparseSeqSolver.cpp:(.text+0x5cc): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::~PetscSparseSeqSolver()':
PetscSparseSeqSolver.cpp:(.text+0x608): undefined reference to `MatDestroy'
PetscSparseSeqSolver.cpp:(.text+0x610): undefined reference to `VecDestroy'
PetscSparseSeqSolver.cpp:(.text+0x618): undefined reference to `VecDestroy'
PetscSparseSeqSolver.cpp:(.text+0x620): undefined reference to `KSPDestroy'
PetscSparseSeqSolver.cpp:(.text+0x628): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
PetscSparseSeqSolver.cpp:(.text+0x64c): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::PetscSparseSeqSolver(char*, char*, double, double, double, int)':
PetscSparseSeqSolver.cpp:(.text+0x69c): undefined reference to `SparseGenRowLinSolver::SparseGenRowLinSolver(int)'
PetscSparseSeqSolver.cpp:(.text+0x6e8): undefined reference to `PetscInitialize'
PetscSparseSeqSolver.cpp:(.text+0x71c): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::PetscSparseSeqSolver(char*, char*, double, double, double, int)':
PetscSparseSeqSolver.cpp:(.text+0x76c): undefined reference to `SparseGenRowLinSolver::SparseGenRowLinSolver(int)'
PetscSparseSeqSolver.cpp:(.text+0x7b8): undefined reference to `PetscInitialize'
PetscSparseSeqSolver.cpp:(.text+0x7ec): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::PetscSparseSeqSolver(char*, char*)':
PetscSparseSeqSolver.cpp:(.text+0x828): undefined reference to `SparseGenRowLinSolver::SparseGenRowLinSolver(int)'
PetscSparseSeqSolver.cpp:(.text+0x864): undefined reference to `PetscInitialize'
PetscSparseSeqSolver.cpp:(.text+0x898): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::PetscSparseSeqSolver(char*, char*)':
PetscSparseSeqSolver.cpp:(.text+0x8d8): undefined reference to `SparseGenRowLinSolver::SparseGenRowLinSolver(int)'
PetscSparseSeqSolver.cpp:(.text+0x914): undefined reference to `PetscInitialize'
PetscSparseSeqSolver.cpp:(.text+0x948): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o:(.rodata._ZTI20PetscSparseSeqSolver[typeinfo for PetscSparseSeqSolver]+0x8): undefined reference to `typeinfo for SparseGenRowLinSolver'
The Makefile.def I am using is as follows:
############################################################################
#
# Program: OpenSees
#
# Purpose: A Top-level Makefile to create the libraries needed
# to use the OpenSees framework.
#
# version created for Redhat 8.0 LINUX distribution
#
# Written: fmk
# Created: 01/2003
#
#
############################################################################
# %---------------------------------%
# | SECTION 1: PROGRAM |
# %---------------------------------%
#
# Specify the location and name of the OpenSees interpreter program
# that will be created (if this all works
HOME = $(HOME)/ARC/OpenSees
OpenSees_PROGRAM = $(HOME)/bin/OpenSees
OpenSees_PROGRAM_MPI = $(HOME)/bin/OpenSeesMPI
# %---------------------------------%
# | SECTION 2: MAKEFILE CONSTANTS |
# %---------------------------------%
#
# Specify the constants the are used as control structure variables in the Makefiles.
OPERATING_SYSTEM = LINUX
PROGRAMMING_MODE = PARALLEL_INTERPRETERS
RELIABILITY = NO_RELIABILITY
GRAPHICS = NONE
DEBUG_MODE = NO_DEBUG
#PROGRAMMING_MODE = PARALLEL, SEQUENTIAL
#GRAPHICS = NONE, UsingOpenGL
#RELIABILITY = YES_RELIABILITY, NO_RELIABILITY
#DEBUG_MODE = DEBUG, NO_DEBUG
# %---------------------------------%
# | 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/bramesh/ARC/Ozgur_Atlayan
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) \
$(LAPACKdir) \
$(ARPACKdir) \
$(UMFPACKdir) \
$(METISdir) \
$(SUPERLU_DISTdir) \
$(SRCdir)
# %-------------------------------------------------------%
# | 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
DISTRIBUTED_SUPERLU_LIBRARY = $(HOME)/lib/libDistributedSuperLU.a
TCL_LIBRARY = /usr/lib/libtk8.4.so /usr/lib/libtcl8.4.so
#TCL_LIBRARY = /home/bramesh/ARC/tcl_tk/libtk8.5.so /home/bramesh/ARC/tcl_tk/libtcl8.5.so
ifeq ($(RELIABILITY), YES_RELIABILITY)
RELIABILITY_LIBRARY = $(HOME)/lib/libReliability.a
else
RELIABILITY_LIBRARY =
endif
# WATCH OUT .. These libraries are removed when 'make wipe' is invoked.
WIPE_LIBS = $(FE_LIBRARY) \
$(NDARRAY_LIBRARY) \
$(MATMOD_LIBRARY) \
$(DISTRIBUTED_SUPERLU_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
# ###################################################
CC++ = /local/bin/g++
CC = /local/bin/gcc
FC = /local/bin/gfortran
FORTRAN = /local/bin/gfortran
F90 =
LINKER = /apps/packages/openmpi-1.3.2-32/bin/mpicxx
AR = ar
ARFLAGS = cqls
ARCH = ar
ARCHFLAGS = cqls
RANLIB = ranlib
RANLIBFLAGS =
PROGRAMMING_FLAG =
ifeq ($(PROGRAMMING_MODE), PARALLEL)
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesSP
PROGRAMMING_FLAG = -D_PARALLEL_PROCESSING
endif
ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS)
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesMP
PROGRAMMING_FLAG = -D_PARALLEL_INTERPRETERS
endif
ifeq ($(GRAPHICS), UsinOpenGl)
GRAPHIC_FLAG = -D_GLX
GRAPHIC_LIBRARY = -L/usr/X11/R6/lib -lGL -lGLU
else
GRAPHIC_FLAG = -D_NOGRAPHICS
GRAPHIC_LIBRARY =
endif
ifeq ($(RELIABILITY), YES_RELIABILITY)
RELIABILITY_FLAG = -D_RELIABILITY
else
RELIABILITY_FLAG =
endif
ifeq ($(DEBUG_MODE), DEBUG)
DEBUG_FLAG = -D_G3DEBUG
else
DEBUG_FLAG =
endif
ifeq ($(DEBUG_MODE), DEBUG)
C++FLAGS = -Wall -g -pg -D_LINUX -D_UNIX $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -D_TCL84
#C++FLAGS = -Wall -g -pg -D_LINUX -D_UNIX $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -D_TCL85
CFLAGS = -Wall -g -pg $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG)
FFLAGS = -Wall
LINKFLAGS = -rdynamic -g -pg
else
C++FLAGS = -Wall -O2 -D_LINUX -D_UNIX -D_TCL84 -Wall $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -ffloat-store
#C++FLAGS = -Wall -O2 -D_LINUX -D_UNIX -D_TCL85 -Wall $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -ffloat-store
CFLAGS = -Wall $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(PROGRAMMING_FLAG)
FFLAGS = -Wall
LINKFLAGS = -rdynamic
endif
# 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 $<
$(CC++) $(C++FLAGS) $(INCLUDES) -c $< -o $@
.C.o:
@$(ECHO) Making $@ from $<
$(CC++) $(C++FLAGS) $(INCLUDES) -c $< -o $@
.c.o:
@$(ECHO) Making $@ from $<
$(CC) $(CFLAGS) -c $<
.f.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $< -o $@
.f77.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $< -o $@
.f90.o:
@$(ECHO) Making $@ from $<
$(FC90) $(FFLAGS) -c $< -o $@
# %---------------------------------------------------------%
# | 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 \
MACHINE_NUMERICAL_LIBS = -lm \
$(ARPACK_LIBRARY) \
$(DISTRIBUTED_SUPERLU_LIBRARY) \
$(SUPERLU_LIBRARY) \
$(UMFPACK_LIBRARY) \
$(LAPACK_LIBRARY) \
$(BLAS_LIBRARY) \
$(CBLAS_LIBRARY) \
$(GRAPHIC_LIBRARY)\
$(METIS_LIBRARY)\
$(RELIABILITY_LIBRARY)\
$(PETSC_LIB)\
-lgfortran -ldl
# -lg2c -ldl
MPICC = mpicc
MPIINC = -I/apps/packages/openmpi-1.3.2-32/include
MPILIB = -L/apps/packages/openmpi-1.3.2-32/lib -lmpi
PARALLEL_LIB = $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o \
$(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \
$(DISTRIBUTED_SUPERLU_LIBRARY)
#PARALLEL_LIB = $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o \
# $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \
# $(FE)/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.o \
# $(DISTRIBUTED_SUPERLU_LIBRARY)
#PETSC_INC = -I/scratch/fmckenna/petsc-2.2.1 \
# -I/scratch/fmckenna/petsc-2.2.1/bmake/linux-gnu \
# -I/scratch/fmckenna/petsc-2.2.1/include \
# -I/scratch/fmckenna/petsc-2.2.1/include/mpiuni \
# -DPETSC_USE_BOPT_g -DPETSC_USE_EXTERN_CXX
#PETSCINC = -I/scratch/fmckenna/OpenSees/SRC/system_of_eqn/linear/petsc/petsc-2.2.1 -I/scratch/fmckenna/OpenSees/SRC/system_of_eqn/linear/petsc/petsc-2.2.1/bmake/linux-gnu -I/scratch/fmckenna/OpenSees/SRC/system_of_eqn/linear/petsc/petsc-2.2.1/include \
# -I/scratch/fmckenna/petsc-2.2.1/include/mpiuni -DPETSC_USE_BOPT_g -DPETSC_USE_EXTERN_CXX
#PETSCINC = -I/scratch/fmckenna/petsc-2.2.1/include -D_PETSC -I/scratch/fmckenna/petsc-2.2.1/bmake/linux-gnu -DPETSC_USE_BOPT_g -DPETSC_USE_EXTERN_CXX
# $(FE)/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o \
#PETSC_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 \
# $(HOME)/OpenSees/OTHER/LAPACK/dgebak.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dgebal.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dgeev.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dgehd2.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dgehrd.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dhseqr.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dlahrd.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dorg2r.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dorghr.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dorgqr.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dpotrf.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dpotrs.o \
# /scratch/fmckenna/petsc-2.2.1/lib/libg/linux-gnu/libpetscsnes.a \
# /scratch/fmckenna/petsc-2.2.1/lib/libg/linux-gnu/libpetscksp.a \
# /scratch/fmckenna/petsc-2.2.1/lib/libg/linux-gnu/libpetscdm.a \
# /scratch/fmckenna/petsc-2.2.1/lib/libg/linux-gnu/libpetscmat.a \
# /scratch/fmckenna/petsc-2.2.1/lib/libg/linux-gnu/libpetscvec.a \
# /scratch/fmckenna/petsc-2.2.1/lib/libg/linux-gnu/libpetsc.a
# -L/scratch/fmckenna/petsc-2.2.1/lib/libg/linux-gnu/
# -lpetscsnes -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc
PETSC = YES
PETSCINC = -I/apps/packages/petsc-2.2.1_gnu/include -I/apps/packages/petsc-2.2.1_gnu/bmake/linux-gnu -D_PETSC -DPETSC_USE_BOPT_g -DPETSC_USE_EXTERN_CXX
PETSC_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 \
# $(HOME)/OpenSees/OTHER/LAPACK/dgebak.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dgebal.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dgeev.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dgehd2.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dgehrd.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dhseqr.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dlahrd.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dorg2r.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dorghr.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dorgqr.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dpotrf.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dpotrs.o \
/apps/packages/petsc-2.2.1_gnu/lib/libg/linux-gnu/libpetscsnes.a \
/apps/packages/petsc-2.2.1_gnu/lib/libg/linux-gnu/libpetscksp.a \
/apps/packages/petsc-2.2.1_gnu/lib/libg/linux-gnu/libpetscdm.a \
/apps/packages/petsc-2.2.1_gnu/lib/libg/linux-gnu/libpetscmat.a \
/apps/packages/petsc-2.2.1_gnu/lib/libg/linux-gnu/libpetscvec.a \
/apps/packages/petsc-2.2.1_gnu/lib/libg/linux-gnu/libpetsc.a
## -L/apps/packages/petsc-2.2.1_gnu/lib/libg/linux-gnu
## -lpetscsnes -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc
ifeq ($(PROGRAMMING_MODE), THREADS)
MACHINE_SPECIFIC_LIBS = -lpthread
else
#MACHINE_SPECIFIC_LIBS = -ldl -lieee -lm -lc -lg2c -Wl,-rpath,/usr/lib -lpng $(MPILIB)
MACHINE_SPECIFIC_LIBS = -ldl -lieee -lm -lc -lgfortran -Wl,-rpath,/local/lib -lpng $(MPILIB)
endif
# %---------------------------------------------------------%
# | 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) $(PETSCINC)
# this file contains all the OpenSees/SRC includes
include $(FE)/Makefile.incl
#TCL_INCLUDES = -I/home/fmk/tcl8.3.3/generic
#TCL_INCLUDES = -I/home/bramesh/ARC/packages/tcl8.5.7/generic
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 created for Redhat 8.0 LINUX distribution
#
# Written: fmk
# Created: 01/2003
#
#
############################################################################
# %---------------------------------%
# | SECTION 1: PROGRAM |
# %---------------------------------%
#
# Specify the location and name of the OpenSees interpreter program
# that will be created (if this all works
HOME = $(HOME)/ARC/OpenSees
OpenSees_PROGRAM = $(HOME)/bin/OpenSees
OpenSees_PROGRAM_MPI = $(HOME)/bin/OpenSeesMPI
# %---------------------------------%
# | SECTION 2: MAKEFILE CONSTANTS |
# %---------------------------------%
#
# Specify the constants the are used as control structure variables in the Makefiles.
OPERATING_SYSTEM = LINUX
PROGRAMMING_MODE = PARALLEL_INTERPRETERS
RELIABILITY = NO_RELIABILITY
GRAPHICS = NONE
DEBUG_MODE = NO_DEBUG
#PROGRAMMING_MODE = PARALLEL, SEQUENTIAL
#GRAPHICS = NONE, UsingOpenGL
#RELIABILITY = YES_RELIABILITY, NO_RELIABILITY
#DEBUG_MODE = DEBUG, NO_DEBUG
# %---------------------------------%
# | 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/bramesh/ARC/Ozgur_Atlayan
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) \
$(LAPACKdir) \
$(ARPACKdir) \
$(UMFPACKdir) \
$(METISdir) \
$(SUPERLU_DISTdir) \
$(SRCdir)
# %-------------------------------------------------------%
# | 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
DISTRIBUTED_SUPERLU_LIBRARY = $(HOME)/lib/libDistributedSuperLU.a
TCL_LIBRARY = /usr/lib/libtk8.4.so /usr/lib/libtcl8.4.so
#TCL_LIBRARY = /home/bramesh/ARC/tcl_tk/libtk8.5.so /home/bramesh/ARC/tcl_tk/libtcl8.5.so
ifeq ($(RELIABILITY), YES_RELIABILITY)
RELIABILITY_LIBRARY = $(HOME)/lib/libReliability.a
else
RELIABILITY_LIBRARY =
endif
# WATCH OUT .. These libraries are removed when 'make wipe' is invoked.
WIPE_LIBS = $(FE_LIBRARY) \
$(NDARRAY_LIBRARY) \
$(MATMOD_LIBRARY) \
$(DISTRIBUTED_SUPERLU_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
# ###################################################
CC++ = /local/bin/g++
CC = /local/bin/gcc
FC = /local/bin/gfortran
FORTRAN = /local/bin/gfortran
F90 =
LINKER = /apps/packages/openmpi-1.3.2-32/bin/mpicxx
AR = ar
ARFLAGS = cqls
ARCH = ar
ARCHFLAGS = cqls
RANLIB = ranlib
RANLIBFLAGS =
PROGRAMMING_FLAG =
ifeq ($(PROGRAMMING_MODE), PARALLEL)
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesSP
PROGRAMMING_FLAG = -D_PARALLEL_PROCESSING
endif
ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS)
OpenSees_PROGRAM = $(HOME)/bin/OpenSeesMP
PROGRAMMING_FLAG = -D_PARALLEL_INTERPRETERS
endif
ifeq ($(GRAPHICS), UsinOpenGl)
GRAPHIC_FLAG = -D_GLX
GRAPHIC_LIBRARY = -L/usr/X11/R6/lib -lGL -lGLU
else
GRAPHIC_FLAG = -D_NOGRAPHICS
GRAPHIC_LIBRARY =
endif
ifeq ($(RELIABILITY), YES_RELIABILITY)
RELIABILITY_FLAG = -D_RELIABILITY
else
RELIABILITY_FLAG =
endif
ifeq ($(DEBUG_MODE), DEBUG)
DEBUG_FLAG = -D_G3DEBUG
else
DEBUG_FLAG =
endif
ifeq ($(DEBUG_MODE), DEBUG)
C++FLAGS = -Wall -g -pg -D_LINUX -D_UNIX $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -D_TCL84
#C++FLAGS = -Wall -g -pg -D_LINUX -D_UNIX $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -D_TCL85
CFLAGS = -Wall -g -pg $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG)
FFLAGS = -Wall
LINKFLAGS = -rdynamic -g -pg
else
C++FLAGS = -Wall -O2 -D_LINUX -D_UNIX -D_TCL84 -Wall $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -ffloat-store
#C++FLAGS = -Wall -O2 -D_LINUX -D_UNIX -D_TCL85 -Wall $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -ffloat-store
CFLAGS = -Wall $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(PROGRAMMING_FLAG)
FFLAGS = -Wall
LINKFLAGS = -rdynamic
endif
# 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 $<
$(CC++) $(C++FLAGS) $(INCLUDES) -c $< -o $@
.C.o:
@$(ECHO) Making $@ from $<
$(CC++) $(C++FLAGS) $(INCLUDES) -c $< -o $@
.c.o:
@$(ECHO) Making $@ from $<
$(CC) $(CFLAGS) -c $<
.f.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $< -o $@
.f77.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $< -o $@
.f90.o:
@$(ECHO) Making $@ from $<
$(FC90) $(FFLAGS) -c $< -o $@
# %---------------------------------------------------------%
# | 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 \
MACHINE_NUMERICAL_LIBS = -lm \
$(ARPACK_LIBRARY) \
$(DISTRIBUTED_SUPERLU_LIBRARY) \
$(SUPERLU_LIBRARY) \
$(UMFPACK_LIBRARY) \
$(LAPACK_LIBRARY) \
$(BLAS_LIBRARY) \
$(CBLAS_LIBRARY) \
$(GRAPHIC_LIBRARY)\
$(METIS_LIBRARY)\
$(RELIABILITY_LIBRARY)\
$(PETSC_LIB)\
-lgfortran -ldl
# -lg2c -ldl
MPICC = mpicc
MPIINC = -I/apps/packages/openmpi-1.3.2-32/include
MPILIB = -L/apps/packages/openmpi-1.3.2-32/lib -lmpi
PARALLEL_LIB = $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o \
$(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \
$(DISTRIBUTED_SUPERLU_LIBRARY)
#PARALLEL_LIB = $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o \
# $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \
# $(FE)/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSOE.o \
# $(DISTRIBUTED_SUPERLU_LIBRARY)
#PETSC_INC = -I/scratch/fmckenna/petsc-2.2.1 \
# -I/scratch/fmckenna/petsc-2.2.1/bmake/linux-gnu \
# -I/scratch/fmckenna/petsc-2.2.1/include \
# -I/scratch/fmckenna/petsc-2.2.1/include/mpiuni \
# -DPETSC_USE_BOPT_g -DPETSC_USE_EXTERN_CXX
#PETSCINC = -I/scratch/fmckenna/OpenSees/SRC/system_of_eqn/linear/petsc/petsc-2.2.1 -I/scratch/fmckenna/OpenSees/SRC/system_of_eqn/linear/petsc/petsc-2.2.1/bmake/linux-gnu -I/scratch/fmckenna/OpenSees/SRC/system_of_eqn/linear/petsc/petsc-2.2.1/include \
# -I/scratch/fmckenna/petsc-2.2.1/include/mpiuni -DPETSC_USE_BOPT_g -DPETSC_USE_EXTERN_CXX
#PETSCINC = -I/scratch/fmckenna/petsc-2.2.1/include -D_PETSC -I/scratch/fmckenna/petsc-2.2.1/bmake/linux-gnu -DPETSC_USE_BOPT_g -DPETSC_USE_EXTERN_CXX
# $(FE)/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o \
#PETSC_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 \
# $(HOME)/OpenSees/OTHER/LAPACK/dgebak.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dgebal.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dgeev.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dgehd2.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dgehrd.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dhseqr.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dlahrd.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dorg2r.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dorghr.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dorgqr.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dpotrf.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dpotrs.o \
# /scratch/fmckenna/petsc-2.2.1/lib/libg/linux-gnu/libpetscsnes.a \
# /scratch/fmckenna/petsc-2.2.1/lib/libg/linux-gnu/libpetscksp.a \
# /scratch/fmckenna/petsc-2.2.1/lib/libg/linux-gnu/libpetscdm.a \
# /scratch/fmckenna/petsc-2.2.1/lib/libg/linux-gnu/libpetscmat.a \
# /scratch/fmckenna/petsc-2.2.1/lib/libg/linux-gnu/libpetscvec.a \
# /scratch/fmckenna/petsc-2.2.1/lib/libg/linux-gnu/libpetsc.a
# -L/scratch/fmckenna/petsc-2.2.1/lib/libg/linux-gnu/
# -lpetscsnes -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc
PETSC = YES
PETSCINC = -I/apps/packages/petsc-2.2.1_gnu/include -I/apps/packages/petsc-2.2.1_gnu/bmake/linux-gnu -D_PETSC -DPETSC_USE_BOPT_g -DPETSC_USE_EXTERN_CXX
PETSC_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 \
# $(HOME)/OpenSees/OTHER/LAPACK/dgebak.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dgebal.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dgeev.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dgehd2.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dgehrd.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dhseqr.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dlahrd.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dorg2r.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dorghr.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dorgqr.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dpotrf.o \
# $(HOME)/OpenSees/OTHER/LAPACK/dpotrs.o \
/apps/packages/petsc-2.2.1_gnu/lib/libg/linux-gnu/libpetscsnes.a \
/apps/packages/petsc-2.2.1_gnu/lib/libg/linux-gnu/libpetscksp.a \
/apps/packages/petsc-2.2.1_gnu/lib/libg/linux-gnu/libpetscdm.a \
/apps/packages/petsc-2.2.1_gnu/lib/libg/linux-gnu/libpetscmat.a \
/apps/packages/petsc-2.2.1_gnu/lib/libg/linux-gnu/libpetscvec.a \
/apps/packages/petsc-2.2.1_gnu/lib/libg/linux-gnu/libpetsc.a
## -L/apps/packages/petsc-2.2.1_gnu/lib/libg/linux-gnu
## -lpetscsnes -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc
ifeq ($(PROGRAMMING_MODE), THREADS)
MACHINE_SPECIFIC_LIBS = -lpthread
else
#MACHINE_SPECIFIC_LIBS = -ldl -lieee -lm -lc -lg2c -Wl,-rpath,/usr/lib -lpng $(MPILIB)
MACHINE_SPECIFIC_LIBS = -ldl -lieee -lm -lc -lgfortran -Wl,-rpath,/local/lib -lpng $(MPILIB)
endif
# %---------------------------------------------------------%
# | 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) $(PETSCINC)
# this file contains all the OpenSees/SRC includes
include $(FE)/Makefile.incl
#TCL_INCLUDES = -I/home/fmk/tcl8.3.3/generic
#TCL_INCLUDES = -I/home/bramesh/ARC/packages/tcl8.5.7/generic
INCLUDES = $(MACHINE_INCLUDES) $(TCL_INCLUDES) $(FE_INCLUDES)
I forced the linking of the library in the manually and end up with these new undefined refrences.
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::~PetscSparseSeqSolver()':
PetscSparseSeqSolver.cpp:(.text+0x528): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
PetscSparseSeqSolver.cpp:(.text+0x554): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::~PetscSparseSeqSolver()':
PetscSparseSeqSolver.cpp:(.text+0x5a8): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
PetscSparseSeqSolver.cpp:(.text+0x5cc): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::~PetscSparseSeqSolver()':
PetscSparseSeqSolver.cpp:(.text+0x628): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o:PetscSparseSeqSolver.cpp:(.text+0x64c): more undefined references to `SparseGenRowLinSolver::~SparseGenRowLinSolver()' follow
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::PetscSparseSeqSolver(char*, char*, double, double, double, int)':
PetscSparseSeqSolver.cpp:(.text+0x69c): undefined reference to `SparseGenRowLinSolver::SparseGenRowLinSolver(int)'
PetscSparseSeqSolver.cpp:(.text+0x71c): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::PetscSparseSeqSolver(char*, char*, double, double, double, int)':
PetscSparseSeqSolver.cpp:(.text+0x76c): undefined reference to `SparseGenRowLinSolver::SparseGenRowLinSolver(int)'
PetscSparseSeqSolver.cpp:(.text+0x7ec): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::PetscSparseSeqSolver(char*, char*)':
PetscSparseSeqSolver.cpp:(.text+0x828): undefined reference to `SparseGenRowLinSolver::SparseGenRowLinSolver(int)'
PetscSparseSeqSolver.cpp:(.text+0x898): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::PetscSparseSeqSolver(char*, char*)':
PetscSparseSeqSolver.cpp:(.text+0x8d8): undefined reference to `SparseGenRowLinSolver::SparseGenRowLinSolver(int)'
PetscSparseSeqSolver.cpp:(.text+0x948): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o:(.rodata._ZTI20PetscSparseSeqSolver[typeinfo for PetscSparseSeqSolver]+0x8): undefined reference to `typeinfo for SparseGenRowLinSolver'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::~PetscSparseSeqSolver()':
PetscSparseSeqSolver.cpp:(.text+0x528): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
PetscSparseSeqSolver.cpp:(.text+0x554): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::~PetscSparseSeqSolver()':
PetscSparseSeqSolver.cpp:(.text+0x5a8): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
PetscSparseSeqSolver.cpp:(.text+0x5cc): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::~PetscSparseSeqSolver()':
PetscSparseSeqSolver.cpp:(.text+0x628): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o:PetscSparseSeqSolver.cpp:(.text+0x64c): more undefined references to `SparseGenRowLinSolver::~SparseGenRowLinSolver()' follow
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::PetscSparseSeqSolver(char*, char*, double, double, double, int)':
PetscSparseSeqSolver.cpp:(.text+0x69c): undefined reference to `SparseGenRowLinSolver::SparseGenRowLinSolver(int)'
PetscSparseSeqSolver.cpp:(.text+0x71c): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::PetscSparseSeqSolver(char*, char*, double, double, double, int)':
PetscSparseSeqSolver.cpp:(.text+0x76c): undefined reference to `SparseGenRowLinSolver::SparseGenRowLinSolver(int)'
PetscSparseSeqSolver.cpp:(.text+0x7ec): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::PetscSparseSeqSolver(char*, char*)':
PetscSparseSeqSolver.cpp:(.text+0x828): undefined reference to `SparseGenRowLinSolver::SparseGenRowLinSolver(int)'
PetscSparseSeqSolver.cpp:(.text+0x898): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: In function `PetscSparseSeqSolver::PetscSparseSeqSolver(char*, char*)':
PetscSparseSeqSolver.cpp:(.text+0x8d8): undefined reference to `SparseGenRowLinSolver::SparseGenRowLinSolver(int)'
PetscSparseSeqSolver.cpp:(.text+0x948): undefined reference to `SparseGenRowLinSolver::~SparseGenRowLinSolver()'
/home/bramesh/ARC/Ozgur_Atlayan/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o:(.rodata._ZTI20PetscSparseSeqSolver[typeinfo for PetscSparseSeqSolver]+0x8): undefined reference to `typeinfo for SparseGenRowLinSolver'