OpenSeesSP Build error

This forum is for issues related to parallel processing
and OpenSees using the new interpreters OpenSeesSP and OpenSeesMP

Moderator: selimgunay

ozgura
Posts: 36
Joined: Mon Apr 19, 2010 9:46 am
Location: Virginia Tech

OpenSeesSP Build error

Post by ozgura »

Hello,

We got the following error while trying to build OpenSeesSP.
I will post the makefile in the next message.
Thanks,
Ozgur


LIBRARIES BUILT ... NOW LINKING OpenSees PROGRAM
make[1]: Entering directory `/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC
/tcl'
make[1]: Nothing to be done for `tcl'.
make[1]: Leaving directory `/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/
tcl'
make[1]: Entering directory `/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC
/modelbuilder/tcl'
Makefile:30: warning: overriding commands for target `tcl'
Makefile:13: warning: ignoring old commands for target `tcl'
Makefile:41: warning: overriding commands for target `tk'
Makefile:21: warning: ignoring old commands for target `tk'
make[2]: Entering directory `/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC
/tcl'
make[2]: Nothing to be done for `tk'.
make[2]: Leaving directory `/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/
tcl'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`getNP(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0xd9a): undefined reference to `theMachineBroker'
commands.cpp:(.text+0xdae): undefined reference to `theMachineBroker'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`getPID(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0xe0a): undefined reference to `theMachineBroker'
commands.cpp:(.text+0xe1e): undefined reference to `theMachineBroker'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`record(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x165a): undefined reference to `theDomain'
commands.cpp:(.text+0x165e): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`domainChange(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x168a): undefined reference to `theDomain'
commands.cpp:(.text+0x168e): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`OpenSeesExit(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x1d6a): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o:commands.cpp:
(.text+0x1d6e): more undefined references to `theDomain' follow
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`OpenSeesExit(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x1d76): undefined reference to `theMachineBroker'
commands.cpp:(.text+0x1d92): undefined reference to `theMachineBroker'
commands.cpp:(.text+0x1dca): undefined reference to `theMachineBroker'
commands.cpp:(.text+0x1dea): undefined reference to `theMachineBroker'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`getParamValue(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x343e): undefined reference to `theDomain'
commands.cpp:(.text+0x3446): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`addRegion(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x36ca): undefined reference to `theDomain'
commands.cpp:(.text+0x36ce): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`setElementRayleighDampingFactors(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x3c52): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o:commands.cpp:
(.text+0x3c56): more undefined references to `theDomain' follow
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`eigenAnalysis(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x4fc8): undefined reference to `DistributedSuperLU::Distrib
utedSuperLU(int, int)'
commands.cpp:(.text+0x4fdc): undefined reference to `DistributedSparseGenColLinS
OE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`addDatabase(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x53ee): undefined reference to `theDomain'
commands.cpp:(.text+0x53f6): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`addAlgoRecorder(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x544a): undefined reference to `theDomain'
commands.cpp:(.text+0x544e): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`addRecorder(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x547a): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o:commands.cpp:
(.text+0x547e): more undefined references to `theDomain' follow
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`specifySOE(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0xbaac): undefined reference to `DistributedSparseGenColLinS
OE::DistributedSparseGenColLinSOE(SparseGenColLinSolver&)'
commands.cpp:(.text+0xbac8): undefined reference to `DistributedSuperLU::Distrib
utedSuperLU(int, int)'
commands.cpp:(.text+0xbcda): undefined reference to `theDomain'
commands.cpp:(.text+0xbcde): undefined reference to `theDomain'
commands.cpp:(.text+0xbdd6): undefined reference to `theDomain'
commands.cpp:(.text+0xbdee): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`specifyAnalysis(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0xbfba): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o:commands.cpp:
(.text+0xbfd2): more undefined references to `theDomain' follow
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`specifyAnalysis(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0xbff2): undefined reference to `OPS_PARTITIONED'
commands.cpp:(.text+0xbff6): undefined reference to `OPS_PARTITIONED'
commands.cpp:(.text+0xc002): undefined reference to `OPS_NUM_SUBDOMAINS'
commands.cpp:(.text+0xc006): undefined reference to `OPS_NUM_SUBDOMAINS'
commands.cpp:(.text+0xc1d2): undefined reference to `theDomain'
commands.cpp:(.text+0xc1ea): undefined reference to `theDomain'
commands.cpp:(.text+0xc282): undefined reference to `theDomain'
commands.cpp:(.text+0xc29a): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`printElement(void*, Tcl_Interp*, int, char const**, OPS_Stream&)':
commands.cpp:(.text+0xcb1a): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o:commands.cpp:
(.text+0xcb1e): more undefined references to `theDomain' follow
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`partitionModel()':
commands.cpp:(.text+0xd53e): undefined reference to `OPS_theChannels'
commands.cpp:(.text+0xd54e): undefined reference to `OPS_theChannels'
commands.cpp:(.text+0xd57a): undefined reference to `OPS_NUM_SUBDOMAINS'
commands.cpp:(.text+0xd57e): undefined reference to `OPS_NUM_SUBDOMAINS'
commands.cpp:(.text+0xd58a): undefined reference to `OPS_NUM_SUBDOMAINS'
commands.cpp:(.text+0xd58e): undefined reference to `OPS_theChannels'
commands.cpp:(.text+0xd59a): undefined reference to `theDomain'
commands.cpp:(.text+0xd5a2): undefined reference to `OPS_MAIN_DOMAIN_PARTITION_I
D'
commands.cpp:(.text+0xd5a6): undefined reference to `OPS_MACHINE'
commands.cpp:(.text+0xd5aa): undefined reference to `theDomain'
commands.cpp:(.text+0xd5ae): undefined reference to `OPS_OBJECT_BROKER'
commands.cpp:(.text+0xd5b2): undefined reference to `OPS_MAIN_DOMAIN_PARTITION_I
D'
commands.cpp:(.text+0xd5ca): undefined reference to `OPS_MACHINE'
commands.cpp:(.text+0xd5ce): undefined reference to `OPS_OBJECT_BROKER'
commands.cpp:(.text+0xd5f6): undefined reference to `OPS_theChannels'
commands.cpp:(.text+0xd60a): undefined reference to `OPS_NUM_SUBDOMAINS'
commands.cpp:(.text+0xd61a): undefined reference to `OPS_DOMAIN_PARTITIONER'
commands.cpp:(.text+0xd61e): undefined reference to `OPS_DOMAIN_PARTITIONER'
commands.cpp:(.text+0xd62a): undefined reference to `theDomain'
commands.cpp:(.text+0xd62e): undefined reference to `theDomain'
commands.cpp:(.text+0xd632): undefined reference to `OPS_USING_MAIN_DOMAIN'
commands.cpp:(.text+0xd636): undefined reference to `OPS_MAIN_DOMAIN_PARTITION_I
D'
commands.cpp:(.text+0xd63a): undefined reference to `OPS_NUM_SUBDOMAINS'
commands.cpp:(.text+0xd642): undefined reference to `OPS_USING_MAIN_DOMAIN'
commands.cpp:(.text+0xd646): undefined reference to `OPS_MAIN_DOMAIN_PARTITION_I
D'
commands.cpp:(.text+0xd656): undefined reference to `OPS_PARTITIONED'
commands.cpp:(.text+0xd662): undefined reference to `OPS_PARTITIONED'
commands.cpp:(.text+0xd78e): undefined reference to `OPS_GRAPH_PARTITIONER'
commands.cpp:(.text+0xd796): undefined reference to `OPS_GRAPH_PARTITIONER'
commands.cpp:(.text+0xd79e): undefined reference to `OPS_GRAPH_PARTITIONER'
commands.cpp:(.text+0xd7aa): undefined reference to `theDomain'
commands.cpp:(.text+0xd7b2): undefined reference to `OPS_DOMAIN_PARTITIONER'
commands.cpp:(.text+0xd7b6): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`analyzeModel(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0xd80a): undefined reference to `OPS_PARTITIONED'
commands.cpp:(.text+0xd836): undefined reference to `OPS_PARTITIONED'
commands.cpp:(.text+0xd842): undefined reference to `OPS_NUM_SUBDOMAINS'
commands.cpp:(.text+0xd846): undefined reference to `OPS_NUM_SUBDOMAINS'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`getLoadFactor(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0xdbaa): undefined reference to `theDomain'
commands.cpp:(.text+0xdbae): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`getTime(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0xdcba): undefined reference to `theDomain'
commands.cpp:(.text+0xdcbe): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`setTime(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0xdd86): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o:commands.cpp:
(.text+0xdd8a): more undefined references to `theDomain' follow
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`wipeAnalysis(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0xdfda): undefined reference to `OPS_PARTITIONED'
commands.cpp:(.text+0xdfee): undefined reference to `OPS_PARTITIONED'
commands.cpp:(.text+0xdffa): undefined reference to `OPS_NUM_SUBDOMAINS'
commands.cpp:(.text+0xdffe): undefined reference to `OPS_NUM_SUBDOMAINS'
commands.cpp:(.text+0xe00a): undefined reference to `theDomain'
commands.cpp:(.text+0xe00e): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`wipeModel(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0xe146): undefined reference to `theDomain'
commands.cpp:(.text+0xe14a): undefined reference to `theDomain'
commands.cpp:(.text+0xe15e): undefined reference to `OPS_PARTITIONED'
commands.cpp:(.text+0xe176): undefined reference to `OPS_PARTITIONED'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`sectionDeformation(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x12d72): undefined reference to `theDomain'
commands.cpp:(.text+0x12d76): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`sectionForce(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x13082): undefined reference to `theDomain'
commands.cpp:(.text+0x13086): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o: In function
`nodeBounds(void*, Tcl_Interp*, int, char const**)':
commands.cpp:(.text+0x13302): undefined reference to `theDomain'
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/tcl/commands.o:commands.cpp:
(.text+0x1330a): more undefined references to `theDomain' follow
/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/lib/libOpenSees.a(FEM_ObjectBrok
erAllClasses.o): In function `FEM_ObjectBrokerAllClasses::getNewLinearSOE(int)':
FEM_ObjectBrokerAllClasses.cpp:(.text+0xa84): undefined reference to `Distribute
dSparseGenColLinSOE::DistributedSparseGenColLinSOE()'
collect2: ld returned 1 exit status
make[1]: *** [tk] Error 1
make[1]: Leaving directory `/home/arcadm/SYSTEM-X/LINUX/OpenSees/OpenSeesSP/SRC/
modelbuilder/tcl'
make: *** [all] Error 2
Ozgur Atlayan
Virginia Tech
ozgura
Posts: 36
Joined: Mon Apr 19, 2010 9:46 am
Location: Virginia Tech

