diff --git a/atlas/gfortran-10.patch b/atlas/gfortran-10.patch new file mode 100644 index 0000000..9983d99 --- /dev/null +++ b/atlas/gfortran-10.patch @@ -0,0 +1,40 @@ +Description: Fix FTBFS with gfortran 10 +Origin: other, https://github.com/Reference-LAPACK/lapack/commit/7fb63b1cd386b099d7da6eeaafc3e7dce055a7d0 +Bug-Debian: https://bugs.debian.org/957015 +Forwarded: no +Reviewed-by: Sébastien Villemot +Last-Update: 2020-05-20 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/interfaces/blas/C/testing/c_dblat1.f ++++ b/interfaces/blas/C/testing/c_dblat1.f +@@ -247,11 +247,11 @@ + IF (ICASE.EQ.7) THEN + * .. DNRM2TEST .. + STEMP(1) = DTRUE1(NP1) +- CALL STEST1(DNRM2TEST(N,SX,INCX),STEMP,STEMP,SFAC) ++ CALL STEST1(DNRM2TEST(N,SX,INCX),STEMP(1),STEMP,SFAC) + ELSE IF (ICASE.EQ.8) THEN + * .. DASUMTEST .. + STEMP(1) = DTRUE3(NP1) +- CALL STEST1(DASUMTEST(N,SX,INCX),STEMP,STEMP,SFAC) ++ CALL STEST1(DASUMTEST(N,SX,INCX),STEMP(1),STEMP,SFAC) + ELSE IF (ICASE.EQ.9) THEN + * .. DSCALTEST .. + CALL DSCALTEST(N,SA((INCX-1)*5+NP1),SX,INCX) +--- a/interfaces/blas/C/testing/c_sblat1.f ++++ b/interfaces/blas/C/testing/c_sblat1.f +@@ -247,11 +247,11 @@ + IF (ICASE.EQ.7) THEN + * .. SNRM2TEST .. + STEMP(1) = DTRUE1(NP1) +- CALL STEST1(SNRM2TEST(N,SX,INCX),STEMP,STEMP,SFAC) ++ CALL STEST1(SNRM2TEST(N,SX,INCX),STEMP(1),STEMP,SFAC) + ELSE IF (ICASE.EQ.8) THEN + * .. SASUMTEST .. + STEMP(1) = DTRUE3(NP1) +- CALL STEST1(SASUMTEST(N,SX,INCX),STEMP,STEMP,SFAC) ++ CALL STEST1(SASUMTEST(N,SX,INCX),STEMP(1),STEMP,SFAC) + ELSE IF (ICASE.EQ.9) THEN + * .. SSCALTEST .. + CALL SSCALTEST(N,SA((INCX-1)*5+NP1),SX,INCX) diff --git a/compile-atlas.sh b/compile-atlas.sh index 3998a36..1b672ab 100755 --- a/compile-atlas.sh +++ b/compile-atlas.sh @@ -4,7 +4,7 @@ set -v ATLAS_VERSION="3.11.41" ATLAS_SRC_TAR_NAME="atlas${ATLAS_VERSION}.tar.bz2" -ATLAS_SRC_URL="https://master.dl.sourceforge.net/project/math-atlas/Developer%20%28unstable%29/${ATLAS_VERSION}/${ATLAS_SRC_TAR_NAME}" +ATLAS_SRC_URL="http://downloads.sourceforge.net/math-atlas/${ATLAS_SRC_TAR_NAME}" if [[ -z "${DEPLOY_DIR}" ]]; then echo "DEPLOY_DIR not set!" >&2 @@ -14,7 +14,8 @@ fi ATLAS_TMP_DIR="${PWD}/tmp/atlas" ATLAS_SRC_TAR="${ATLAS_TMP_DIR}/${ATLAS_SRC_TAR_NAME}" ATLAS_SRC_DIR="${ATLAS_TMP_DIR}/ATLAS" -ATLAS_BUILD_DIR="${ATLAS_TMP_DIR}/build" +ATLAS_VENDOR_DIR="${PWD}/atlas" +ATLAS_BUILD_DIR="${ATLAS_SRC_DIR}/build" ATLAS_DEPLOY_DIR="${DEPLOY_DIR}/atlas" rm -rf "${ATLAS_TMP_DIR}" @@ -29,10 +30,27 @@ curl -L "${ATLAS_SRC_URL}" -o "${ATLAS_SRC_TAR}" tar -xvf "${ATLAS_SRC_TAR}" -C "${ATLAS_TMP_DIR}" +# Fix uses of fgrep -> grep -F +find "${ATLAS_SRC_DIR}" -type f -exec sed -i 's/fgrep/grep -F/g' {} + + +# Uncomment to fix free invalid ptr in xprobe_comp +# Seems to be a compiler bug :shrug: +#sed -i 's|free(.*|;|g' "${ATLAS_SRC_DIR}/CONFIG/src/atlconf_misc.c" + +pushd "${ATLAS_SRC_DIR}" + +patch -p1 < "${ATLAS_VENDOR_DIR}/gfortran-10.patch" + +popd + pushd "${ATLAS_BUILD_DIR}" "${ATLAS_SRC_DIR}/configure" \ - --prefix="${ATLAS_DEPLOY_DIR}" #\ - #-Fa acg '-march=native -Ofast -fomit-frame-pointer -flto' + --prefix="${ATLAS_DEPLOY_DIR}" \ + -Fa acg '-march=native -Ofast -fomit-frame-pointer -flto' + +make build + +#make popd