diff options
-rw-r--r-- | .SRCINFO | 23 | ||||
-rw-r--r-- | 004-fix_missing_LIB_PROB.patch | 35 | ||||
-rwxr-xr-x | PKGBUILD | 50 | ||||
-rw-r--r-- | buildSettings.mk | 181 | ||||
-rwxr-xr-x | externallibs.mk | 77 | ||||
-rwxr-xr-x | systemvars.mk | 46 |
6 files changed, 254 insertions, 158 deletions
@@ -1,7 +1,7 @@ pkgbase = fsl pkgdesc = A comprehensive library of analysis tools for FMRI, MRI and DTI brain imaging data - pkgver = 6.0.1 - pkgrel = 2 + pkgver = 6.0.2 + pkgrel = 1 url = http://www.fmrib.ox.ac.uk/fsl/ arch = x86_64 license = custom @@ -25,27 +25,28 @@ pkgbase = fsl depends = python3 depends = fslpy depends = bc + depends = openblas optdepends = cuda - source = http://www.fmrib.ox.ac.uk/fsldownloads/fsl-6.0.1-sources.tar.gz - source = http://www.fmrib.ox.ac.uk/fsldownloads/fsl-6.0.1-feeds.tar.gz - source = externallibs.mk - source = systemvars.mk + source = http://www.fmrib.ox.ac.uk/fsldownloads/fsl-6.0.2-sources.tar.gz + source = http://www.fmrib.ox.ac.uk/fsldownloads/fsl-6.0.2-feeds.tar.gz + source = buildSettings.mk source = imcp source = imglob source = immv source = 001-use_distribution_environment.patch source = 002-fix_meldata_usage_of_ifstream.patch source = 003-fix_fsl_exec_empty_errorCode.patch - sha256sums = ccab9709239340299b0ca034cb00d6ce0170b9e0d075b3adb55c556feacfb2da - sha256sums = 91aa756d5a052702cc68e41bcc9a64ba7c7f8853feb215d5a44eeb710c4a0fd0 - sha256sums = e3345af9d3a1bca157c3a5700c63c4d0e01da3cec525f8ffb8f1a04b048aeff1 - sha256sums = 326c73cf0fb07ef9436ec31dda00f1e77488949152aa908b50aa4059701b2984 + source = 004-fix_missing_LIB_PROB.patch + sha256sums = c118b351c6cedb441af7e1b9d194cf344505ff53b417063f697b86305a908afd + sha256sums = 53c885e01881d50ff8db230c849f98fcb9ca5139c5215cfca4f901e5cad66eee + sha256sums = e73d3b7289981c95581d9378c2a39694bc0fcdf7170c5defc864a47871e98df1 sha256sums = c61f185fbe7e297c4518e96377aa5ff4852f90eda0dbb9ae8edc5e24735e14ad sha256sums = 7a1039cdc38b4d728f14efce3b0fda0cadc7bfcd3432556c3f3113985bf2720a sha256sums = b6f61a6d5672b6684f19150f6e21ded1bd04ec6415dcf07a32291e4002bfa5d8 - sha256sums = b59921d9b76c07da6c775d63d5fe99ca5069a15827aa7a3d44c2e5eb6f3638d6 + sha256sums = 8c85234f03d3cd226f84fd1aa446e46a8f00c2c6ae3cc7fefedc1e48ffc61daa sha256sums = 13d4cf35343e7a73bc2534c94b1b0d4db41c338d374e6982091e4cf7a421d420 sha256sums = 64b4ccefa63a3cf920b185dd52e94b918c24f2cedaebcec8efb767bd80a6418a + sha256sums = adea0372f42026e72e385f1bec19ecc8cffa46de1f617271f14c9345c6b83c04 pkgname = fsl diff --git a/004-fix_missing_LIB_PROB.patch b/004-fix_missing_LIB_PROB.patch new file mode 100644 index 000000000000..abd3dbb4b631 --- /dev/null +++ b/004-fix_missing_LIB_PROB.patch @@ -0,0 +1,35 @@ +--- a/fsl/src/eddy/Makefile 2019-09-29 21:41:53.118138982 +0200 ++++ b/fsl/src/eddy/Makefile 2019-09-29 21:25:19.118338652 +0200 +@@ -62,7 +62,7 @@ + endif + EXENAME=eddy${TMPNAME_1}${TMPNAME_2} + endif +-USRLDFLAGS=-L${LIB_NEWMAT} -Wl,-rpath,/opt/fmrib/fsl/lib -rdynamic ++USRLDFLAGS=-L${LIB_NEWMAT} -L${LIB_PROB} -Wl,-rpath,/opt/fmrib/fsl/lib -rdynamic + USRINCFLAGS=-I. -I${INC_NEWMAT} -I${INC_PROB} -I${INC_BOOST} -I${INC_CUDA} -I$(CBF_DIR) -I$(INC_BASISFIELD) + + OBJS=eddy.o BiasFieldEstimatorImpl.o MoveBySuscCF.o PostEddyAlignShellsFunctions.o EddyCommandLineOptions.o ECModels.o KMatrix.o HyParEstimator.o ECScanClasses.o EddyUtils.o EddyHelperClasses.o DiffusionGP.o b0Predictor.o + +--- a/fsl/src/asl_mfree/Makefile 2019-09-29 22:52:54.221367251 +0200 ++++ b/fsl/src/asl_mfree/Makefile 2019-09-29 22:53:23.577360889 +0200 +@@ -3,7 +3,7 @@ + PROJNAME = asl_mfree + + USRINCFLAGS = -I${INC_NEWMAT} -I${INC_ZLIB} +-USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_ZLIB} ++USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_ZLIB} -L${LIB_PROB} + + FSLVERSION= $(shell cat ${FSLDIR}/etc/fslversion | head -c 1) + ifeq ($(FSLVERSION), 5) + +--- a/fsl/src/oxford_asl/Makefile 2019-09-29 22:52:27.621373018 +0200 ++++ b/fsl/src/oxford_asl/Makefile 2019-09-29 22:53:41.237357074 +0200 +@@ -3,7 +3,7 @@ + PROJNAME = oxford_asl + + USRINCFLAGS = -I${INC_NEWMAT} -I${INC_ZLIB} +-USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_ZLIB} ++USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_ZLIB} -L${LIB_PROB} + + FSLVERSION= $(shell cat ${FSLDIR}/etc/fslversion | head -c 1) + ifeq ($(FSLVERSION), 5) @@ -2,51 +2,53 @@ # Contributor: fishburn <frankthefishburn@gmail.com> pkgname=fsl -pkgver=6.0.1 -pkgrel=2 +pkgver=6.0.2 +pkgrel=1 pkgdesc="A comprehensive library of analysis tools for FMRI, MRI and DTI brain imaging data" arch=("x86_64") url="http://www.fmrib.ox.ac.uk/fsl/" license=(custom) -depends=(gd libxml2 libxml++2.6 gsl libpng nlopt newmat tcl tk zlib python glu boost-libs vtk sqlite python3 fslpy bc) +depends=(gd libxml2 libxml++2.6 gsl libpng nlopt newmat tcl tk zlib python glu boost-libs vtk sqlite python3 fslpy bc openblas) makedepends=(boost fftw) optdepends=(cuda) source=("http://www.fmrib.ox.ac.uk/fsldownloads/fsl-${pkgver}-sources.tar.gz" "http://www.fmrib.ox.ac.uk/fsldownloads/fsl-${pkgver}-feeds.tar.gz" - "externallibs.mk" - "systemvars.mk" + "buildSettings.mk" "imcp" - "imglob" - "immv" - "001-use_distribution_environment.patch" - "002-fix_meldata_usage_of_ifstream.patch" - "003-fix_fsl_exec_empty_errorCode.patch") + "imglob" + "immv" + "001-use_distribution_environment.patch" + "002-fix_meldata_usage_of_ifstream.patch" + "003-fix_fsl_exec_empty_errorCode.patch" + "004-fix_missing_LIB_PROB.patch") -sha256sums=('ccab9709239340299b0ca034cb00d6ce0170b9e0d075b3adb55c556feacfb2da' - '91aa756d5a052702cc68e41bcc9a64ba7c7f8853feb215d5a44eeb710c4a0fd0' - 'e3345af9d3a1bca157c3a5700c63c4d0e01da3cec525f8ffb8f1a04b048aeff1' - '326c73cf0fb07ef9436ec31dda00f1e77488949152aa908b50aa4059701b2984' +sha256sums=('c118b351c6cedb441af7e1b9d194cf344505ff53b417063f697b86305a908afd' + '53c885e01881d50ff8db230c849f98fcb9ca5139c5215cfca4f901e5cad66eee' + 'e73d3b7289981c95581d9378c2a39694bc0fcdf7170c5defc864a47871e98df1' 'c61f185fbe7e297c4518e96377aa5ff4852f90eda0dbb9ae8edc5e24735e14ad' - '7a1039cdc38b4d728f14efce3b0fda0cadc7bfcd3432556c3f3113985bf2720a' - 'b6f61a6d5672b6684f19150f6e21ded1bd04ec6415dcf07a32291e4002bfa5d8' - 'b59921d9b76c07da6c775d63d5fe99ca5069a15827aa7a3d44c2e5eb6f3638d6' - '13d4cf35343e7a73bc2534c94b1b0d4db41c338d374e6982091e4cf7a421d420' - '64b4ccefa63a3cf920b185dd52e94b918c24f2cedaebcec8efb767bd80a6418a') + '7a1039cdc38b4d728f14efce3b0fda0cadc7bfcd3432556c3f3113985bf2720a' + 'b6f61a6d5672b6684f19150f6e21ded1bd04ec6415dcf07a32291e4002bfa5d8' + '8c85234f03d3cd226f84fd1aa446e46a8f00c2c6ae3cc7fefedc1e48ffc61daa' + '13d4cf35343e7a73bc2534c94b1b0d4db41c338d374e6982091e4cf7a421d420' + '64b4ccefa63a3cf920b185dd52e94b918c24f2cedaebcec8efb767bd80a6418a' + 'adea0372f42026e72e385f1bec19ecc8cffa46de1f617271f14c9345c6b83c04') prepare() { cd "${srcdir}" export FSLDIR="${srcdir}/fsl" . "${FSLDIR}/etc/fslconf/fsl.sh" export FSLMACHTYPE=$(${FSLDIR}/etc/fslconf/fslmachtype.sh) + # We only create this dir to keep 'build' from complaining mkdir "${FSLDIR}/config/${FSLMACHTYPE}" - # Use config linux_64-gcc4.8 as template - cp "${srcdir}"/{externallibs.mk,systemvars.mk} "${FSLDIR}/config/${FSLMACHTYPE}" + cp "${srcdir}"/buildSettings.mk "${FSLDIR}"/config/ # Apply patches - patch -Np1 -i "${srcdir}/001-use_distribution_environment.patch" - patch -Np1 -i "${srcdir}/002-fix_meldata_usage_of_ifstream.patch" + patch -Np1 -i "${srcdir}"/001-use_distribution_environment.patch + patch -Np1 -i "${srcdir}"/002-fix_meldata_usage_of_ifstream.patch # From https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=fsl;e8fa48c1.1501 - patch -Np1 -i "${srcdir}/003-fix_fsl_exec_empty_errorCode.patch" + patch -Np1 -i "${srcdir}"/003-fix_fsl_exec_empty_errorCode.patch + # I'm not sure why -L${LIB_PROB} is missing in some Makefiles + patch -Np1 -i "${srcdir}"/004-fix_missing_LIB_PROB.patch # Insert makepkg build flags into configuration sed -i '0,/${AccumulatedIncFlags}/{s^${AccumulatedIncFlags}^& '"${CFLAGS}"'^}' "${srcdir}/fsl/config/common/vars.mk" diff --git a/buildSettings.mk b/buildSettings.mk new file mode 100644 index 000000000000..8adec0505a4a --- /dev/null +++ b/buildSettings.mk @@ -0,0 +1,181 @@ +# This master make file is based on the "old" +# systemvars.mk and externallibs.mk files from: +# apple-darwin13-llvm6.0 +# linux_64-gcc4.4 +# linux_64-gcc4.8 + +# get system type (Darwin, Linux) +SYSTYPE := $(shell uname -s) +##################################################################### +# +# System Vars (common) +# +##################################################################### +SHELL = /bin/sh +RM = /bin/rm +CP = /bin/cp +MV = /bin/mv +CHMOD = /bin/chmod +MKDIR = /bin/mkdir +INSTALL = install -p +TCLSH = /usr/bin/tclsh +DEPENDFLAGS = -MM +MACHDBGFLAGS = -g +##################################################################### +# +# External libs (common) +# +##################################################################### +FSLEXTLIB=${FSLDIR}/extras/lib +FSLEXTINC=${FSLDIR}/extras/include +FSLEXTBIN=${FSLDIR}/extras/bin +# CEPHES library +LIB_CEPHES = ${FSLEXTLIB} +INC_CEPHES = ${FSLEXTINC}/cephes +# GD library +LIB_GD = /usr/lib +INC_GD = /usr/include +# GDC library +LIB_GDC = ${FSLEXTLIB} +INC_GDC = ${FSLEXTINC}/libgdc +# GSL library +LIB_GSL = /usr/lib +INC_GSL = /usr/include/gsl +# PNG library +LIB_PNG = /usr/lib +INC_PNG = /usr/include/libpng16 +# PROB library +LIB_PROB = ${FSLEXTLIB} +INC_PROB = ${FSLEXTINC}/libprob +# CPROB library +LIB_CPROB = ${FSLEXTLIB} +INC_CPROB = ${FSLEXTINC}/libcprob +# NEWRAN library +LIB_NEWRAN = ${FSLEXTLIB} +INC_NEWRAN = ${FSLEXTINC}/newran +# BOOST library +BOOSTDIR = ${FSLEXTINC}/boost +LIB_BOOST = /usr/lib +INC_BOOST = /usr/include/boost +# QWT library +QWTDIR = /usr +INC_QWT = ${QWTDIR}/include/qwt +LIB_QWT = ${QWTDIR}/lib +# FFTW3 library +LIB_FFTW3 = /usr/lib +INC_FFTW3 = /usr/include +# LIBXML2 library +INC_XML2 = /usr/include/libxml2 +# LIBXML++ library +INC_XML++ = /usr/include/libxml++-2.6 +INC_XML++CONF = /usr/lib/libxml++-2.6/include +# NEWMAT library/armadillo +INC_NEWMAT = ${FSLEXTINC}/armawrap/armawrap -DARMA_USE_LAPACK -DARMA_USE_BLAS -DARMA_64BIT_WORD +##################################################################### +# +# Darwin specific sys vars and ext libs +# +##################################################################### +ifeq ($(SYSTYPE), Darwin) +############### System Vars ##################################### +CC = cc +CXX = c++ +CXX11 = clang++ +CSTATICFLAGS = +CXXSTATICFLAGS = +CFLAGS = -std=c99 +ARCHFLAGS = -arch x86_64 +ARCHLDFLAGS = -Wl,-search_paths_first -arch x86_64 +PER_ARCH_CFLAGS_x86_64 = -msse3 +OPTFLAGS = -O3 +GNU_ANSI_FLAGS = -Wall -pedantic -ansi -Wno-long-long +ANSI_CFLAGS = ${GNU_ANSI_FLAGS} +ANSI_CXXFLAGS = ${GNU_ANSI_FLAGS} -ansi +RANLIB = ranlib +############### External Libs ##################################### +# Armadillo library +LIB_NEWMAT = ${FSLEXTLIB} -llapack -lblas +# ZLIB library +LIB_ZLIB = /usr/lib +INC_ZLIB = /usr/include +# QT library +QTDIR = /usr +LIB_QT = ${QTDIR}/lib +INC_QT = ${QTDIR}/include/qt +# VTK library +VTKDIR_INC = /Users/cowboy/VTK7/include/vtk-7.0 +VTKDIR_LIB = /Users/cowboy/VTK7/lib +VTKSUFFIX = -7.0 +# CUDA library +CUDAVER := $(or $(CUDAVER),7.5) +CUDA_INSTALLATION = /Developer/NVIDIA/CUDA-${CUDAVER} +GENCODE_FLAGS = $(shell ${FSLDIR}/config/common/supportedGencodes.sh ${CUDA_INSTALLATION}) +LIB_CUDA = ${CUDA_INSTALLATION}/lib +INC_CUDA = ${CUDA_INSTALLATION}/include +NVCC = ${CUDA_INSTALLATION}/bin/nvcc +#Project specific variables +EDDYBUILDPARAMETERS="cuda=1 CUDAVER=7.5" "cpu=1" +endif # if Darwin +##################################################################### +# +# Linux specific sys vars and ext libs +# Makefile auto-detects gcc version for Linux +# +##################################################################### +ifeq ($(SYSTYPE), Linux) +############### System Vars ##################################### +CC = gcc +CXX = c++ +CXX11 = c++ +CSTATICFLAGS = -static +CXXSTATICFLAGS = -static +ARCHFLAGS = -m64 +ARCHLDFLAGS = -Wl,-rpath,'$$ORIGIN/../lib' +PARALLELFLAGS = -fopenmp +OPTFLAGS = -g -O3 -fexpensive-optimizations ${ARCHFLAGS} +GNU_ANSI_FLAGS = -Wall -ansi -pedantic -Wno-long-long -std=c++11 +SGI_ANSI_FLAGS = -ansi -fullwarn +ANSI_FLAGS = ${GNU_ANSI_FLAGS} +RANLIB = echo +FSLML = ${FSLDIR}/bin/fslml +# CUDA development environment +CUDAVER := $(or $(CUDAVER),9.1) +#$(info $$CUDAVER is [${CUDAVER}]) +CUDA_INSTALLATION = /opt/cuda +GENCODE_FLAGS = $(shell ${FSLDIR}/config/common/supportedGencodes.sh ${CUDA_INSTALLATION}) +LIB_CUDA = ${CUDA_INSTALLATION}/lib64 +INC_CUDA = ${CUDA_INSTALLATION}/include +NVCC = ${CUDA_INSTALLATION}/bin/nvcc +############### External Libs ##################################### +# ZLIB library +LIB_ZLIB = /usr/lib +INC_ZLIB = /usr/include +# QT library +QTDIR = /usr/ +LIB_QT = ${QTDIR}/lib +INC_QT = ${QTDIR}/include/qt +# VTK library +VTKDIR_INC = /usr/include/vtk +VTKDIR_LIB = /usr/lib +VTKSUFFIX = +# openblas +LIB_NEWMAT = /usr/lib -llapack -lopenblas +# get and then parse gcc version to run context specific builds +#GCCVER := $(shell gcc -dumpversion) +#GCCARR = $(subst ., ,$(GCCVER)) +#$(info $(GCCVER)) +#GCCMAJ = $(word 1, $(GCCARR)) +#GCCMIN = $(word 2, $(GCCARR)) +#GCCPAT = $(word 3, $(GCCARR)) +#$(info GCC MAJ VER $(GCCMAJ)) +#$(info GCC MIN VER $(GCCMIN)) +#$(info GCC PAT VER $(GCCPAT)) +# Alter this is host default c++ does not support C++11 +HOSTNAME := $(shell hostname -s) +ifeq ($(HOSTNAME), caper) +CXX11 = scl enable devtoolset-2 -- c++ +NVCC11 = scl enable devtoolset-2 -- ${CUDA_INSTALLATION}/bin/nvcc +endif # if GCCMIN +#Project specific variables +EDDYBUILDPARAMETERS="cuda=1 CUDAVER=8.0" "cuda=1 CUDAVER=9.1" "cpu=1" +endif # if Linux diff --git a/externallibs.mk b/externallibs.mk deleted file mode 100755 index e1c5e44798c7..000000000000 --- a/externallibs.mk +++ /dev/null @@ -1,77 +0,0 @@ -# $Id: externallibs.mk,v 1.3 2018/10/10 11:12:48 mwebster Exp $ - -# External Library and Include Paths - -FSLEXTLIB=${FSLDIR}/extras/lib -FSLEXTINC=${FSLDIR}/extras/include -FSLEXTBIN=${FSLDIR}/extras/bin - -# GD library -LIB_GD = /usr/lib -INC_GD = /usr/include - -# GDC library -LIB_GDC = ${FSLEXTLIB} -INC_GDC = ${FSLEXTINC}/libgdc - -# LIBXML2 library -INC_XML2 = /usr/include/libxml2 - -# LIBXML++ library -INC_XML++ = /usr/include/libxml++-2.6 -INC_XML++CONF = /usr/lib/libxml++-2.6/include - -# GSL library -LIB_GSL = /usr/lib -INC_GSL = /usr/include/gsl - -# PNG library -LIB_PNG = /usr/lib -INC_PNG = /usr/include/libpng1.6 - -# PROB library -LIB_PROB = ${FSLEXTLIB} -INC_PROB = ${FSLEXTINC}/libprob - -# CPROB library -LIB_CPROB = ${FSLEXTLIB} -INC_CPROB = ${FSLEXTINC}/libcprob - -# NEWMAT library -#LIB_NEWMAT = ${FSLEXTLIB} -llapack -lblas or just -lopenblas -#LIB_NEWMAT = /usr/lib/newmat -#INC_NEWMAT = /usr/include/newmat -LIB_NEWMAT = ${FSLEXTLIB} -llapack -lblas -INC_NEWMAT = ${FSLEXTINC}/armawrap/armawrap -DARMA_USE_LAPACK -DARMA_USE_BLAS -DARMA_64BIT_WORD - -# NEWRAN library -LIB_NEWRAN = ${FSLEXTLIB} -INC_NEWRAN = ${FSLEXTINC}/newran - -# ZLIB library -LIB_ZLIB = /usr/lib -INC_ZLIB = /usr/include - -# BOOST library -#BOOSTDIR = ${FSLEXTINC}/boost -LIB_BOOST = /usr/lib -INC_BOOST = /usr/include/boost - -# QT library -#QTDIR = /usr/lib/qt5 -LIB_QT = /usr/lib -INC_QT = ${QTDIR}/include/qt - -# QWT library -#QWTDIR = /usr/local/qwt -LIB_QWT = /usr/lib -INC_QWT = /usr/include/qwt - -# FFTW3 library -LIB_FFTW3 = /usr/lib -INC_FFTW3 = /usr/include - -# VTK library -VTKDIR_INC = /usr/include/vtk -VTKDIR_LIB = /usr/lib -VTKSUFFIX = diff --git a/systemvars.mk b/systemvars.mk deleted file mode 100755 index 33d1cc67c8b8..000000000000 --- a/systemvars.mk +++ /dev/null @@ -1,46 +0,0 @@ -# $Id: systemvars.mk,v 1.6 2019/02/14 13:29:45 mwebster Exp $ - -# System dependent paths - -RM = /bin/rm -CHMOD = /bin/chmod -MKDIR = /bin/mkdir -CP = /bin/cp -MV = /bin/mv -INSTALL = install -p -TCLSH = /usr/bin/tclsh -RANLIB = echo - -FSLML = ${FSLDIR}/bin/fslml - -# for SHELL, do not change the type of shell - only use Bourne or BASH -SHELL = /bin/sh - -# Compiler dependent variables - -CC = gcc -CXX = c++ -CXX11 = c++ -CSTATICFLAGS = -static -CXXSTATICFLAGS = -static - -ARCHFLAGS = -m64 -ARCHLDFLAGS = -Wl,-rpath,'$$ORIGIN/../lib' - -PARALLELFLAGS = -fopenmp - -DEPENDFLAGS = -MM - -OPTFLAGS = -march=native -g -O3 -fexpensive-optimizations ${ARCHFLAGS} -MACHDBGFLAGS = -g -GNU_ANSI_FLAGS = -Wall -ansi -pedantic -std=c++11 -Wno-long-long -SGI_ANSI_FLAGS = -ansi -fullwarn -ANSI_FLAGS = ${GNU_ANSI_FLAGS} - -# CUDA development environment -CUDA_INSTALLATION = /opt/cuda -GENCODE_FLAGS = $(shell ${FSLDIR}/config/common/supportedGencodes.sh ${CUDA_INSTALLATION}) -LIB_CUDA = ${CUDA_INSTALLATION}/lib64 -INC_CUDA = ${CUDA_INSTALLATION}/include -NVCC = ${CUDA_INSTALLATION}/bin/nvcc -NVCC11= ${CUDA_INSTALLATION}/bin/nvcc |