Makefile

Post by ozgura »

#
# By Bharath Ramesh, 2010 Makefile.def
#
# Makefile.def for OpenSees built in parallel mode.
#

BASE = $(HOME)/SYSTEM-X/LINUX/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_INCLUDES = -I/apps/packages/tcl_tk_8.5.9/include
TCL_LIBRARY = -L/apps/packages/tcl_tk_8.5.9/lib -ltcl8.5 -ltk8.5

MPI_BIN = /apps/packages/openmpi-1.3.2-32/bin

CC = $(MPI_BIN)/mpicc
CC++ = $(MPI_BIN)/mpic++
FC = $(MPI_BIN)/mpif90
F90 = $(MPI_BIN)/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/lib/libgoto2.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)
Ozgur Atlayan
Virginia Tech
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: OpenSeesSP Build error

Post by fmk »

can you obtain the latest code using svn and try that .. i just updated the code and compiled it on 3 different linux machines .. OpenSeesSP compiles on all with the latest code.
hsafti
Posts: 68
Joined: Thu Apr 22, 2010 5:38 am
Location: Braunschweig

Re: OpenSeesSP Build error

Post by hsafti »

The Linux cluster makefile.def provided with the source code is very different from this file. I want to build parallel OpenSees for ubuntu 10.10 64bit with Intel quad core i7. I need to know which libraries do I need to install and include in building the parallel version. I have succeed to build Sequential version.

