diff options
-rw-r--r-- | .SRCINFO | 26 | ||||
-rwxr-xr-x | MPMakeFile.patch | 25 | ||||
-rw-r--r-- | Makefile.def | 62 | ||||
-rw-r--r-- | PKGBUILD | 75 | ||||
-rw-r--r-- | min-max-conflict.patch | 24 | ||||
-rw-r--r-- | png-miss-header.patch | 12 | ||||
-rw-r--r-- | steeldr.f-bug.patch | 26 |
7 files changed, 110 insertions, 140 deletions
@@ -1,31 +1,27 @@ -# Generated by mksrcinfo v8 -# Sat Oct 1 15:35:57 UTC 2016 pkgbase = opensees pkgdesc = OpenSees, a software framework for developing applications to simulate the performance of structural and geotechnical systems subjected to earthquakes - pkgver = 2.5.0 - pkgrel = 2 - url = http://opensees.berkeley.edu/ + pkgver = 3.2.0 + pkgrel = 1 + url = https://github.com/OpenSees/OpenSees arch = i686 arch = x86_64 license = custom - makedepends = svn + makedepends = git makedepends = gcc-fortran - depends = tk>=8.6 + makedepends = gcc + depends = tcl>=8.6 depends = openssl depends = libpng depends = mesa depends = lapack - depends = mumps4 + depends = mumps depends = glu depends = openmpi + depends = python source = Makefile.def - source = png-miss-header.patch - source = min-max-conflict.patch - source = steeldr.f-bug.patch - md5sums = cfcbd913cf332951aa326614e161fee3 - md5sums = b8f21b0e77db6338fd6550ba3aaf8057 - md5sums = 2e451d6e144b0e1a61e4efe622ef39b0 - md5sums = b572eee6bfd3ca03c2e541cdb1dcfcc7 + source = MPMakeFile.patch + md5sums = bcf43c4fcac86daf72659b723d88eb63 + md5sums = 6193c6e9f12912d04497b7b2a9c412ab pkgname = opensees diff --git a/MPMakeFile.patch b/MPMakeFile.patch new file mode 100755 index 000000000000..8ccda2eef561 --- /dev/null +++ b/MPMakeFile.patch @@ -0,0 +1,25 @@ +diff --git a/SRC/Makefile b/SRC/Makefile +index 0d08b926..f667853d 100644 +--- a/SRC/Makefile ++++ b/SRC/Makefile +@@ -1034,11 +1034,15 @@ SUPER_LU_OBJ = $(FE)/system_of_eqn/linearSOE/sparseGEN/SuperLU.o \ + $(FE)/system_of_eqn/linearSOE/mumps/MumpsSolver.o + endif + +-# ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS) +-# SUPER_LU_OBJ = $(FE)/system_of_eqn/linearSOE/sparseGEN/SuperLU.o \ +-# $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o \ +-# $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o +-# endif ++ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS) ++SUPER_LU_OBJ = $(FE)/system_of_eqn/linearSOE/sparseGEN/SuperLU.o \ ++ $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o \ ++ $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \ ++ $(FE)/system_of_eqn/linearSOE/mumps/MumpsParallelSOE.o \ ++ $(FE)/system_of_eqn/linearSOE/mumps/MumpsParallelSolver.o \ ++ $(FE)/system_of_eqn/linearSOE/mumps/MumpsSOE.o \ ++ $(FE)/system_of_eqn/linearSOE/mumps/MumpsSolver.o ++endif + + CUDA_CLASSES = + diff --git a/Makefile.def b/Makefile.def index d1bcb88962e3..26bfe23de4a5 100644 --- a/Makefile.def +++ b/Makefile.def @@ -9,7 +9,7 @@ # Written: mickele # Created: 12/2014 # Modified: nema.arpit -# Last modified: 09/2016 +# Last modified: 04/2020 # # Send bug reports, comments or suggestions to # https://aur.archlinux.org/packages/opensees/ @@ -34,7 +34,7 @@ OpenSees_PROGRAM = $(INSTALLDIR)/bin/OpenSees OPERATING_SYSTEM = LINUX # GRAPHICS = UsingOpenGL, UsingX11, NONE -GRAPHICS = UsingOpenGL +GRAPHICS = NONE # PROGRAMMING_MODE = SEQUENTIAL, THREADS, PARALLEL_INTERPRETERS, PARALLEL PROGRAMMING_MODE = SEQUENTIAL @@ -66,20 +66,20 @@ 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 +METISdir = $(HOME)/OpenSees/OTHER/METIS CSPARSEdir = $(HOME)/OpenSees/OTHER/CSPARSE SRCdir = $(HOME)/OpenSees/SRC ifeq ($(PROGRAMMING_MODE), THREADS) SUPERLUdir = $(HOME)/OpenSees/OTHER/SuperLU_MT else - SUPERLUdir = $(HOME)/OpenSees/OTHER/SuperLU_5.0/SRC + SUPERLUdir = $(HOME)/OpenSees/OTHER/SuperLU_5.1.1/SRC endif ifeq ($(PROGRAMMING_MODE), SEQUENTIAL) SUPERLU_DISTdir = else - SUPERLU_DISTdir = $(HOME)/OpenSees/OTHER/SuperLU_DIST_2.5/SRC + SUPERLU_DISTdir = $(HOME)/OpenSees/OTHER/SuperLU_DIST_4.3/SRC endif DIRS = $(BLASdir) $(CBLASdir) $(LAPACKdir) $(AMDdir) $(CSPARSEdir) \ @@ -112,18 +112,24 @@ BLAS_LIBRARY = $(HOME)/lib/libBlas.a #BLAS_LIBRARY = -lblas SUPERLU_LIBRARY = $(HOME)/lib/libSuperLU.a CBLAS_LIBRARY = $(HOME)/lib/libCBlas.a +#SUPERLU_LIBRARY = $(HOME)/lib/libSuperLU.a #CBLAS_LIBRARY = -lcblas ARPACK_LIBRARY = $(HOME)/lib/libArpack.a UMFPACK_LIBRARY = $(HOME)/lib/libUmfpack.a -# METIS_LIBRARY = $(HOME)/lib/libMetis.a -METIS_LIBRARY = -lmetis-4 -METIS_INCLUDE = /usr/include/metis-4 +#METIS_LIBRARY = $(HOME)/lib/libmetis.a +#METIS_INCLUDE = -I$(METISdir) +METIS_LIBRARY = -lmetis +METIS_INCLUDE = /usr/include/ CSPARSE_LIBRARY = $(HOME)/lib/libCSparse.a -TCL_LIBRARY = -ltk8.6 -ltcl8.6 -TCL_INCLUDE = -BLITZ_LIBRARY = +#CSPARSE_LIBRARY = $(HOME)/lib/libCSparse.a +TCL_LIBRARY = -ltcl8.6 +PYTHON_LIBRARY = -lpython3 +TCL_INCLUDE = +PYTHON_INCLUDE = -I/usr/include/python3.8 +BLITZ_LIBRARY = BLITZ_INCLUDE = AMD_LIBRARY = $(HOME)/lib/libAmd.a +#AMD_LIBRARY = -lamd ifeq ($(PROGRAMMING_MODE), SEQUENTIAL) DISTRIBUTED_SUPERLU_LIBRARY = @@ -158,8 +164,6 @@ WIPE_LIBS = $(FE_LIBRARY) \ $(CSPARSE_LIBRARY) \ $(RELIABILITY_LIBRARY) -# $(METIS_LIBRARY) \ - # %---------------------------------------------------------% # | SECTION 5: COMPILERS | # | | @@ -257,16 +261,16 @@ ifeq ($(DEBUG_MODE), DEBUG) else # modified as optimizaton currently causing problems with Steel01 code - C++FLAGS = -Wall -O3 -D_UNIX -D_LINUX -std=c++98 \ + C++FLAGS = -march=native -mtune=native -Wall -O3 -D_UNIX -D_LINUX -std=c++11 \ $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) \ - -ffloat-store -fpermissive + -ffloat-store -fpermissive -fPIC - CFLAGS = -Wall -O3 $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) - FFLAGS = -Wall -O + CFLAGS = -march=native -mtune=native -Wall -O3 $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -fPIC + FFLAGS = -march=native -mtune=native -Wall -O3 -fPIC # Linker LINKER = $(CC++) - LINKFLAGS = + LINKFLAGS = -fPIC endif @@ -337,17 +341,11 @@ ifeq ($(HAVEMUMPS), YES) MUMPS = YES MUMPS_FLAG = -D_MUMPS -D_OPENMPI MUMPS_DIR = /usr - MUMPS_LIB = $(FE)/system_of_eqn/linearSOE/mumps/MumpsSOE.o \ - $(FE)/system_of_eqn/linearSOE/mumps/MumpsSolver.o \ - $(FE)/system_of_eqn/linearSOE/mumps/MumpsParallelSOE.o \ - $(FE)/system_of_eqn/linearSOE/mumps/MumpsParallelSolver.o \ - -L$(MUMPS_DIR)/lib \ - -ldmumps -lmumps_common -lesmumps -lscotch -lscotcherr -lpord -lscalapack + MUMPS_LIB = -L$(MUMPS_DIR)/lib -ldmumps -lmumps_common -lesmumps -lscotch -lscotcherr -lpord -lscalapack MUMPS_INCLUDE = -I$(MUMPS_DIR)/include endif -MACHINE_LINKLIBS = -L$(BASE)/lib \ - -L$(HOME)/lib +MACHINE_LINKLIBS = -L$(BASE)/lib -L$(HOME)/lib MACHINE_NUMERICAL_LIBS = $(RELIABILITY_LIBRARY) -lm \ $(ARPACK_LIBRARY) \ @@ -363,14 +361,9 @@ MACHINE_NUMERICAL_LIBS = $(RELIABILITY_LIBRARY) -lm \ ifeq ($(PROGRAMMING_MODE), SEQUENTIAL) PARALLEL_LIB = else ifeq ($(PROGRAMMING_MODE), PARALLEL) - PARALLEL_LIB = $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \ - $(FE)/system_of_eqn/linearSOE/sparseGEN/SparseGenColLinSolver.o \ - $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o \ - $(METIS_LIBRARY) $(MUMPS_LIB) -lmpi -lmpi_mpifh $(DISTRIBUTED_SUPERLU_LIBRARY) + PARALLEL_LIB = $(METIS_LIBRARY) $(MUMPS_LIB) -lmpi -lmpi_mpifh $(DISTRIBUTED_SUPERLU_LIBRARY) else ifeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS) - PARALLEL_LIB = $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \ - $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.o \ - $(METIS_LIBRARY) $(MUMPS_LIB) -lmpi -lmpi_mpifh $(DISTRIBUTED_SUPERLU_LIBRARY) + PARALLEL_LIB = $(METIS_LIBRARY) $(MUMPS_LIB) -lmpi -lmpi_mpifh $(DISTRIBUTED_SUPERLU_LIBRARY) endif ifeq ($(PROGRAMMING_MODE), THREADS) @@ -394,7 +387,8 @@ MACHINE_INCLUDES = -I$(BASE)/include \ $(MUMPS_INCLUDE) \ $(METIS_INCLUDE) \ $(BLITZ_INCLUDE) \ - $(TCL_INCLUDE) + $(TCL_INCLUDE) \ + $(PYTHON_INCLUDE) # this file contains all the OpenSees/SRC includes FE_INCLUDES include $(FE)/Makefile.incl @@ -1,40 +1,42 @@ # Maintainer: mickele #Contributor: nema.arpit pkgname=opensees -pkgver=2.5.0 -pkgrel=2 +pkgver=3.2.0 +pkgrel=1 pkgdesc="OpenSees, a software framework for developing applications to simulate the performance of structural and geotechnical systems subjected to earthquakes" arch=("i686" "x86_64") -url="http://opensees.berkeley.edu/" -depends=('tk>=8.6' 'openssl' 'libpng' 'mesa' 'lapack' 'mumps4' 'glu' 'openmpi') -makedepends=('svn' 'gcc-fortran') +url="https://github.com/OpenSees/OpenSees" +depends=('tcl>=8.6' 'openssl' 'libpng' 'mesa' 'lapack' 'mumps' 'glu' 'openmpi' 'python') +makedepends=('git' 'gcc-fortran' 'gcc') options=() license=("custom") -# source=("http://opensees.berkeley.edu/OpenSees/code/OpenSees${pkgver}.tar.gz" "Makefile.def") - -# This release is available only through svn -# http://opensees.berkeley.edu/OpenSees/changeLog.php -source=("Makefile.def" "png-miss-header.patch" "min-max-conflict.patch" "steeldr.f-bug.patch") +# source=("https://github.com/OpenSees/OpenSees/archive/v${pkgver}.tar.gz" "Makefile.def") +source=("Makefile.def" "MPMakeFile.patch") # _svntrunk="svn://opensees.berkeley.edu/usr/local/svn/OpenSees/trunk" -_svntrunk="svn://peera.berkeley.edu/usr/local/svn/OpenSees/trunk" -_svnrel="6236" -_svnmod="OpenSees" +_gitrepo="https://github.com/OpenSees/OpenSees.git" +_gitrel="fb2159f0ea91a0b1703ec4bd8abebb49ad158fa2" +_gitmod="OpenSees" _installdir="/usr" prepare() { cd "${srcdir}" - msg "Starting SVN checkout..." - if [ -d ${_svnmod}/.svn ]; then - (cd ${_svnmod} && svn up -r ${_svnrel}) - else - svn co ${_svntrunk} --config-dir ./ -r ${_svnrel} ${_svnmod} + msg "Starting GIT checkout..." + msg "${srcdir}" + if [ -d ${srcdir}/${_gitmod}/.git ]; then + (echo 'Copy of repository exists') + else + (git clone ${_gitrepo}) fi + cd OpenSees + git checkout ${_gitrel} + git checkout -- . + msg "SVN checkout done or server timeout" - cd "${srcdir}/${_svnmod}" + cd "${srcdir}/${_gitmod}" msg "Configuring..." cp "${srcdir}/Makefile.def" ./ || return 1 @@ -43,48 +45,63 @@ prepare() { -i Makefile.def msg "Patching..." + git apply "${srcdir}/MPMakeFile.patch" # Missing header # error: ‘Z_BEST_COMPRESSION’ was not declared in this scope - svn patch "${srcdir}/png-miss-header.patch" +# svn patch "${srcdir}/png-miss-header.patch" # Patch DistributedSuperLu.cpp to avoid min max macro conflict # between f2c.h and stl_algobase.h in gcc6 - svn patch "${srcdir}/min-max-conflict.patch" +# svn patch "${srcdir}/min-max-conflict.patch" # Fix STEELDR.f, potential bug in ShellMITC4.cpp - svn patch "${srcdir}/steeldr.f-bug.patch" +# svn patch "${srcdir}/steeldr.f-bug.patch" } build() { - cd "${srcdir}/${_svnmod}" + cd "${srcdir}/${_gitmod}" msg "Building OpenSees..." mkdir -p "${srcdir}/lib" mkdir -p "${srcdir}/bin" make wipe + make clean make + msg "Building OpenSees Python Module" + + cd "${srcdir}/${_gitmod}/SRC/interpreter" + make pythonmodule + cp opensees.so "${srcdir}/bin" + + cd "${srcdir}/${_gitmod}" + msg "Building OpenSeesMP..." make wipe + make clean make "OpenSees_PROGRAM = ${srcdir}/bin/OpenSeesMP" "PROGRAMMING_MODE = PARALLEL_INTERPRETERS" msg "Building OpenSeesSP..." make wipe + make clean make "OpenSees_PROGRAM = ${srcdir}/bin/OpenSeesSP" "PROGRAMMING_MODE = PARALLEL" } package(){ - msg "Istalling binary..." + msg "Installing binaries..." + _pylibdir=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") + install -d -m755 "${pkgdir}${_installdir}/bin" install "${srcdir}/bin/OpenSees" "${pkgdir}${_installdir}/bin" install "${srcdir}/bin/OpenSeesMP" "${pkgdir}${_installdir}/bin" install "${srcdir}/bin/OpenSeesSP" "${pkgdir}${_installdir}/bin" + + install -d -m755 "${pkgdir}${_pylibdir}" + install "${srcdir}/bin/opensees.so" "${pkgdir}${_pylibdir}" - msg "Istalling licence..." + msg "Installing license..." install -D -m644 "${srcdir}/OpenSees/COPYRIGHT" \ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } -md5sums=('cfcbd913cf332951aa326614e161fee3' - 'b8f21b0e77db6338fd6550ba3aaf8057' - '2e451d6e144b0e1a61e4efe622ef39b0' - 'b572eee6bfd3ca03c2e541cdb1dcfcc7') +md5sums=('bcf43c4fcac86daf72659b723d88eb63' + '6193c6e9f12912d04497b7b2a9c412ab') diff --git a/min-max-conflict.patch b/min-max-conflict.patch deleted file mode 100644 index e5e3f4259fd4..000000000000 --- a/min-max-conflict.patch +++ /dev/null @@ -1,24 +0,0 @@ -Index: SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.cpp -=================================================================== ---- SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.cpp (revision 6236) -+++ SRC/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.cpp (working copy) -@@ -31,6 +31,7 @@ - - #include <DistributedSuperLU.h> - #include <SparseGenColLinSOE.h> -+#include <superlu_ddefs.h> - #include <f2c.h> - #include <math.h> - #include <Channel.h> -@@ -37,10 +38,10 @@ - #include <FEM_ObjectBroker.h> - #include <ID.h> - --#include <superlu_ddefs.h> - - - -+ - superlu_options_t options; - SuperLUStat_t stat; - SuperMatrix A; diff --git a/png-miss-header.patch b/png-miss-header.patch deleted file mode 100644 index 90f82ba3b7ea..000000000000 --- a/png-miss-header.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: SRC/renderer/OpenGlDevice.cpp -=================================================================== ---- SRC/renderer/OpenGlDevice.cpp (revision 6236) -+++ SRC/renderer/OpenGlDevice.cpp (working copy) -@@ -32,6 +32,7 @@ - #ifdef _GLX - #define _PNG - #include <png.h> -+#include <zlib.h> - #endif - - #include <iostream> diff --git a/steeldr.f-bug.patch b/steeldr.f-bug.patch deleted file mode 100644 index fed7407791f7..000000000000 --- a/steeldr.f-bug.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: SRC/element/shell/ShellMITC4.cpp -=================================================================== ---- SRC/element/shell/ShellMITC4.cpp (revision 6236) -+++ SRC/element/shell/ShellMITC4.cpp (working copy) -@@ -1126,7 +1126,7 @@ - resid.Zero( ) ; - - //start Yuli Huang (yulihuang@gmail.com) & Xinzheng Lu (luxz@tsinghua.edu.cn) -- updateBasis( ); -+// updateBasis( ); - //end Yuli Huang (yulihuang@gmail.com) & Xinzheng Lu (luxz@tsinghua.edu.cn) - - double dx34 = xl[0][2]-xl[0][3]; -Index: SRC/material/uniaxial/STEELDR.f -=================================================================== ---- SRC/material/uniaxial/STEELDR.f (revision 6236) -+++ SRC/material/uniaxial/STEELDR.f (working copy) -@@ -288,6 +288,8 @@ - if(ep_s.le.ep_sushift(k)) then - fp_s=s1*fp_su - fps_s=fps_su -+ ep_sushift(k)=ep_s -+ ep_o(k)=ep_sushift(k)+ep_su - else - call Bauschinger(1,icheat,P_major,P_minor,region, - * ep_sushift,s1,fp_su,fps_su,Ep_u,f_y,ep_a,fp_a, |