Page 1 of 1

OpenSeesSP Build Error

Posted: Mon Feb 28, 2011 8:54 am
by ozgura
Hello,

We are getting the following error while trying to build OpenSeesSP.

/home/arcadm/ITHACA-Compile/OpenSees/OpenSeesSP/lib/libDistributedSuperLU.a(dsp_blas2.o):
In function `sp_dtrsv_dist':
dsp_blas2.c:(.text+0x454): undefined reference to `dlsolve'
dsp_blas2.c:(.text+0x49e): undefined reference to `dmatvec'
dsp_blas2.c:(.text+0x788): undefined reference to `dusolve'
collect2: ld returned 1 exit status
make[1]: *** [tcl] Error 1
make[1]: Leaving directory
`/home/arcadm/ITHACA-Compile/OpenSees/OpenSeesSP/SRC/modelbuilder/tcl'
make: *** [all] Error 2

Any ideas about this error? I will post the makefile on the next post.
Thanks,
Ozgur

Makefile

Posted: Mon Feb 28, 2011 8:55 am
by ozgura
#
# By Bharath Ramesh, 2010 Makefile.def
#
# Makefile.def for OpenSees built in parallel mode.
#

BASE = $(HOME)/ITHACA-Compile/OpenSees/OpenSeesSP
FE = $(BASE)/SRC
PROGRAMMING_MODE = PARALLEL
OpenSees_PROGRAM = $(BASE)/bin/OpenSees

ifeq ($(PROGRAMMING_MODE), PARALLEL)
OpenSees_PROGRAM = $(BASE)/bin/OpenSeesSP
endif

ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS)
OpenSees_PROGRAM = $(BASE)/bin/OpenSeesMP
endif

OPERATING_SYSTEM = LINUX
DEBUG_MODE = NO_DEBUG
GRAPHICS = NONE
RELIABILITY = NO_RELIABILITY

BLASdir = $(BASE)/OTHER/BLAS
CBLASdir = $(BASE)/OTHER/CBLAS
LAPACKdir = $(BASE)/OTHER/LAPACK
ARPACKdir = $(BASE)/OTHER/ARPACK
UMFPACKdir = $(BASE)/OTHER/UMFPACK
METISdir = $(BASE)/OTHER/METIS
SUPERLUdir = $(BASE)/OTHER/SuperLU_3.0/SRC
SUPERLU_DISTdir = $(BASE)/OTHER/SuperLU_DIST_2.0/SRC
SRCdir = $(BASE)/SRC

DIRS = $(ARPACKdir) \
$(UMFPACKdir) \
$(METISdir) \
$(SUPERLUdir) \
$(SUPERLU_DISTdir) \
$(SRCdir)

FE_LIBRARY = $(BASE)/lib/libOpenSees.a
NDARRAY_LIBRARY = $(BASE)/lib/libndarray.a
MATMOD_LIBRARY = $(BASE)/lib/libmatmod.a
BJMISC_LIBRARY = $(BASE)/lib/libBJmisc.a
BLAS_LIBRARY =
CBLAS_LIBRARY =
LAPACK_LIBRARY =
ARPACK_LIBRARY = $(BASE)/lib/libArpack.a
UMFPACK_LIBRARY = $(BASE)/lib/libUmfpack.a
METIS_LIBRARY = $(BASE)/lib/libMetis.a
SUPERLU_LIBRARY = $(BASE)/lib/libSuperLU.a
DISTRIBUTED_SUPERLU_LIBRARY = $(BASE)/lib/libDistributedSuperLU.a

WIPE_LIBS = $(FE_LIBRARY) \
$(NDARRAY_LIBRARY) \
$(MATMOD_LIBRARY) \
$(BJMISC_LIBRARY) \
$(ARPACK_LIBRARY) \
$(UMFPACK_LIBRARY) \
$(METIS_LIBRARY) \
$(SUPERLU_LIBRARY) \
$(DISTRIBUTED_SUPERLU_LIBRARY)

TCL_LIBRARY = -ltcl8.5 -ltk8.5

CC = mpicc
CC++ = mpic++
FC = mpif90
F90 = mpif90
FORTRAN = $(FC)
LINKER = $(CC++)

AR = ar
ARFLAGS = cqls
ARCH = ar
ARCHFLAGS = cqls
RANLIB = ranlib
RANLIBFLAGS =

DEBUG_FLAG =
GRAPHIC_FLAG = -D_NOGRAPHICS
GRAPHIC_LIBRARY =
RELIABILITY_FLAG =
RELIABILITY_LIBRARY =
PROGRAMMING_FLAG =

ifeq ($(PROGRAMMING_MODE), PARALLEL)
PROGRAMMING_FLAG = -D_PARALLEL_PROCESSING
endif

ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS)
PROGRAMMING_FLAG = -D_PARALLEL_INTERPRETERS
endif

CFLAGS = -Wall $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(PROGRAMMING_FLAG)
C++FLAGS = -Wall -O2 -D_LINUX -D_UNIX -D_TCL85 -ffloat-store $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG)
FFLAGS = -Wall
LINKFLAGS = -rdynamic

MAKE = make
CD = cd
ECHO = echo
RM = rm
RMFLAGS = -f
SHELL = /bin/sh

.SUFFIXES:
.SUFFIXES: .C .c .f .f90 .cpp .o

.DEFAULT:
@$(ECHO) "Unknown target $@, try: make help"

.c.o:
$(CC) $(CFLAGS) -c $<

.C.o:
$(CC++) $(C++FLAGS) $(INCLUDES) -c $<

.cpp.o:
$(CC++) $(C++FLAGS) $(INCLUDES) -c $<

.f.o:
$(FC) $(FFLAGS) -c $<

.f77.o:
$(FC) $(FFLAGS) -c $<

.f90.o:
$(F90) $(FFLAGS) -c $<

GOTOBLAS_LIBRARY = /apps/packages/GotoBLAS2-1.13/single_threaded/libgoto2_nehalem-r1.13.a
PARALLEL_LIB = $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o \
$(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \
$(FE)/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSolver.o

MACHINE_LINKLIBS = -L$(BASE)/lib
MACHINE_NUMERICAL_LIBS = -lm \
$(ARPACK_LIBRARY) \
$(DISTRIBUTED_SUPERLU_LIBRARY) \
$(SUPERLU_LIBRARY) \
$(UMFPACK_LIBRARY) \
$(GOTOBLAS_LIBRARY) \
$(METIS_LIBRARY)

MACHINE_SPECIFIC_LIBS = -ldl -lieee -lgfortran -Wl,-rpath,/local/lib -lpng
MACHINE_INCLUDES = -I$(BASE)/include \
-I$(UMFPACKdir) \
-I$(SUPERLUdir) \
-I$(SUPERLU_DISTdir) \

include $(FE)/Makefile.incl

INCLUDES = $(MACHINE_INCLUDES) $(FE_INCLUDES) $(TCL_INCLUDES)

Re: OpenSeesSP Build Error

Posted: Fri Mar 04, 2011 1:41 pm
by fmk
the functions are defined in the OpenSees/OTHER/CBLAS directory .. these appear to be non-standard blas routines and thus not in gotoblas.