I would appreciate it if a parallel makefile.def for ubuntu is provided.
Hisham El Safti
hsafti
Posts: 68
Joined: Thu Apr 22, 2010 5:38 am
Location: Braunschweig

Re: OpenSeesSP Build error

Post by hsafti »

Dear fmk,

Can you please provide a description of which libraries to install in Linux in order to be able to build parallel OpenSees and please provide me with the makefiles.def for Ubuntu.

Best regards
Hisham El Safti
hsafti
Posts: 68
Joined: Thu Apr 22, 2010 5:38 am
Location: Braunschweig

Re: OpenSeesSP Build error

Post by hsafti »

Dear ozgura,

Why don't you include the Petsc and the Mumps libraries in the Makefile.def

Best regards,
Hisham
Hisham El Safti
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: OpenSeesSP Build error

Post by fmk »

for the parallel i suggest you get Mumps. This requires mpi and scalapck. scalapack may need other libraries depending
on what is available to you on your machine, e.g. if scalapack is provided through an intel library you need nothing. If you
have to build i from other the scr code, you will need other such as the BLACS.
FetenawnKag
Posts: 1
Joined: Sat Apr 23, 2011 2:56 pm
Location: Kenya
Mauritius
Maldives
Benin
Congo
Contact:

Shed Plans

