Reg Download Problem (Source Code of Version 2.4.0)

For developers writing C++, Fortran, Java, code who have questions or comments to make.

Moderators: silvia, selimgunay, Moderators

Post Reply
sb1966
Posts: 151
Joined: Wed Jul 23, 2008 8:08 am
Location: NERIST, INDIA
Contact:

Reg Download Problem (Source Code of Version 2.4.0)

Post by sb1966 »

Dear fmk and all

I tried to download the source code of latest version (2.4.0) from the Developer Download page. however, it is giving me that the file does not exist. The link to the stable.tar.gz archive wrongly points to version 2.3.2.

Kindly look into the matter and advise accordingly.

Regards
----------------------------------
With Regards,
sb1966
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Reg Download Problem (Source Code of Version 2.4.0)

Post by fmk »

the best way to obtain the source code is using svn .. the changeLog shows the release tag at ime of official release, 2.4.0 being 5114.

http://opensees.berkeley.edu/OpenSees/developer/svn.php
sb1966
Posts: 151
Joined: Wed Jul 23, 2008 8:08 am
Location: NERIST, INDIA
Contact:

Re: Reg Download Problem (Source Code of Version 2.4.0)

Post by sb1966 »

Dear fmk and all

I have downloaded the svn version. But while trying to compile, I am getting the following error:

=================================================================
LIBRARIES BUILT ... NOW LINKING OpenSees PROGRAM
make[1]: Entering directory `/home/sukumar/OpenSees/SRC/tcl'
make[1]: Nothing to be done for `tcl'.
make[1]: Leaving directory `/home/sukumar/OpenSees/SRC/tcl'
make[1]: Entering directory `/home/sukumar/OpenSees/SRC/modelbuilder/tcl'
make[2]: Entering directory `/home/sukumar/OpenSees/SRC/tcl'
make[2]: Nothing to be done for `tcl'.
make[2]: Leaving directory `/home/sukumar/OpenSees/SRC/tcl'
/home/sukumar/lib/libOpenSees.a(PFEMSolver.o): In function `PFEMSolver::setSize()':
PFEMSolver.cpp:(.text+0x3c): undefined reference to `cs_spfree'
/home/sukumar/lib/libOpenSees.a(PFEMSolver.o): In function `PFEMSolver::setMatIDs()':
PFEMSolver.cpp:(.text+0xe4): undefined reference to `cs_spalloc'
PFEMSolver.cpp:(.text+0x10c): undefined reference to `cs_spalloc'
PFEMSolver.cpp:(.text+0x130): undefined reference to `cs_spalloc'
PFEMSolver.cpp:(.text+0x158): undefined reference to `cs_spalloc'
PFEMSolver.cpp:(.text+0x292): undefined reference to `cs_entry'
PFEMSolver.cpp:(.text+0x33a): undefined reference to `cs_entry'
PFEMSolver.cpp:(.text+0x398): undefined reference to `cs_entry'
PFEMSolver.cpp:(.text+0x461): undefined reference to `cs_spfree'
PFEMSolver.cpp:(.text+0x46b): undefined reference to `cs_compress'
PFEMSolver.cpp:(.text+0x479): undefined reference to `cs_spfree'
PFEMSolver.cpp:(.text+0x487): undefined reference to `cs_spfree'
PFEMSolver.cpp:(.text+0x491): undefined reference to `cs_compress'
PFEMSolver.cpp:(.text+0x49f): undefined reference to `cs_spfree'
PFEMSolver.cpp:(.text+0x4ad): undefined reference to `cs_spfree'
PFEMSolver.cpp:(.text+0x4b7): undefined reference to `cs_compress'
PFEMSolver.cpp:(.text+0x4c5): undefined reference to `cs_spfree'
PFEMSolver.cpp:(.text+0x4d6): undefined reference to `cs_spfree'
PFEMSolver.cpp:(.text+0x4e0): undefined reference to `cs_compress'
PFEMSolver.cpp:(.text+0x4f1): undefined reference to `cs_spfree'
PFEMSolver.cpp:(.text+0x7c9): undefined reference to `cs_multiply'
PFEMSolver.cpp:(.text+0x7e8): undefined reference to `cs_add'
PFEMSolver.cpp:(.text+0x7f3): undefined reference to `cs_spfree'
PFEMSolver.cpp:(.text+0x840): undefined reference to `cs_entry'
/home/sukumar/lib/libOpenSees.a(PFEMSolver.o): In function `PFEMSolver::solve()':
PFEMSolver.cpp:(.text+0xdb0): undefined reference to `cs_spalloc'
PFEMSolver.cpp:(.text+0xf17): undefined reference to `cs_multiply'
PFEMSolver.cpp:(.text+0xf36): undefined reference to `cs_add'
PFEMSolver.cpp:(.text+0xf41): undefined reference to `cs_spfree'
PFEMSolver.cpp:(.text+0xf4b): undefined reference to `cs_spfree'
PFEMSolver.cpp:(.text+0xf97): undefined reference to `cs_gaxpy'
PFEMSolver.cpp:(.text+0x100a): undefined reference to `cs_qrsol'
PFEMSolver.cpp:(.text+0x1012): undefined reference to `cs_spfree'
PFEMSolver.cpp:(.text+0x105d): undefined reference to `cs_gaxpy'
PFEMSolver.cpp:(.text+0x1150): undefined reference to `cs_gaxpy'
/home/sukumar/lib/libOpenSees.a(PFEMSolver.o): In function `PFEMSolver::~PFEMSolver()':
PFEMSolver.cpp:(.text+0x1454): undefined reference to `cs_spfree'
PFEMSolver.cpp:(.text+0x1462): undefined reference to `cs_spfree'
PFEMSolver.cpp:(.text+0x1470): undefined reference to `cs_spfree'
PFEMSolver.cpp:(.text+0x1481): undefined reference to `cs_spfree'
/home/sukumar/lib/libOpenSees.a(PFEMSolver.o): In function `PFEMSolver::~PFEMSolver()':
PFEMSolver.cpp:(.text+0x15c4): undefined reference to `cs_spfree'
/home/sukumar/lib/libOpenSees.a(PFEMSolver.o):PFEMSolver.cpp:(.text+0x15d2): more undefined references to `cs_spfree' follow
collect2: ld returned 1 exit status
make[1]: *** [tcl] Error 1
make[1]: Leaving directory `/home/sukumar/OpenSees/SRC/modelbuilder/tcl'
make: *** [all] Error 2
========================================================
I would like to have your guidance regarding this error.

Thanks in advance.
----------------------------------
With Regards,
sb1966
thomas.ulrich
Posts: 28
Joined: Fri Mar 11, 2011 2:12 am
Location: Orléans

Re: Reg Download Problem (Source Code of Version 2.4.0)

Post by thomas.ulrich »

You need to add lines in you make file to compile and link CSPARSE.

Have a look at Makefile.def.EC2-DEBIAN for instance:

Makefile.def.EC2-DEBIAN:CSPARSEdir = $(HOME)/OpenSees/OTHER/CSPARSE
Makefile.def.EC2-DEBIAN: $(CSPARSEdir) \
Makefile.def.EC2-DEBIAN:DIRS = $(BLASdir) $(CBLASdir) $(LAPACKdir) $(AMDdir) $(CSPARSEdir) \
Makefile.def.EC2-DEBIAN:CSPARSE_LIBRARY = $(HOME)/lib/libCSparse.a
Makefile.def.EC2-DEBIAN: $(CSPARSE_LIBRARY) \
Makefile.def.EC2-DEBIAN: $(CSPARSE_LIBRARY) \

Thomas.
sb1966
Posts: 151
Joined: Wed Jul 23, 2008 8:08 am
Location: NERIST, INDIA
Contact:

Re: Reg Download Problem (Source Code of Version 2.4.0)

Post by sb1966 »

Dear Thomas.
Thanks a lot and sorry for delayed reply. I have successfully made OpenSees 2.4.3 in Ubuntu 12.04 LTS using your instruction.
I am pasting my makefile.def below hoping this may be useful for someone. 8)
############################################################################
#
# Program: OpenSees
#
# Purpose: A Top-level Makefile to create the libraries needed
# to use the OpenSees framework on Ubuntu 12.04 LTS, 64 bit.
#
# Written: Based on Linux 6.1 version by fmk (10.99)
# Created: (5.19.2011)
# Modified: 24.12.2013
#
############################################################################

# %---------------------------------%
# | SECTION 1: PROGRAM |
# %---------------------------------%
#
# Specify the location and name of the OpenSees interpreter program
# that will be created (if this all works!)

OpenSees_PROGRAM = $(HOME)/bin/OpenSees

#OPERATING_SYSTEM = LINUX
#GRAPHICS = NONE
#GRAPHIC_FLAG = -D_NOGRAPHICS
#PROGRAMMING_MODE = SEQUENTIAL
#DEBUG_MODE = NO_DEBUG
#RELIABILITY = NO_RELIABILITY

OPERATING_SYSTEM = LINUX
GRAPHICS = UsingOpenGL
#GRAPHICS = UsingX11
PROGRAMMING_MODE = SEQUENTIAL
DEBUG_MODE = NO_DEBUG
RELIABILITY = NO_RELIABILITY


# %---------------------------------%
# | SECTION 2: PATHS |
# %---------------------------------%
#
# Note: if vendor supplied BLAS and LAPACK libraries or if you have
# any of the libraries already leave the directory location blank AND
# remove the directory from DIRS.

BASE = /local
HOME = /home/sukumar
FE = $(HOME)/OpenSees/SRC

BLASdir = $(HOME)/OpenSees/OTHER/BLAS
CBLASdir = $(HOME)/OpenSees/OTHER/CBLAS
LAPACKdir = $(HOME)/OpenSees/OTHER/LAPACK
#LAPACKdir =
SUPERLUdir = $(HOME)/OpenSees/OTHER/SuperLU_4.1/SRC
ARPACKdir = $(HOME)/OpenSees/OTHER/ARPACK
UMFPACKdir = $(HOME)/OpenSees/OTHER/UMFPACK
METISdir = $(HOME)/OpenSees/OTHER/METIS
CSPARSEdir = $(HOME)/OpenSees/OTHER/CSPARSE
SRCdir = $(HOME)/OpenSees/SRC
AMDdir = $(HOME)/OpenSees/OTHER/AMD

DIRS = $(AMDdir) $(BLASdir) $(CBLASdir) $(LAPACKdir) $(CSPARSEdir) \
$(SUPERLUdir) $(ARPACKdir) $(UMFPACKdir) $(SRCdir) $(METISdir)
#DIRS = $(AMDdir) $(BLASdir) $(CBLASdir) \
# $(SUPERLUdir) $(ARPACKdir) $(UMFPACKdir) $(SRCdir) $(METISdir)


# %-------------------------------------------------------%
# | SECTION 3: LIBRARIES |
# | |
# | The following section defines the libraries that will |
# | be created and/or linked with when the libraries are |
# | being created or linked with. |
# %-------------------------------------------------------%
#
# Note: 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
#LAPACK_LIBRARY =
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
CSPARSE_LIBRARY = $(HOME)/lib/libCSparse.a
#TCL_LIBRARY = /usr/lib/libtk8.5.so /usr/lib/libX11.a /usr/lib/libtcl8.5.so
TCL_LIBRARY = /usr/lib/libtk8.5.so /usr/lib/libtcl8.5.so
BLITZ_LIBRARY = /usr/lib/libblitz.a
#BLITZ_LIBRARY =
GRAPHIC_LIBRARY =/usr/lib/x86_64-linux-gnu/libGLU.a /usr/lib/x86_64-linux-gnu/libGL.so
#GRAPHIC_LIBRARY = -L/usr/lib/X11 -lX11 -lGL -lGLU
#GRAPHIC_LIBRARY = -L/usr/lib/X11 -lX11
AMD_LIBRARY = $(HOME)/lib/libAmd.a

# WATCH OUT .. These libraries are removed when 'make wipe' is invoked.
WIPE_LIBS = $(FE_LIBRARY) \
$(LAPACK_LIBRARY) \
$(BLAS_LIBRARY) \
$(CBLAS_LIBRARY) \
$(SUPERLU_LIBRARY) \
$(ARPACK_LIBRARY) \
$(UMFPACK_LIBRARY) \
$(METIS_LIBRARY)

# %---------------------------------------------------------%
# | SECTION 4: COMPILERS |
# | |
# | The following macros specify compilers, linker/loaders, |
# | the archiver, and their options. You need to make sure |
# | these are correct for your system. |
# %---------------------------------------------------------%

# Compilers
CC++ = /usr/bin/g++
CC = /usr/bin/gcc
FC = /usr/bin/gfortran

AR = ar
ARFLAGS = cqls
RANLIB = ranlib
RANLIBFLAGS =

# Compiler Flags
#
# NOTES:
# C++ FLAGS TAKE need _UNIX or _WIN32 for preprocessor dircetives
# - the _WIN32 for the Windows95/98 or NT operating system.
# C FLAGS used -DUSE_VENDOR_BLAS (needed in SuperLU) if UNIX in C++ FLAGS
#

GRAPHIC_FLAG = -D_GLX
#GRAPHIC_FLAG = -D_X11
# modified as optimizaton currently causing problems with Steeln01 code
ifeq ($(DEBUG_MODE), DEBUG)

C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL85 \
$(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) \
-g -pg


CFLAGS = -Wall -pg $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG)
FFLAGS = -Wall

# Linker
LINKER = $(CC++)
LINKFLAGS = -g -pg

else

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

# Linker
LINKER = $(CC++)
LINKFLAGS = -rdynamic -Wl

endif


GRAPHIC_FLAG = -D_GLX
#GRAPHIC_FLAG = -D_X11

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

# %---------------------------------------------------------%
# | SECTION 5: COMPILATION |
# | |
# | The following macros specify the macros used in |
# | to compile the source code into object code. |
# %---------------------------------------------------------%

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

#
# %------------------%
# | Default command. |
# %------------------%
#
.DEFAULT:
@$(ECHO) "Unknown target $@, try: make help"
#
# %-------------------------------------------%
# | Command to build .o files from .f 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 $< -o $@
.f.o:
@$(ECHO) Making $@ from $<
$(FC) $(FFLAGS) -c $< -o $@

# %---------------------------------------------------------%
# | SECTION 6: OTHER LIBRARIES |
# | |
# | The following macros specify other libraries that must |
# | be linked with when creating executables. These are |
# | platform specific and typically order does matter!! |
# %---------------------------------------------------------%
MACHINE_LINKLIBS = -L$(BASE)/lib \
-L$(HOME)/lib

MACHINE_NUMERICAL_LIBS = -lm \
$(ARPACK_LIBRARY) \
$(SUPERLU_LIBRARY) \
$(UMFPACK_LIBRARY) $(CSPARSE_LIBRARY) \
$(LAPACK_LIBRARY) $(BLAS_LIBRARY) $(CBLAS_LIBRARY) \
$(GRAPHIC_LIBRARY) $(AMD_LIBRARY)\
-ldl -lgfortran -lpng

MACHINE_SPECIFIC_LIBS =



# %---------------------------------------------------------%
# | SECTION 7: INCLUDE FILES |
# | |
# | The following macros specify include files needed for |
# | compilation. |
# %---------------------------------------------------------%
MACHINE_INCLUDES = -I/usr/include \
-I$(BASE)/include \
-I/usr/include/cxx \
-I$(HOME)/include -I$(HOME)/blitz

# this file contains all the OpenSees/SRC includes
include $(FE)/Makefile.incl

TCL_INCLUDES =-I/usr/include/tcl8.5 -I/usr/include/

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

##################################################

Regards.
----------------------------------
With Regards,
sb1966
Post Reply