Compiling OpenSees on OpenSUSE Linux
Moderators: silvia, selimgunay, Moderators
Compiling OpenSees on OpenSUSE Linux
Successfully compiled OpenSees on OpenSUSE.
The following steps were necessary:
1. cp MAKES/Makefile.def.EC2-SUSE Makefile.def
2. edit Makefile.def
- adapt home directory (line 67)
HOME = /home/.....
- change linker option: remove (or comment out) option -Wl (line 179)
LINKFLAGS = -rdynamic #-Wl
3. edit OTHER/CSPARSE/Makefile
- remove (or comment out) lines 3 to 6
# ifndef $(CSPARSE_LIBRARY)
# @$(ECHO) "CSPAPRSE_LIBRARY not DEFINED" \
# CSPARSE_LIBRARY = libcsparse.a.a
#endif
4. run "make"
Some details
- OpenSUSE 12.2, 64-bit
- tcl version 8.5 (tcl-devel installed)
- got OpenSees source from subversion repository (svn build 5137)
The following steps were necessary:
1. cp MAKES/Makefile.def.EC2-SUSE Makefile.def
2. edit Makefile.def
- adapt home directory (line 67)
HOME = /home/.....
- change linker option: remove (or comment out) option -Wl (line 179)
LINKFLAGS = -rdynamic #-Wl
3. edit OTHER/CSPARSE/Makefile
- remove (or comment out) lines 3 to 6
# ifndef $(CSPARSE_LIBRARY)
# @$(ECHO) "CSPAPRSE_LIBRARY not DEFINED" \
# CSPARSE_LIBRARY = libcsparse.a.a
#endif
4. run "make"
Some details
- OpenSUSE 12.2, 64-bit
- tcl version 8.5 (tcl-devel installed)
- got OpenSees source from subversion repository (svn build 5137)
Re: Compiling OpenSees on OpenSUSE Linux
Update for OpenSees 2.4.3 on OpenSUSE 13.1
The following steps were necessary:
1. cp MAKES/Makefile.def.EC2-SUSE Makefile.def
2. edit Makefile.def
- adapt home directory (line 67)
HOME = /home/.....
- adapt TCL_LIBRARY to your tcl version (8.6) (line 113)
- change linker option: remove (or comment out) option -Wl (line 179)
LINKFLAGS = -rdynamic #-Wl
- add to C++FLAGS options -DUSE_INTERP_RESULT -fpermissive
the changes are: diff MAKES/Makefile.def.EC2-SUSE Makefile.def
66a67
> HOME = /home/USER/DIR_BELOW_OPENSEESDIR # Adapt this line!
112c113
< TCL_LIBRARY = /usr/lib64/libtcl8.5.so
---
> TCL_LIBRARY = /usr/lib64/libtcl8.6.so
156c157
< C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL85 \
---
> C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL86 -DUSE_INTERP_RESULT \
158c159
< -g -pg
---
> -g -pg -fpermissive
170c171
< C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL85 \
---
> C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL86 -DUSE_INTERP_RESULT \
172c173
< $(PROGRAMMING_FLAG) -O3 -ffloat-store
---
> $(PROGRAMMING_FLAG) -O3 -ffloat-store -fpermissive
178c179
< LINKFLAGS = -rdynamic -Wl
---
> LINKFLAGS = -rdynamic #-Wl
3. run "make"
The binary file OpenSees then can be moved to a directory in the path.
Some details
- OpenSUSE 13.1, 64-bit
- tcl version 8.6 (tcl-devel installed)
- got OpenSees source from subversion repository (svn build 5680)
The following steps were necessary:
1. cp MAKES/Makefile.def.EC2-SUSE Makefile.def
2. edit Makefile.def
- adapt home directory (line 67)
HOME = /home/.....
- adapt TCL_LIBRARY to your tcl version (8.6) (line 113)
- change linker option: remove (or comment out) option -Wl (line 179)
LINKFLAGS = -rdynamic #-Wl
- add to C++FLAGS options -DUSE_INTERP_RESULT -fpermissive
the changes are: diff MAKES/Makefile.def.EC2-SUSE Makefile.def
66a67
> HOME = /home/USER/DIR_BELOW_OPENSEESDIR # Adapt this line!
112c113
< TCL_LIBRARY = /usr/lib64/libtcl8.5.so
---
> TCL_LIBRARY = /usr/lib64/libtcl8.6.so
156c157
< C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL85 \
---
> C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL86 -DUSE_INTERP_RESULT \
158c159
< -g -pg
---
> -g -pg -fpermissive
170c171
< C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL85 \
---
> C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL86 -DUSE_INTERP_RESULT \
172c173
< $(PROGRAMMING_FLAG) -O3 -ffloat-store
---
> $(PROGRAMMING_FLAG) -O3 -ffloat-store -fpermissive
178c179
< LINKFLAGS = -rdynamic -Wl
---
> LINKFLAGS = -rdynamic #-Wl
3. run "make"
The binary file OpenSees then can be moved to a directory in the path.
Some details
- OpenSUSE 13.1, 64-bit
- tcl version 8.6 (tcl-devel installed)
- got OpenSees source from subversion repository (svn build 5680)
-
- Posts: 2
- Joined: Sun Sep 02, 2012 5:23 pm
Re: Compiling OpenSees on OpenSUSE Linux
Dear userav, I followed your advise and modified my Make.def file like you did, but still can't compile it successfully.
Would you share your Make.def please?
I'm using OpenSUSE 13.1-X64 too.
userav wrote:
> Update for OpenSees 2.4.3 on OpenSUSE 13.1
>
> The following steps were necessary:
>
> 1. cp MAKES/Makefile.def.EC2-SUSE Makefile.def
>
> 2. edit Makefile.def
> - adapt home directory (line 67)
> HOME = /home/.....
> - adapt TCL_LIBRARY to your tcl version (8.6) (line 113)
> - change linker option: remove (or comment out) option -Wl (line 179)
> LINKFLAGS = -rdynamic #-Wl
> - add to C++FLAGS options -DUSE_INTERP_RESULT -fpermissive
>
> the changes are: diff MAKES/Makefile.def.EC2-SUSE Makefile.def
> 66a67
> > HOME = /home/USER/DIR_BELOW_OPENSEESDIR # Adapt this line!
> 112c113
> < TCL_LIBRARY = /usr/lib64/libtcl8.5.so
> ---
> > TCL_LIBRARY = /usr/lib64/libtcl8.6.so
> 156c157
> < C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL85 \
> ---
> > C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL86 -DUSE_INTERP_RESULT \
> 158c159
> < -g -pg
> ---
> > -g -pg -fpermissive
> 170c171
> < C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL85 \
> ---
> > C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL86 -DUSE_INTERP_RESULT \
> 172c173
> < $(PROGRAMMING_FLAG) -O3 -ffloat-store
> ---
> > $(PROGRAMMING_FLAG) -O3 -ffloat-store -fpermissive
> 178c179
>
>
> < LINKFLAGS = -rdynamic -Wl
>
>
> ---
>
>
> > LINKFLAGS = -rdynamic #-Wl
>
> 3. run "make"
> The binary file OpenSees then can be moved to a directory in the path.
>
> Some details
> - OpenSUSE 13.1, 64-bit
> - tcl version 8.6 (tcl-devel installed)
> - got OpenSees source from subversion repository (svn build 5680)
Would you share your Make.def please?
I'm using OpenSUSE 13.1-X64 too.
userav wrote:
> Update for OpenSees 2.4.3 on OpenSUSE 13.1
>
> The following steps were necessary:
>
> 1. cp MAKES/Makefile.def.EC2-SUSE Makefile.def
>
> 2. edit Makefile.def
> - adapt home directory (line 67)
> HOME = /home/.....
> - adapt TCL_LIBRARY to your tcl version (8.6) (line 113)
> - change linker option: remove (or comment out) option -Wl (line 179)
> LINKFLAGS = -rdynamic #-Wl
> - add to C++FLAGS options -DUSE_INTERP_RESULT -fpermissive
>
> the changes are: diff MAKES/Makefile.def.EC2-SUSE Makefile.def
> 66a67
> > HOME = /home/USER/DIR_BELOW_OPENSEESDIR # Adapt this line!
> 112c113
> < TCL_LIBRARY = /usr/lib64/libtcl8.5.so
> ---
> > TCL_LIBRARY = /usr/lib64/libtcl8.6.so
> 156c157
> < C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL85 \
> ---
> > C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL86 -DUSE_INTERP_RESULT \
> 158c159
> < -g -pg
> ---
> > -g -pg -fpermissive
> 170c171
> < C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL85 \
> ---
> > C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL86 -DUSE_INTERP_RESULT \
> 172c173
> < $(PROGRAMMING_FLAG) -O3 -ffloat-store
> ---
> > $(PROGRAMMING_FLAG) -O3 -ffloat-store -fpermissive
> 178c179
>
>
> < LINKFLAGS = -rdynamic -Wl
>
>
> ---
>
>
> > LINKFLAGS = -rdynamic #-Wl
>
> 3. run "make"
> The binary file OpenSees then can be moved to a directory in the path.
>
> Some details
> - OpenSUSE 13.1, 64-bit
> - tcl version 8.6 (tcl-devel installed)
> - got OpenSees source from subversion repository (svn build 5680)
Re: Compiling OpenSees on OpenSUSE Linux
Dear hustlcf1990
The file "Makefile.def" is pasted below.
############################################################################
#
# Program: OpenSees
#
# Purpose: A Top-level Makefile to create the libraries needed
# to use the OpenSees framework. Works on Linux version 6.1
# and below.
#
# Written: fmk
# Created: 10/99
#
# Send bug reports, comments or suggestions to fmckenna@ce.berkeley.edu
#
############################################################################
## ssh to machine using
# chmod 'go+rwx' XXX.pem
# (right click running instance, click connect, click connect with standalone ssh client to get command:
# ssh -i XXX.pem root@YYY.amazonaws.com
#
# Instructuction for building OpenSees on SUSE Linux
# using amazon EC-2 instance ami-ca32efa3 64bit once logged in
# mkdir lib
# mkdir bin
# sudo yast2 -i subversion
# sudo yast2 -i emacs
# sudo yast2 -i make
# sudo yast2 -i tcl
# sudo yast2 -i tcl-devel
# sudo yast2 -i gcc
# sudo yast2 -i gcc-c++
# sudo yast2 -i gcc-fortran
# svn co svn://opensees.berkeley.edu/usr/local/svn/OpenSees/trunk OpenSees
# cd OpenSees
# cp ./MAKES/Makefile.def.EC2-SUSE ./Makefile.def
# make
# end of instructions
# %---------------------------------%
# | 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
# %---------------------------------%
# | 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 = /usr/local
HOME = /home/av/extract
FE = $(HOME)/OpenSees/SRC
AMDdir = $(HOME)/OpenSees/OTHER/AMD
BLASdir = $(HOME)/OpenSees/OTHER/BLAS
CBLASdir = $(HOME)/OpenSees/OTHER/CBLAS
LAPACKdir = $(HOME)/OpenSees/OTHER/LAPACK
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
DIRS = $(BLASdir) $(CBLASdir) $(LAPACKdir) $(AMDdir) $(CSPARSEdir) \
$(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
BLAS_LIBRARY = $(HOME)/lib/libBlas.a
SUPERLU_LIBRARY = $(HOME)/lib/libSuperLU.a
CBLAS_LIBRARY = $(HOME)/lib/libCBlas.a
ARPACK_LIBRARY = $(HOME)/lib/libArpack.a
AMD_LIBRARY = $(HOME)/lib/libAMD.a
UMFPACK_LIBRARY = $(HOME)/lib/libUmfpack.a
METIS_LIBRARY = $(HOME)/lib/libMetis.a
CSPARSE_LIBRARY = $(HOME)/lib/libCSparse.a
TCL_LIBRARY = /usr/lib64/libtcl8.6.so
BLITZ_LIBRARY = $(HOME)/blitz/lib/libblitz.a
GRAPHIC_LIBRARY =
# 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) \
$(CSPARSE_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
#
# modified as optimizaton currently causing problems with Steeln01 code
ifeq ($(DEBUG_MODE), DEBUG)
C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL86 -DUSE_INTERP_RESULT \
$(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) \
-g -pg -fpermissive
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_TCL86 -DUSE_INTERP_RESULT \
$(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) \
$(PROGRAMMING_FLAG) -O3 -ffloat-store -fpermissive
CFLAGS = -Wall -O2
FFLAGS = -Wall -O
# Linker
LINKER = $(CC++)
LINKFLAGS = -rdynamic #-Wl
endif
# 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) \
$(AMD_LIBRARY) $(GRAPHIC_LIBRARY)\
-ldl -lgfortran
MACHINE_SPECIFIC_LIBS =
# %---------------------------------------------------------%
# | SECTION 7: INCLUDE FILES |
# | |
# | The following macros specify include files needed for |
# | compilation. |
# %---------------------------------------------------------%
# this file contains all the OpenSees/SRC includes
include $(FE)/Makefile.incl
MACHINE_INCLUDES = -I/usr/include \
-I$(BASE)/include \
-I/usr/include/cxx \
-I$(HOME)/include -I$(HOME)/blitz
TCL_INCLUDES = -I/usr/include/tcl8.5
INCLUDES = $(TCL_INCLUDES) $(FE_INCLUDES) $(MACHINE_INCLUDES)
The file "Makefile.def" is pasted below.
############################################################################
#
# Program: OpenSees
#
# Purpose: A Top-level Makefile to create the libraries needed
# to use the OpenSees framework. Works on Linux version 6.1
# and below.
#
# Written: fmk
# Created: 10/99
#
# Send bug reports, comments or suggestions to fmckenna@ce.berkeley.edu
#
############################################################################
## ssh to machine using
# chmod 'go+rwx' XXX.pem
# (right click running instance, click connect, click connect with standalone ssh client to get command:
# ssh -i XXX.pem root@YYY.amazonaws.com
#
# Instructuction for building OpenSees on SUSE Linux
# using amazon EC-2 instance ami-ca32efa3 64bit once logged in
# mkdir lib
# mkdir bin
# sudo yast2 -i subversion
# sudo yast2 -i emacs
# sudo yast2 -i make
# sudo yast2 -i tcl
# sudo yast2 -i tcl-devel
# sudo yast2 -i gcc
# sudo yast2 -i gcc-c++
# sudo yast2 -i gcc-fortran
# svn co svn://opensees.berkeley.edu/usr/local/svn/OpenSees/trunk OpenSees
# cd OpenSees
# cp ./MAKES/Makefile.def.EC2-SUSE ./Makefile.def
# make
# end of instructions
# %---------------------------------%
# | 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
# %---------------------------------%
# | 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 = /usr/local
HOME = /home/av/extract
FE = $(HOME)/OpenSees/SRC
AMDdir = $(HOME)/OpenSees/OTHER/AMD
BLASdir = $(HOME)/OpenSees/OTHER/BLAS
CBLASdir = $(HOME)/OpenSees/OTHER/CBLAS
LAPACKdir = $(HOME)/OpenSees/OTHER/LAPACK
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
DIRS = $(BLASdir) $(CBLASdir) $(LAPACKdir) $(AMDdir) $(CSPARSEdir) \
$(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
BLAS_LIBRARY = $(HOME)/lib/libBlas.a
SUPERLU_LIBRARY = $(HOME)/lib/libSuperLU.a
CBLAS_LIBRARY = $(HOME)/lib/libCBlas.a
ARPACK_LIBRARY = $(HOME)/lib/libArpack.a
AMD_LIBRARY = $(HOME)/lib/libAMD.a
UMFPACK_LIBRARY = $(HOME)/lib/libUmfpack.a
METIS_LIBRARY = $(HOME)/lib/libMetis.a
CSPARSE_LIBRARY = $(HOME)/lib/libCSparse.a
TCL_LIBRARY = /usr/lib64/libtcl8.6.so
BLITZ_LIBRARY = $(HOME)/blitz/lib/libblitz.a
GRAPHIC_LIBRARY =
# 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) \
$(CSPARSE_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
#
# modified as optimizaton currently causing problems with Steeln01 code
ifeq ($(DEBUG_MODE), DEBUG)
C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL86 -DUSE_INTERP_RESULT \
$(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) \
-g -pg -fpermissive
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_TCL86 -DUSE_INTERP_RESULT \
$(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) \
$(PROGRAMMING_FLAG) -O3 -ffloat-store -fpermissive
CFLAGS = -Wall -O2
FFLAGS = -Wall -O
# Linker
LINKER = $(CC++)
LINKFLAGS = -rdynamic #-Wl
endif
# 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) \
$(AMD_LIBRARY) $(GRAPHIC_LIBRARY)\
-ldl -lgfortran
MACHINE_SPECIFIC_LIBS =
# %---------------------------------------------------------%
# | SECTION 7: INCLUDE FILES |
# | |
# | The following macros specify include files needed for |
# | compilation. |
# %---------------------------------------------------------%
# this file contains all the OpenSees/SRC includes
include $(FE)/Makefile.incl
MACHINE_INCLUDES = -I/usr/include \
-I$(BASE)/include \
-I/usr/include/cxx \
-I$(HOME)/include -I$(HOME)/blitz
TCL_INCLUDES = -I/usr/include/tcl8.5
INCLUDES = $(TCL_INCLUDES) $(FE_INCLUDES) $(MACHINE_INCLUDES)
-
- Posts: 2
- Joined: Sun Sep 02, 2012 5:23 pm
Re: Compiling OpenSees on OpenSUSE Linux
Dear userav:
Thanks a lot. I have compiled OpenSees successfully on my OpenSUSE 13.1_x64 Linux under your advise.
It's very helpful.
userav wrote:
> Dear hustlcf1990
>
> The file "Makefile.def" is pasted below.
>
>
>
> ############################################################################
> #
> # Program: OpenSees
> #
> # Purpose: A Top-level Makefile to create the libraries needed
> # to use the OpenSees framework. Works on Linux version 6.1
> # and below.
> #
> # Written: fmk
> # Created: 10/99
> #
> # Send bug reports, comments or suggestions to fmckenna@ce.berkeley.edu
> #
>
> ############################################################################
>
> ## ssh to machine using
> # chmod 'go+rwx' XXX.pem
> # (right click running instance, click connect, click connect with
> standalone ssh client to get command:
> # ssh -i XXX.pem root@YYY.amazonaws.com
> #
> # Instructuction for building OpenSees on SUSE Linux
> # using amazon EC-2 instance ami-ca32efa3 64bit once logged in
> # mkdir lib
> # mkdir bin
> # sudo yast2 -i subversion
> # sudo yast2 -i emacs
> # sudo yast2 -i make
> # sudo yast2 -i tcl
> # sudo yast2 -i tcl-devel
> # sudo yast2 -i gcc
> # sudo yast2 -i gcc-c++
> # sudo yast2 -i gcc-fortran
> # svn co svn://opensees.berkeley.edu/usr/local/svn/OpenSees/trunk OpenSees
> # cd OpenSees
> # cp ./MAKES/Makefile.def.EC2-SUSE ./Makefile.def
> # make
>
> # end of instructions
>
>
> # %---------------------------------%
> # | 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
>
>
> # %---------------------------------%
> # | 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 = /usr/local
> HOME = /home/av/extract
> FE = $(HOME)/OpenSees/SRC
>
> AMDdir = $(HOME)/OpenSees/OTHER/AMD
> BLASdir = $(HOME)/OpenSees/OTHER/BLAS
> CBLASdir = $(HOME)/OpenSees/OTHER/CBLAS
> LAPACKdir = $(HOME)/OpenSees/OTHER/LAPACK
> 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
>
>
> DIRS = $(BLASdir) $(CBLASdir) $(LAPACKdir) $(AMDdir) $(CSPARSEdir) \
> $(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
> BLAS_LIBRARY = $(HOME)/lib/libBlas.a
> SUPERLU_LIBRARY = $(HOME)/lib/libSuperLU.a
> CBLAS_LIBRARY = $(HOME)/lib/libCBlas.a
> ARPACK_LIBRARY = $(HOME)/lib/libArpack.a
> AMD_LIBRARY = $(HOME)/lib/libAMD.a
> UMFPACK_LIBRARY = $(HOME)/lib/libUmfpack.a
> METIS_LIBRARY = $(HOME)/lib/libMetis.a
> CSPARSE_LIBRARY = $(HOME)/lib/libCSparse.a
> TCL_LIBRARY = /usr/lib64/libtcl8.6.so
> BLITZ_LIBRARY = $(HOME)/blitz/lib/libblitz.a
> GRAPHIC_LIBRARY =
>
> # 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) \
> $(CSPARSE_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
> #
>
> # modified as optimizaton currently causing problems with Steeln01 code
> ifeq ($(DEBUG_MODE), DEBUG)
>
> C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL86 -DUSE_INTERP_RESULT \
> $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) \
> -g -pg -fpermissive
>
>
> 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_TCL86 -DUSE_INTERP_RESULT \
> $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) \
> $(PROGRAMMING_FLAG) -O3 -ffloat-store -fpermissive
> CFLAGS = -Wall -O2
> FFLAGS = -Wall -O
>
> # Linker
> LINKER = $(CC++)
> LINKFLAGS = -rdynamic #-Wl
>
> endif
>
>
> # 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) \
> $(AMD_LIBRARY) $(GRAPHIC_LIBRARY)\
> -ldl -lgfortran
>
> MACHINE_SPECIFIC_LIBS =
>
>
> # %---------------------------------------------------------%
> # | SECTION 7: INCLUDE FILES |
> # | |
> # | The following macros specify include files needed for |
> # | compilation. |
> # %---------------------------------------------------------%
>
> # this file contains all the OpenSees/SRC includes
> include $(FE)/Makefile.incl
>
> MACHINE_INCLUDES = -I/usr/include \
> -I$(BASE)/include \
> -I/usr/include/cxx \
> -I$(HOME)/include -I$(HOME)/blitz
>
>
> TCL_INCLUDES = -I/usr/include/tcl8.5
>
> INCLUDES = $(TCL_INCLUDES) $(FE_INCLUDES) $(MACHINE_INCLUDES)
Thanks a lot. I have compiled OpenSees successfully on my OpenSUSE 13.1_x64 Linux under your advise.
It's very helpful.
userav wrote:
> Dear hustlcf1990
>
> The file "Makefile.def" is pasted below.
>
>
>
> ############################################################################
> #
> # Program: OpenSees
> #
> # Purpose: A Top-level Makefile to create the libraries needed
> # to use the OpenSees framework. Works on Linux version 6.1
> # and below.
> #
> # Written: fmk
> # Created: 10/99
> #
> # Send bug reports, comments or suggestions to fmckenna@ce.berkeley.edu
> #
>
> ############################################################################
>
> ## ssh to machine using
> # chmod 'go+rwx' XXX.pem
> # (right click running instance, click connect, click connect with
> standalone ssh client to get command:
> # ssh -i XXX.pem root@YYY.amazonaws.com
> #
> # Instructuction for building OpenSees on SUSE Linux
> # using amazon EC-2 instance ami-ca32efa3 64bit once logged in
> # mkdir lib
> # mkdir bin
> # sudo yast2 -i subversion
> # sudo yast2 -i emacs
> # sudo yast2 -i make
> # sudo yast2 -i tcl
> # sudo yast2 -i tcl-devel
> # sudo yast2 -i gcc
> # sudo yast2 -i gcc-c++
> # sudo yast2 -i gcc-fortran
> # svn co svn://opensees.berkeley.edu/usr/local/svn/OpenSees/trunk OpenSees
> # cd OpenSees
> # cp ./MAKES/Makefile.def.EC2-SUSE ./Makefile.def
> # make
>
> # end of instructions
>
>
> # %---------------------------------%
> # | 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
>
>
> # %---------------------------------%
> # | 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 = /usr/local
> HOME = /home/av/extract
> FE = $(HOME)/OpenSees/SRC
>
> AMDdir = $(HOME)/OpenSees/OTHER/AMD
> BLASdir = $(HOME)/OpenSees/OTHER/BLAS
> CBLASdir = $(HOME)/OpenSees/OTHER/CBLAS
> LAPACKdir = $(HOME)/OpenSees/OTHER/LAPACK
> 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
>
>
> DIRS = $(BLASdir) $(CBLASdir) $(LAPACKdir) $(AMDdir) $(CSPARSEdir) \
> $(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
> BLAS_LIBRARY = $(HOME)/lib/libBlas.a
> SUPERLU_LIBRARY = $(HOME)/lib/libSuperLU.a
> CBLAS_LIBRARY = $(HOME)/lib/libCBlas.a
> ARPACK_LIBRARY = $(HOME)/lib/libArpack.a
> AMD_LIBRARY = $(HOME)/lib/libAMD.a
> UMFPACK_LIBRARY = $(HOME)/lib/libUmfpack.a
> METIS_LIBRARY = $(HOME)/lib/libMetis.a
> CSPARSE_LIBRARY = $(HOME)/lib/libCSparse.a
> TCL_LIBRARY = /usr/lib64/libtcl8.6.so
> BLITZ_LIBRARY = $(HOME)/blitz/lib/libblitz.a
> GRAPHIC_LIBRARY =
>
> # 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) \
> $(CSPARSE_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
> #
>
> # modified as optimizaton currently causing problems with Steeln01 code
> ifeq ($(DEBUG_MODE), DEBUG)
>
> C++FLAGS = -Wall -D_LINUX -D_UNIX -D_TCL86 -DUSE_INTERP_RESULT \
> $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) \
> -g -pg -fpermissive
>
>
> 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_TCL86 -DUSE_INTERP_RESULT \
> $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) \
> $(PROGRAMMING_FLAG) -O3 -ffloat-store -fpermissive
> CFLAGS = -Wall -O2
> FFLAGS = -Wall -O
>
> # Linker
> LINKER = $(CC++)
> LINKFLAGS = -rdynamic #-Wl
>
> endif
>
>
> # 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) \
> $(AMD_LIBRARY) $(GRAPHIC_LIBRARY)\
> -ldl -lgfortran
>
> MACHINE_SPECIFIC_LIBS =
>
>
> # %---------------------------------------------------------%
> # | SECTION 7: INCLUDE FILES |
> # | |
> # | The following macros specify include files needed for |
> # | compilation. |
> # %---------------------------------------------------------%
>
> # this file contains all the OpenSees/SRC includes
> include $(FE)/Makefile.incl
>
> MACHINE_INCLUDES = -I/usr/include \
> -I$(BASE)/include \
> -I/usr/include/cxx \
> -I$(HOME)/include -I$(HOME)/blitz
>
>
> TCL_INCLUDES = -I/usr/include/tcl8.5
>
> INCLUDES = $(TCL_INCLUDES) $(FE_INCLUDES) $(MACHINE_INCLUDES)
Re: Compiling OpenSees on OpenSUSE Linux
Dear, we have some difficulties to compile OpenSees with tcl8.6. May you send us your Makefile.def versione with this option selected? Do you have a version also for the PARALLEL version? Thank You in advance. Best Regards.