Post by FetenawnKag »

As a Newbie, I am continuously searching online for articles that can be of assistance to me. I'm thankful to this particular webpage opensees.berkeley.edu. thanks a lot!!! [url=http://www.shedplansecrets.com/storage-shed-plans/]storage shed plans free[/url]
Looking for details on storage shed plans free,how to build a shed foundation have a look at my site on shed plans.
aneeman
Posts: 90
Joined: Thu Jan 12, 2006 1:13 pm
Contact:

Re: OpenSeesSP Build error

Post by aneeman »

# version for parallelized PC (linux ubuntu 10.04 64 bit)
# installed packages:
# mpi-default-dev (0.6, currently openmpi)
# petsc-dev (3.0.0)
# libmumps-4.9.2 (linear solver, includes scalapack)
# libblacs-mpil 1.1-28.2buildl
# libblacs-mpi-dev 1.1-28.2buildl
# libhpmud0 3.10.2-2ubuntu2.2 (HP Multi-Point Transport Driver (hpmud) run-time libraries)

Note that I did not get this to build completely, but at least, all the necessary libraries were there.

alisa
hjmangalam
Posts: 11
Joined: Wed Jun 01, 2011 3:28 pm
Location: UC Irvine

Re: OpenSeesSP Build error

Post by hjmangalam »

Same problem here. On both CentOS 5.5 and Ubuntu 10.04.

The arch is x86_64 for a Linux cluster, using openmpi 1.4.3
I built the PETSc new on CentOS, used the repo version for Ubuntu.
I tried tcl/tk 8.5.5 and also 8.4

I could send you my Makefile.def but I'd rather not clutter this venue. It's available here:
<http://moo.nac.uci.edu/~hjm/Makefile.def>
(The starting file was the MAKES/Makefile.def.LINUX_CLUSTER)
If you think I would have better luck with another one, please let me know.

the following is an extract of 'out', generated by:
make &> out
[code]
...
458 LIBRARIES BUILT ... NOW LINKING OpenSees PROGRAM
459 make[1]: Entering directory `/home/hmangala/build/OpenSees/SRC/tcl'
460 make[1]: Nothing to be done for `tcl'.
461 make[1]: Leaving directory `/home/hmangala/build/OpenSees/SRC/tcl'
462 make[1]: Entering directory `/home/hmangala/build/OpenSees/SRC/modelbuilder/tcl'
463 Makefile:30: warning: overriding commands for target `tcl'
464 Makefile:13: warning: ignoring old commands for target `tcl'
465 Makefile:41: warning: overriding commands for target `tk'
466 Makefile:21: warning: ignoring old commands for target `tk'
467 make[2]: Entering directory `/home/hmangala/build/OpenSees/SRC/tcl'
468 make[2]: Nothing to be done for `tk'.
469 make[2]: Leaving directory `/home/hmangala/build/OpenSees/SRC/tcl'
470 /home/hmangala/build/OpenSees/SRC/tcl/commands.o: In function `getNP(void*, Tcl_Interp*, int, char const**)':
471 commands.cpp:(.text+0xc33): undefined reference to `theMachineBroker'
472 /home/hmangala/build/OpenSees/SRC/tcl/commands.o: In function `getPID(void*, Tcl_Interp*, int, char const**)':
473 commands.cpp:(.text+0xc73): undefined reference to `theMachineBroker'
...
[/code]
So what is the missing link/package? Obviously, others have had this problem on similar machines.
opensees is the only project that Google returns when searching for 'themachinebroker' , so it implies this is not part of another package but specific to OpenSees.

The full content of the output is here:
<http://moo.nac.uci.edu/~hjm/OpenSees.makefile.out>

There are also a number of 'Unknown target' errors similar to:
[code]
104 make[3]: Entering directory `/home/hmangala/build/OpenSees/SRC/material/uniaxial'
105 Unknown target HardeningMaterial2.o, try: make help
106 Unknown target KinematicHardening.o, try: make help
107 Unknown target TclKinematicHardening.o, try: make help
108 Unknown target TclNewUnixialMaterial.o, try: make help
109 Unknown target PenaltyMaterial.o, try: make help
110 Unknown target WrappedMaterial.o, try: make help
111 Unknown target SecantMaterial.o, try: make help
112 Unknown target ConfinedConcrete02.o, try: make help
113 make[4]: Entering directory `/home/hmangala/build/OpenSees/SRC/material/uniaxial/fedeas'
114 Unknown target Steel2.o, try: make help
115 Unknown target Concr2.o, try: make help
116 make[4]: Leaving directory `/home/hmangala/build/OpenSees/SRC/material/uniaxial/fedeas'
[/code]

These don't seem to be quite as serious, but they are odd
hjmangalam
Posts: 11
Joined: Wed Jun 01, 2011 3:28 pm
Location: UC Irvine

Re: OpenSeesSP Build error

Post by hjmangalam »

OK some more info. Due to all the hardcoded paths and vars, I accidentally commented out some stuff that should not have been.
to wit, the 1st 3 lines that start with $(FE) below

PETSC_LIB = /apps/petsc/3.1-p8/lib/libpetsc.a \
$(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 \

Howeer, the code in this dir:
$(FE)/system_of_eqn/linearSOE/petsc
does appear to be compiling, hence the missing obj files that the Makefile requires:


make[2]: Nothing to be done for `tk'.
make[2]: Leaving directory `/home/hmangala/build/OpenSees/SRC/tcl'
g++: /home/hmangala/build/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSOE.o: No such file or directory
g++: /home/hmangala/build/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSolver.o: No such file or directory
g++: /home/hmangala/build/OpenSees/SRC/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.o: No such file or directory
g++: /usr/lib/libtcl8.4.a: No such file or directory
g++: /usr/lib/libtk8.4.a: No such file or directory
make[1]: *** [tk] Error 1

in the Makefile.def, we have at least 2 vars: PETSCINC and PETSC_INC which seem to point to the same thing. As well as including a lot of hard-coded author's paths, what do these things actually intend to point to?

And if they're intended to point to the Petsc include dir, why do I still get:

...
/home/hmangala/build/OpenSees/SRC -I/home/hmangala/build/OpenSees/OTHER/SuperLU_3.0/SRC -I/home/hmangala/build/OpenSees/SRC/package -I/home/hmangala/build/OpenSees/SRC/../OTHER/AMD -c PetscSOE.cpp -o PetscSOE.o
In file included from PetscSOE.cpp:32:
PetscSOE.h:44:22: error: petscksp.h: No such file or directory
PetscSOE.cpp:34:22: error: petscvec.h: No such file or directory
PetscSOE.h:96: error: ‘Mat’ does not name a type
PetscSOE.h:97: error: ‘Vec’ does not name a type
PetscSOE.h:99: error: ‘PetscTruth’ does not name a type
PetscSolver.h:51: error: expected `)' before ‘method’
PetscSolver.h:52: error: expected `)' before ‘method’

...

Is one of those vars supposed to point to a particular FILE instead of the dir?
hjmangalam
Posts: 11
Joined: Wed Jun 01, 2011 3:28 pm
Location: UC Irvine

Re: OpenSeesSP Build error

Post by hjmangalam »

Giving up on the parallel build due to build dead ends, but the serial version has hit the same wall.

The build still starts failing with our good friend 'theMachineBroker':
...
459 make[2]: Leaving directory `/home/hmangala/build/OpenSees/SRC/tcl'
460 /home/hmangala/build/OpenSees/SRC/tcl/commands.o: In function `getNP(void*, Tcl_Interp*, int, char const**)':
461 commands.cpp:(.text+0xc33): undefined reference to `theMachineBroker'
462 /home/hmangala/build/OpenSees/SRC/tcl/commands.o: In function `getPID(void*, Tcl_Interp*, int, char const**)':
463 commands.cpp:(.text+0xc73): undefined reference to `theMachineBroker'
464 /home/hmangala/build/OpenSees/SRC/tcl/commands.o: In function `record(void*, Tcl_Interp*, int, char const**)':
465 commands.cpp:(.text+0x14a5): undefined reference to `theDomain'
466 /home/hmangala/build/OpenSees/SRC/tcl/commands.o: In function `domainChange(void*, Tcl_Interp*, int, char const**)':
467 commands.cpp:(.text+0x14c5): undefined reference to `theDomain'
468 /home/hmangala/build/OpenSees/SRC/tcl/commands.o: In function `OpenSeesExit(void*, Tcl_Interp*, int, char const**)':
...

even tho in the Makefile.def:
PROGRAMMING_MODE = SEQUENTIAL
and in the [OpenSees/SRC/actor] dir
'make' completes successfully.

There are clearly missing directives that should point to the includes and object files that live in that dir tree.
hsafti
Posts: 68
Joined: Thu Apr 22, 2010 5:38 am
Location: Braunschweig

Re: OpenSeesSP Build error

Post by hsafti »

I have built OpenSees sequential successfully on Ubuntu 10.04, 10.10 & 11.04 .... It is the parallel version that drives me insane .... I will post the Makefile.def as soon as I go back to work (not very soon though). Have a nice weekend!
Hisham El Safti
hjmangalam
Posts: 11
Joined: Wed Jun 01, 2011 3:28 pm
Location: UC Irvine

Re: OpenSeesSP Build error

Post by hjmangalam »

Any hope of getting that Makefile.def?

I've been getting lots of replies regarding my posts but all of them are spam.

(hopeful) Thanks in advance
Harry
hsafti
Posts: 68
Joined: Thu Apr 22, 2010 5:38 am
Location: Braunschweig

Re: OpenSeesSP Build error

Post by hsafti »

Sorry for the delay .... This is the Makefile I use .. it is a modification of the one for Ubuntu 9.04 on the server by Aneeman (originally by Frank of course):

By the way Frank ... I believe the OpenSeesLab operates under Debian .... would you please share the Makefile.def for the hub .... PLLEAAASSEEEE

Here goes:
https://docs.google.com/document/d/18ll ... y=CMfcybIK

Please if you had any luck with building for parallel please share ..... I will if I had.


of course change the HOME variable into your home directory name:
HOME = home/yourMachineName

Libraries needed:

sudo apt-get install build-essential checkinstall

sudo apt-get install cvs subversion git-core mercurial

sudo apt-get install build-essential gfortran gfortran-4.3 libatk1.0-dev libcairo2-dev libdirectfb-dev libdirectfb-extra libexpat1-dev libfontconfig1-dev libfreetype6-dev libgfortran3 libgl1-mesa-dev libglu1-mesa libglu1-mesa-dev libgtk2.0-dev libice-dev libjpeg62-dev libpango1.0-dev libpixman-1-dev libpng12-dev libpthread-stubs0 libpthread-stubs0-dev libsm-dev libsysfs-dev libx11-dev libxau-dev libxcb1-dev libxcb-render0-dev libxcb-render-util0-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxrandr-dev libxrender-dev libxss-dev mesa-common-dev tcl8.5 tcl8.5-dev tcllib tk8.5 tk8.5-dev x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-scrnsaver-dev x11proto-xext-dev x11proto-xinerama-dev xtrans-dev zlib1g-dev



Note: you may need to:
1) in tkMain.cpp : comment or delete line 112 (in it a ‘strrchr’ command)
2) Toggle comment line# 94 in AMDnumberer.cpp file [I guess the AMD numberer may not work :( ].
3) You may:
a. Line# 112 in tkMain.cpp
b. The function void Tk_MainOpenSees starting at line# 172 in tkMain.cpp
c. lines #23 and #88 in tkAppInit.cpp because they call the previous function

Enjoy,
Hisham El Safti
Hisham El Safti
Post Reply