From c9e61b08911240b36d35d37371383718a991c4ae Mon Sep 17 00:00:00 2001 From: laurentbartholdi Date: Mon, 21 Oct 2024 18:38:50 +0000 Subject: [PATCH 01/10] First attempt --- .ci/Manifest.toml | 92 ++++--- F/FFLAS-FFPACK/build_tarballs.jl | 48 ++++ .../fflas-ffpack-config-without-run.patch | 245 ++++++++++++++++++ .../patches/fflas-ffpack-missing-blas.patch | 11 + 4 files changed, 349 insertions(+), 47 deletions(-) create mode 100644 F/FFLAS-FFPACK/build_tarballs.jl create mode 100644 F/FFLAS-FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch create mode 100644 F/FFLAS-FFPACK/bundled/patches/fflas-ffpack-missing-blas.patch diff --git a/.ci/Manifest.toml b/.ci/Manifest.toml index 2bcbdaf56a9..a9525fe3c3e 100644 --- a/.ci/Manifest.toml +++ b/.ci/Manifest.toml @@ -37,19 +37,19 @@ uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" [[deps.BinaryBuilder]] deps = ["ArgParse", "BinaryBuilderBase", "Dates", "Downloads", "GitHub", "HTTP", "JLD2", "JSON", "LibGit2", "Libdl", "Logging", "LoggingExtras", "ObjectFile", "OutputCollectors", "Pkg", "PkgLicenses", "REPL", "Random", "Registrator", "RegistryTools", "SHA", "Scratch", "Sockets", "TOML", "UUIDs", "ghr_jll"] -git-tree-sha1 = "d0c570291105d82c22515c97f458d80e86d49e0c" +git-tree-sha1 = "41afbecf4115126df89a3bed12ec51a0bcacd4ac" repo-rev = "master" repo-url = "https://github.com/JuliaPackaging/BinaryBuilder.jl" uuid = "12aac903-9f7c-5d81-afc2-d9565ea332ae" -version = "0.5.8" +version = "0.6.0" [[deps.BinaryBuilderBase]] deps = ["Bzip2_jll", "CodecZlib", "Downloads", "Gzip_jll", "HistoricalStdlibVersions", "InteractiveUtils", "JLLWrappers", "JSON", "LibGit2", "LibGit2_jll", "Libdl", "Logging", "OrderedCollections", "OutputCollectors", "Pkg", "Printf", "ProgressMeter", "REPL", "Random", "SHA", "Scratch", "SimpleBufferStream", "TOML", "Tar", "Tar_jll", "UUIDs", "XZ_jll", "Zstd_jll", "p7zip_jll", "pigz_jll", "unzip_jll"] -git-tree-sha1 = "6493c0c0530c38c21723c30c965fc5e6c94e3fea" +git-tree-sha1 = "8d28c540acb09a7c4829015ec902b94fdb74b5f0" repo-rev = "master" repo-url = "https://github.com/JuliaPackaging/BinaryBuilderBase.jl.git" uuid = "7f725544-6523-48cd-82d1-3fa08ff4056e" -version = "1.30.1" +version = "1.32.0" [[deps.BitFlags]] git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" @@ -58,21 +58,21 @@ version = "0.1.9" [[deps.Bzip2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd" +git-tree-sha1 = "8873e196c2eb87962a2048b3b8e08946535864a1" uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.8+1" +version = "1.0.8+2" [[deps.CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "b8fe8546d52ca154ac556809e10c75e6e7430ac8" +git-tree-sha1 = "bce6804e5e6044c6daab27bb533d1295e4a2e759" uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.5" +version = "0.7.6" [[deps.Compat]] deps = ["Dates", "LinearAlgebra", "TOML", "UUIDs"] -git-tree-sha1 = "b1c55339b7c6c350ee89f2c1604299660525b248" +git-tree-sha1 = "8ae8d32e09f0dcf42a36b90d4e17f5dd2e4c4215" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.15.0" +version = "4.16.0" [[deps.CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] @@ -119,9 +119,9 @@ version = "0.1.10" [[deps.FileIO]] deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "82d8afa92ecf4b52d78d869f038ebfb881267322" +git-tree-sha1 = "62ca0547a14c57e98154423419d8a342dca75ca9" uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.16.3" +version = "1.16.4" [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" @@ -178,16 +178,16 @@ uuid = "82899510-4779-5014-852e-03e436cf321d" version = "1.0.0" [[deps.JLD2]] -deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "PrecompileTools", "Reexport", "Requires", "TranscodingStreams", "UUIDs", "Unicode"] -git-tree-sha1 = "67d4690d32c22e28818a434b293a374cc78473d3" +deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "PrecompileTools", "Requires", "TranscodingStreams"] +git-tree-sha1 = "a0746c21bdc986d0dc293efa6b1faee112c37c28" uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.51" +version = "0.4.53" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" +git-tree-sha1 = "be3dc50a92e5a386872a493a10050136d4703f9b" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.5.0" +version = "1.6.1" [[deps.JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] @@ -197,15 +197,15 @@ version = "0.21.4" [[deps.JSON3]] deps = ["Dates", "Mmap", "Parsers", "PrecompileTools", "StructTypes", "UUIDs"] -git-tree-sha1 = "eb3edce0ed4fa32f75a0a11217433c31d56bd48b" +git-tree-sha1 = "1d322381ef7b087548321d3f878cb4c9bd8f8f9b" uuid = "0f8b85d8-7281-11e9-16c2-39a750bddbf1" -version = "1.14.0" +version = "1.14.1" [[deps.LZO_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "70c5da094887fd2cae843b8db33920bac4b6f07d" +git-tree-sha1 = "854a9c268c43b77b0a27f22d7fab8d33cdb3a731" uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" -version = "2.10.2+0" +version = "2.10.2+1" [[deps.LazyArtifacts]] deps = ["Artifacts", "Pkg"] @@ -255,9 +255,9 @@ version = "1.0.3" [[deps.Lz4_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "7f26c8fc5229e68484e0b3447312c98e16207d11" +git-tree-sha1 = "abf88ff67f4fd89839efcae2f4c39cbc4ecd0846" uuid = "5ced341a-0733-55b8-9ab6-a4889d929147" -version = "1.10.0+0" +version = "1.10.0+1" [[deps.MacroTools]] deps = ["Markdown", "Random"] @@ -293,9 +293,9 @@ uuid = "14a3606d-f60d-562e-9121-12d972cd8159" [[deps.Mustache]] deps = ["Printf", "Tables"] -git-tree-sha1 = "a7cefa21a2ff993bff0456bf7521f46fc077ddf1" +git-tree-sha1 = "3b2db451a872b20519ebb0cec759d3d81a1c6bcb" uuid = "ffc61752-8dc7-55ee-8c37-f3e9cdd09e70" -version = "1.0.19" +version = "1.0.20" [[deps.Mux]] deps = ["AssetRegistry", "Base64", "HTTP", "Hiccup", "MbedTLS", "Pkg", "Sockets"] @@ -308,9 +308,9 @@ uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" [[deps.ObjectFile]] deps = ["Reexport", "StructIO"] -git-tree-sha1 = "195e0a19842f678dd3473ceafbe9d82dfacc583c" +git-tree-sha1 = "7249afa1c4dfd86bfbcc9b28939ab6ef844f4e11" uuid = "d8793406-e978-5875-9003-1fc021f44a92" -version = "0.4.1" +version = "0.4.2" [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] @@ -324,9 +324,9 @@ version = "1.4.3" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "a028ee3cb5641cccc4c24e90c36b0a4f7707bdf5" +git-tree-sha1 = "7493f61f55a6cce7325f197443aa80d32554ba10" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.0.14+0" +version = "3.0.15+1" [[deps.OrderedCollections]] git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" @@ -432,9 +432,9 @@ version = "1.2.1" uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" [[deps.SimpleBufferStream]] -git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" +git-tree-sha1 = "f305871d2f381d21527c770d4788c06c097c9bc1" uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" -version = "1.1.0" +version = "1.2.0" [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" @@ -446,16 +446,15 @@ uuid = "2133526b-2bfb-4018-ac12-889fb3908a75" version = "0.1.1" [[deps.StructIO]] -deps = ["Test"] -git-tree-sha1 = "010dc73c7146869c042b49adcdb6bf528c12e859" +git-tree-sha1 = "c581be48ae1cbf83e899b14c07a807e1787512cc" uuid = "53d494c1-5632-5724-8f4c-31dff12d585f" -version = "0.3.0" +version = "0.3.1" [[deps.StructTypes]] deps = ["Dates", "UUIDs"] -git-tree-sha1 = "ca4bccb03acf9faaf4137a9abc1881ed1841aa70" +git-tree-sha1 = "159331b30e94d7b11379037feeb9b690950cace8" uuid = "856f2bd8-1eba-4b0a-8007-ebc267875bd4" -version = "1.10.0" +version = "1.11.0" [[deps.TOML]] deps = ["Dates"] @@ -505,10 +504,9 @@ uuid = "f269a46b-ccf7-5d73-abea-4c690281aa53" version = "1.11.0" [[deps.TranscodingStreams]] -deps = ["Random", "Test"] -git-tree-sha1 = "96612ac5365777520c3c5396314c8cf7408f436a" +git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.11.1" +version = "0.11.3" [[deps.URIs]] git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b" @@ -530,15 +528,15 @@ version = "5.4.6+0" [[deps.ZMQ]] deps = ["FileWatching", "PrecompileTools", "Sockets", "ZeroMQ_jll"] -git-tree-sha1 = "ad6944a6b3dfd8e95920e48355d3baf510319262" +git-tree-sha1 = "18cfd00df3cbbebf8ea4ec7ea6bbceb3af716bd0" uuid = "c2297ded-f4af-51ae-bb23-16f91089e4e1" -version = "1.2.6" +version = "1.3.0" [[deps.ZeroMQ_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "libsodium_jll"] -git-tree-sha1 = "42f97fb27394378591666ab0e9cee369e6d0e1f9" +git-tree-sha1 = "f02ce8f0fda1ed40f4d0d59a2ad05e35e8ac9b0e" uuid = "8f1865be-045e-5c20-9c9f-bfbfb0764568" -version = "4.3.5+0" +version = "4.3.5+1" [[deps.Zlib_jll]] deps = ["Libdl"] @@ -546,9 +544,9 @@ uuid = "83775a58-1f1d-513f-b197-d71354ab007a" [[deps.Zstd_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "e678132f07ddb5bfa46857f0d7620fb9be675d3b" +git-tree-sha1 = "555d1076590a6cc2fdee2ef1469451f872d8b41b" uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" -version = "1.5.6+0" +version = "1.5.6+1" [[deps.ghr_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -562,9 +560,9 @@ uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" [[deps.libsodium_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "848ab3d00fe39d6fbc2a8641048f8f272af1c51e" +git-tree-sha1 = "f76d682d87eefadd3f165d8d9fda436464213142" uuid = "a9144af2-ca23-56d9-984f-0d03f7b5ccf8" -version = "1.0.20+0" +version = "1.0.20+1" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] diff --git a/F/FFLAS-FFPACK/build_tarballs.jl b/F/FFLAS-FFPACK/build_tarballs.jl new file mode 100644 index 00000000000..fd523386b9a --- /dev/null +++ b/F/FFLAS-FFPACK/build_tarballs.jl @@ -0,0 +1,48 @@ +# Note that this script can accept some limited command-line arguments, run +# `julia build_tarballs.jl --help` to see a usage message. +using BinaryBuilder, Pkg + +name = "FFLAS_FFPACK" +version = v"2.5.0" + +# Collection of sources required to complete build +sources = [ + ArchiveSource("https://github.com/linbox-team/fflas-ffpack/releases/download/v$version/fflas-ffpack-$version.tar.gz", "dafb4c0835824d28e4f823748579be6e4c8889c9570c6ce9cce1e186c3ebbb23"), + DirectorySource("./bundled") +] + +# Bash recipe for building across all platforms +script = raw""" +cd ${WORKSPACE}/srcdir/fflas-ffpack-* + +for f in ${WORKSPACE}/srcdir/patches/*.patch; do + atomic_patch -p1 ${f} +done + +autoreconf +./configure CCNAM=${CC} CPLUS_INCLUDE_PATH=$includedir --prefix=$prefix --build=${MACHTYPE} --host=${target} + +make -j ${nproc} +make install + +install_license COPYING +""" + +# These are the platforms we will build for by default, unless further +# platforms are passed in on the command line +platforms = filter(!Sys.iswindows, supported_platforms()) |> expand_cxxstring_abis + +# The products that we will ensure are always built +products = [ + FileProduct("include/fflas-ffpack/fflas-ffpack-config.h", :fflas_ffpack_config_h) +] + +# Dependencies that must be installed before this package can be built +dependencies = [ + Dependency("GMP_jll"; compat="6.2.1"), + Dependency("Givaro_jll"; compat="4.2.0") +] + +# Build the tarballs, and possibly a `build.jl` as well. +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; + clang_use_lld=false, julia_compat="1.6", preferred_gcc_version=v"6") diff --git a/F/FFLAS-FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch b/F/FFLAS-FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch new file mode 100644 index 00000000000..b069b59be2b --- /dev/null +++ b/F/FFLAS-FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch @@ -0,0 +1,245 @@ +diff -ur fflas-ffpack-2.5.0.orig/macros/common.m4 fflas-ffpack-2.5.0/macros/common.m4 +--- fflas-ffpack-2.5.0.orig/macros/common.m4 2021-09-21 13:23:36.000000000 +0000 ++++ fflas-ffpack-2.5.0/macros/common.m4 2024-10-21 18:12:32.283126751 +0000 +@@ -137,18 +137,8 @@ + CXXFLAGS="${OPTIM_FLAGS} ${CXXFLAGS}" + AS_CASE([$target], + [*i386*|*i686*], +- [AC_RUN_IFELSE([AC_LANG_PROGRAM([[]], [[#ifdef __SSE__ +- return 0; +- #else +- return 1; +- #endif +- ]])], + [AC_MSG_NOTICE("Adding '-mfpmath=sse' to OPTIM_FLAGS") + OPTIM_FLAGS+=" -mfpmath=sse"], +- [], # either the flag is not recognized by the compiler or +- # SSE is not avail => do nothing +- [AC_MSG_NOTICE("If available you may want to add +- '-mfpmath=sse' to flags")])] # cross-compilation case + []) # not on i386 nor i686 => do nothing + CXXFLAGS="${BACKUP_CXXFLAGS}" + ]) +diff -ur fflas-ffpack-2.5.0.orig/macros/debug.m4 fflas-ffpack-2.5.0/macros/debug.m4 +--- fflas-ffpack-2.5.0.orig/macros/debug.m4 2021-09-21 13:23:36.000000000 +0000 ++++ fflas-ffpack-2.5.0/macros/debug.m4 2024-10-21 18:15:38.707125128 +0000 +@@ -69,77 +69,6 @@ + + AC_DEFUN([AC_COMPILER_NAME], [ + AC_MSG_CHECKING(for family name of compiler) +- +- dnl CHECKING for various compilers +- dnl ICC ? +- AC_TRY_RUN( [ +- #ifdef __INTEL_COMPILER +- int main() { return 0 ; } +- #else +- not intel +- #endif], +- [ AC_MSG_RESULT(icc) +- CCNAM=icc +- AC_SUBST(CCNAM) +- ]) +- +- dnl PATHSCALE > 4 ? +- AS_IF([ test -z "${CCNAM}"], [ +- AC_TRY_RUN( [ +- #ifdef __PATHSCALE__ +- int main() { return !(__PATHCC__ >= 4) ; } +- #else +- not ekopath either. +- #endif], +- [ CCNAM=eko ]) +- ]) +- +- dnl CLANG >= 3.9 ? +- AS_IF([ test -z "${CCNAM}"], [ +- AC_TRY_RUN( [ +- #ifdef __clang__ +- int main() { return !((__clang_major__ >= 4) ||(__clang_major__ ==3 && __clang_minor__ >= 9) ) ; } +- #else +- not clang3.9 +- #endif], [ +- CCNAM=clang +- AC_SUBST(CCNAM) +- AC_MSG_RESULT($CCNAM) ]) +- ]) +- +- dnl 3.1 < CLANG <= 3.8 ? +- AS_IF([ test -z "${CCNAM}"], [ +- AC_TRY_RUN( [ +- #ifdef __clang__ +- int main() { return !(__clang_major__ ==3 && __clang_minor__ >=1 && __clang_minor__ <=8) ; } +- #else +- not clang3.8 +- #endif], [ +- CCNAM=clang38 +- AC_SUBST(CCNAM) +- AC_MSG_RESULT($CCNAM) ]) +- ]) +- +- dnl GCC >= 5 ? +- AS_IF([ test -z "${CCNAM}"], [ +- AC_TRY_RUN( [ +- #ifdef __GNUC__ +- int main() { return !(__GNUC__ >= 5 ) ; } +- #else +- not gcc neither. +- #endif], +- [ CCNAM=gcc ]) +- ]) +- +- dnl other ? +- +- AS_IF([ test -z "${CCNAM}"], +- [ AC_MSG_RESULT(unknown) +- CCNAM=unknown +- AC_SUBST(CCNAM) +- echo +- echo " *** unknow compiler. please file a bug " +- echo +- ]) +- ++ CCNAM=cc ++ AC_SUBST(CCNAM) + ]) +diff -ur fflas-ffpack-2.5.0.orig/macros/fflas-ffpack-blas.m4 fflas-ffpack-2.5.0/macros/fflas-ffpack-blas.m4 +--- fflas-ffpack-2.5.0.orig/macros/fflas-ffpack-blas.m4 2020-06-10 08:00:45.000000000 +0000 ++++ fflas-ffpack-2.5.0/macros/fflas-ffpack-blas.m4 2024-10-21 18:19:07.891123306 +0000 +@@ -63,77 +63,10 @@ + dnl is there user CBLAS accessible ? + AC_MSG_CHECKING(for BLAS) + +- AC_TRY_RUN([ ${CODE_CBLAS} ],[ +- blas_found="yes" +- is_cblas="yes" +- AC_MSG_RESULT(found CBLAS) +- ],[ +- dnl No, then checking for Fortran BLAS +- AC_TRY_RUN( +- [ ${CODE_FBLAS} ], +- [ blas_found="yes" +- is_cblas="no" +- AC_MSG_RESULT(found Fortran BLAS) +- ],[ +- dnl No, then checking for OpenBLAS +- BLAS_LIBS="${BLAS_LIBS} -lopenblas -lpthread" +- AS_CASE([$CCNAM], [gcc*], [BLAS_LIBS="${BLAS_LIBS} -lgfortran"]) +- LIBS="${BACKUP_LIBS} ${BLAS_LIBS}" +- AC_TRY_RUN( +- [ ${CODE_CBLAS} ],[ +- AC_MSG_RESULT(found OpenBLAS) +- blas_found="yes" +- is_cblas="yes" +- AC_SUBST(BLAS_LIBS) +- ],[ +- blas_problem="$problem" +- AC_MSG_RESULT(problem) +- ],[ +- blas_found="yes" +- is_cblas="yes" +- AC_MSG_RESULT(cross compiling) +- blas_cross="yes" +- AC_SUBST(BLAS_LIBS) +- ]) +- ],[ +- blas_found="yes" +- is_cblas="no" +- AC_MSG_RESULT(cross compiling) +- blas_cross="yes" +- ]) +- ],[ +- blas_found="yes" +- AC_MSG_RESULT(cross compiling) +- is_cblas="yes" +- blas_cross="yes" +- ]) +- +- AS_IF([ test "x$blas_found" = "xyes" ], +- [ +- BLAS_VENDOR="USER" +- AC_SUBST(BLAS_VENDOR) +- AC_DEFINE(HAVE_BLAS,1,[Define if BLAS is available]) +- AS_IF([test "x$is_cblas" = "xyes" ],[ +- AC_DEFINE(HAVE_CBLAS,1,[Define if BLAS is a CBLAS]) +- ],[]) +- +- AS_IF([test "x$blas_cross" = "xyes"], [ +- echo "WARNING: You appear to be cross compiling, so there is no way to determine" +- echo "whether your BLAS are good. I am assuming it is."],[]) +- ], +- [ +- echo '' +- echo '*******************************************************************************' +- echo ' ERROR: BLAS not found!' +- echo +- echo ' BLAS routines are required for this library to compile. Please' +- echo ' make sure BLAS are installed and specify its location with the option' +- echo ' --with-blas-libs= and if necessary --with-blas-cflags=' +- echo ' when running configure.' +- echo '*******************************************************************************' +- exit 1 +- ]) +- ++ BLAS_LIBS="-lblastrampoline -lpthread" ++ blas_found="yes" ++ is_cblas="yes" ++ AC_SUBST(BLAS_LIBS) + + dnl AM_CONDITIONAL(FFLASFFPACK_HAVE_BLAS, test "x$blas_found" = "xyes") + dnl AM_CONDITIONAL(FFLASFFPACK_HAVE_CBLAS, test "x$is_cblas" = "xyes") +diff -ur fflas-ffpack-2.5.0.orig/macros/givaro-check.m4 fflas-ffpack-2.5.0/macros/givaro-check.m4 +--- fflas-ffpack-2.5.0.orig/macros/givaro-check.m4 2020-06-10 08:00:45.000000000 +0000 ++++ fflas-ffpack-2.5.0/macros/givaro-check.m4 2024-10-21 18:20:22.555122656 +0000 +@@ -80,24 +80,6 @@ + [#include ], + [Givaro::Integer a;], + [ +- AC_TRY_RUN( +- [#include +- int main () { if (GIVARO_VERSION >= $version_min && GIVARO_VERSION < $version_max) return 0; else return -1; /* old version of Givaro are defined as hexa 0x03yyzz*/ } +- ],[ +- givaro_found="yes" +- break +- ],[ +- givaro_problem="$problem $GIVARO_HOME" +- unset GIVARO_CFLAGS +- unset GIVARO_LIBS +- ],[ +- givaro_found="yes" +- givaro_cross="yes" +- +- break +- ]) +- ], +- [ + givaro_found="yes" + givaro_checked="$checked $GIVARO_HOME" + #unset GIVARO_CFLAGS +diff -ur fflas-ffpack-2.5.0.orig/macros/omp-check.m4 fflas-ffpack-2.5.0/macros/omp-check.m4 +--- fflas-ffpack-2.5.0.orig/macros/omp-check.m4 2021-09-21 13:23:36.000000000 +0000 ++++ fflas-ffpack-2.5.0/macros/omp-check.m4 2024-10-21 18:33:33.647115767 +0000 +@@ -37,19 +37,10 @@ + [ + BACKUP_CXXFLAGS=${CXXFLAGS} + CXXFLAGS="${BACKUP_CXXFLAGS} ${OMPFLAGS}" +- AC_TRY_RUN([ +-#include +- int main() { +- int p = omp_get_num_threads(); +- return 0; +- } +- ], +- [ omp_found="yes" ], +- [ omp_found="no" ], +- [ +- echo "cross compiling...disabling" +- omp_found="no" +- ]) ++ AC_CHECK_HEADER([omp.h], ++ [ omp_found="yes" ], ++ [ omp_found="no" ] ++ ) + AS_IF( [ test "x$omp_found" = "xyes" ], + [ + AC_DEFINE(USE_OPENMP,1,[Define if OMP is available]) diff --git a/F/FFLAS-FFPACK/bundled/patches/fflas-ffpack-missing-blas.patch b/F/FFLAS-FFPACK/bundled/patches/fflas-ffpack-missing-blas.patch new file mode 100644 index 00000000000..01f840dcae8 --- /dev/null +++ b/F/FFLAS-FFPACK/bundled/patches/fflas-ffpack-missing-blas.patch @@ -0,0 +1,11 @@ +--- fflas-ffpack-2.5.0.orig/fflas-ffpack/config-blas.h 2024-08-04 15:41:34 ++++ fflas-ffpack-2.5.0/fflas-ffpack/config-blas.h 2024-08-04 17:00:24 +@@ -128,6 +128,8 @@ + void strmm_ (const char*, const char*, const char*, const char*, const int*, const int*, const float*, const float*, const int*, float*, const int*); + void sgemm_ (const char*, const char*, const int*, const int*, const int*, const float*, const float*, const int*, const float*, const int*, const float*, float*, const int*); + void dgemm_ (const char*, const char*, const int*, const int*, const int*, const double*, const double*, const int*, const double*, const int*, const double*, double*, const int*); ++ void ssyrk_ (const char *, const char *, int, int, float, const float *, int, float, float *, int); // missing? ++ void dsyrk_ (const char *, const char *, int, int, double, const double *, int, double, double *, int); + } + + // define C wrappers From 70124fab85f603a8c703793da4e08000e7f4b7ca Mon Sep 17 00:00:00 2001 From: laurentbartholdi Date: Mon, 21 Oct 2024 18:53:17 +0000 Subject: [PATCH 02/10] Removed Manifest.toml --- .ci/Manifest.toml | 92 ++++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 45 deletions(-) diff --git a/.ci/Manifest.toml b/.ci/Manifest.toml index a9525fe3c3e..2bcbdaf56a9 100644 --- a/.ci/Manifest.toml +++ b/.ci/Manifest.toml @@ -37,19 +37,19 @@ uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" [[deps.BinaryBuilder]] deps = ["ArgParse", "BinaryBuilderBase", "Dates", "Downloads", "GitHub", "HTTP", "JLD2", "JSON", "LibGit2", "Libdl", "Logging", "LoggingExtras", "ObjectFile", "OutputCollectors", "Pkg", "PkgLicenses", "REPL", "Random", "Registrator", "RegistryTools", "SHA", "Scratch", "Sockets", "TOML", "UUIDs", "ghr_jll"] -git-tree-sha1 = "41afbecf4115126df89a3bed12ec51a0bcacd4ac" +git-tree-sha1 = "d0c570291105d82c22515c97f458d80e86d49e0c" repo-rev = "master" repo-url = "https://github.com/JuliaPackaging/BinaryBuilder.jl" uuid = "12aac903-9f7c-5d81-afc2-d9565ea332ae" -version = "0.6.0" +version = "0.5.8" [[deps.BinaryBuilderBase]] deps = ["Bzip2_jll", "CodecZlib", "Downloads", "Gzip_jll", "HistoricalStdlibVersions", "InteractiveUtils", "JLLWrappers", "JSON", "LibGit2", "LibGit2_jll", "Libdl", "Logging", "OrderedCollections", "OutputCollectors", "Pkg", "Printf", "ProgressMeter", "REPL", "Random", "SHA", "Scratch", "SimpleBufferStream", "TOML", "Tar", "Tar_jll", "UUIDs", "XZ_jll", "Zstd_jll", "p7zip_jll", "pigz_jll", "unzip_jll"] -git-tree-sha1 = "8d28c540acb09a7c4829015ec902b94fdb74b5f0" +git-tree-sha1 = "6493c0c0530c38c21723c30c965fc5e6c94e3fea" repo-rev = "master" repo-url = "https://github.com/JuliaPackaging/BinaryBuilderBase.jl.git" uuid = "7f725544-6523-48cd-82d1-3fa08ff4056e" -version = "1.32.0" +version = "1.30.1" [[deps.BitFlags]] git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" @@ -58,21 +58,21 @@ version = "0.1.9" [[deps.Bzip2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "8873e196c2eb87962a2048b3b8e08946535864a1" +git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd" uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.8+2" +version = "1.0.8+1" [[deps.CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "bce6804e5e6044c6daab27bb533d1295e4a2e759" +git-tree-sha1 = "b8fe8546d52ca154ac556809e10c75e6e7430ac8" uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.6" +version = "0.7.5" [[deps.Compat]] deps = ["Dates", "LinearAlgebra", "TOML", "UUIDs"] -git-tree-sha1 = "8ae8d32e09f0dcf42a36b90d4e17f5dd2e4c4215" +git-tree-sha1 = "b1c55339b7c6c350ee89f2c1604299660525b248" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.16.0" +version = "4.15.0" [[deps.CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] @@ -119,9 +119,9 @@ version = "0.1.10" [[deps.FileIO]] deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "62ca0547a14c57e98154423419d8a342dca75ca9" +git-tree-sha1 = "82d8afa92ecf4b52d78d869f038ebfb881267322" uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.16.4" +version = "1.16.3" [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" @@ -178,16 +178,16 @@ uuid = "82899510-4779-5014-852e-03e436cf321d" version = "1.0.0" [[deps.JLD2]] -deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "PrecompileTools", "Requires", "TranscodingStreams"] -git-tree-sha1 = "a0746c21bdc986d0dc293efa6b1faee112c37c28" +deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "PrecompileTools", "Reexport", "Requires", "TranscodingStreams", "UUIDs", "Unicode"] +git-tree-sha1 = "67d4690d32c22e28818a434b293a374cc78473d3" uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.53" +version = "0.4.51" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "be3dc50a92e5a386872a493a10050136d4703f9b" +git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.6.1" +version = "1.5.0" [[deps.JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] @@ -197,15 +197,15 @@ version = "0.21.4" [[deps.JSON3]] deps = ["Dates", "Mmap", "Parsers", "PrecompileTools", "StructTypes", "UUIDs"] -git-tree-sha1 = "1d322381ef7b087548321d3f878cb4c9bd8f8f9b" +git-tree-sha1 = "eb3edce0ed4fa32f75a0a11217433c31d56bd48b" uuid = "0f8b85d8-7281-11e9-16c2-39a750bddbf1" -version = "1.14.1" +version = "1.14.0" [[deps.LZO_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "854a9c268c43b77b0a27f22d7fab8d33cdb3a731" +git-tree-sha1 = "70c5da094887fd2cae843b8db33920bac4b6f07d" uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" -version = "2.10.2+1" +version = "2.10.2+0" [[deps.LazyArtifacts]] deps = ["Artifacts", "Pkg"] @@ -255,9 +255,9 @@ version = "1.0.3" [[deps.Lz4_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "abf88ff67f4fd89839efcae2f4c39cbc4ecd0846" +git-tree-sha1 = "7f26c8fc5229e68484e0b3447312c98e16207d11" uuid = "5ced341a-0733-55b8-9ab6-a4889d929147" -version = "1.10.0+1" +version = "1.10.0+0" [[deps.MacroTools]] deps = ["Markdown", "Random"] @@ -293,9 +293,9 @@ uuid = "14a3606d-f60d-562e-9121-12d972cd8159" [[deps.Mustache]] deps = ["Printf", "Tables"] -git-tree-sha1 = "3b2db451a872b20519ebb0cec759d3d81a1c6bcb" +git-tree-sha1 = "a7cefa21a2ff993bff0456bf7521f46fc077ddf1" uuid = "ffc61752-8dc7-55ee-8c37-f3e9cdd09e70" -version = "1.0.20" +version = "1.0.19" [[deps.Mux]] deps = ["AssetRegistry", "Base64", "HTTP", "Hiccup", "MbedTLS", "Pkg", "Sockets"] @@ -308,9 +308,9 @@ uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" [[deps.ObjectFile]] deps = ["Reexport", "StructIO"] -git-tree-sha1 = "7249afa1c4dfd86bfbcc9b28939ab6ef844f4e11" +git-tree-sha1 = "195e0a19842f678dd3473ceafbe9d82dfacc583c" uuid = "d8793406-e978-5875-9003-1fc021f44a92" -version = "0.4.2" +version = "0.4.1" [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] @@ -324,9 +324,9 @@ version = "1.4.3" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "7493f61f55a6cce7325f197443aa80d32554ba10" +git-tree-sha1 = "a028ee3cb5641cccc4c24e90c36b0a4f7707bdf5" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.0.15+1" +version = "3.0.14+0" [[deps.OrderedCollections]] git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" @@ -432,9 +432,9 @@ version = "1.2.1" uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" [[deps.SimpleBufferStream]] -git-tree-sha1 = "f305871d2f381d21527c770d4788c06c097c9bc1" +git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" -version = "1.2.0" +version = "1.1.0" [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" @@ -446,15 +446,16 @@ uuid = "2133526b-2bfb-4018-ac12-889fb3908a75" version = "0.1.1" [[deps.StructIO]] -git-tree-sha1 = "c581be48ae1cbf83e899b14c07a807e1787512cc" +deps = ["Test"] +git-tree-sha1 = "010dc73c7146869c042b49adcdb6bf528c12e859" uuid = "53d494c1-5632-5724-8f4c-31dff12d585f" -version = "0.3.1" +version = "0.3.0" [[deps.StructTypes]] deps = ["Dates", "UUIDs"] -git-tree-sha1 = "159331b30e94d7b11379037feeb9b690950cace8" +git-tree-sha1 = "ca4bccb03acf9faaf4137a9abc1881ed1841aa70" uuid = "856f2bd8-1eba-4b0a-8007-ebc267875bd4" -version = "1.11.0" +version = "1.10.0" [[deps.TOML]] deps = ["Dates"] @@ -504,9 +505,10 @@ uuid = "f269a46b-ccf7-5d73-abea-4c690281aa53" version = "1.11.0" [[deps.TranscodingStreams]] -git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" +deps = ["Random", "Test"] +git-tree-sha1 = "96612ac5365777520c3c5396314c8cf7408f436a" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.11.3" +version = "0.11.1" [[deps.URIs]] git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b" @@ -528,15 +530,15 @@ version = "5.4.6+0" [[deps.ZMQ]] deps = ["FileWatching", "PrecompileTools", "Sockets", "ZeroMQ_jll"] -git-tree-sha1 = "18cfd00df3cbbebf8ea4ec7ea6bbceb3af716bd0" +git-tree-sha1 = "ad6944a6b3dfd8e95920e48355d3baf510319262" uuid = "c2297ded-f4af-51ae-bb23-16f91089e4e1" -version = "1.3.0" +version = "1.2.6" [[deps.ZeroMQ_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "libsodium_jll"] -git-tree-sha1 = "f02ce8f0fda1ed40f4d0d59a2ad05e35e8ac9b0e" +git-tree-sha1 = "42f97fb27394378591666ab0e9cee369e6d0e1f9" uuid = "8f1865be-045e-5c20-9c9f-bfbfb0764568" -version = "4.3.5+1" +version = "4.3.5+0" [[deps.Zlib_jll]] deps = ["Libdl"] @@ -544,9 +546,9 @@ uuid = "83775a58-1f1d-513f-b197-d71354ab007a" [[deps.Zstd_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "555d1076590a6cc2fdee2ef1469451f872d8b41b" +git-tree-sha1 = "e678132f07ddb5bfa46857f0d7620fb9be675d3b" uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" -version = "1.5.6+1" +version = "1.5.6+0" [[deps.ghr_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -560,9 +562,9 @@ uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" [[deps.libsodium_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "f76d682d87eefadd3f165d8d9fda436464213142" +git-tree-sha1 = "848ab3d00fe39d6fbc2a8641048f8f272af1c51e" uuid = "a9144af2-ca23-56d9-984f-0d03f7b5ccf8" -version = "1.0.20+1" +version = "1.0.20+0" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] From 8dd9b9dd0381e432de08a4c5d32073b0cb73a799 Mon Sep 17 00:00:00 2001 From: laurentbartholdi Date: Mon, 21 Oct 2024 19:02:50 +0000 Subject: [PATCH 03/10] Removed the -mfpmath=sse option that caused confusion; renamed FFLAS-FFPACK to FFLAS_FFPACK --- F/{FFLAS-FFPACK => FFLAS_FFPACK}/build_tarballs.jl | 0 .../bundled/patches/fflas-ffpack-config-without-run.patch | 4 ++-- .../bundled/patches/fflas-ffpack-missing-blas.patch | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename F/{FFLAS-FFPACK => FFLAS_FFPACK}/build_tarballs.jl (100%) rename F/{FFLAS-FFPACK => FFLAS_FFPACK}/bundled/patches/fflas-ffpack-config-without-run.patch (98%) rename F/{FFLAS-FFPACK => FFLAS_FFPACK}/bundled/patches/fflas-ffpack-missing-blas.patch (100%) diff --git a/F/FFLAS-FFPACK/build_tarballs.jl b/F/FFLAS_FFPACK/build_tarballs.jl similarity index 100% rename from F/FFLAS-FFPACK/build_tarballs.jl rename to F/FFLAS_FFPACK/build_tarballs.jl diff --git a/F/FFLAS-FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch b/F/FFLAS_FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch similarity index 98% rename from F/FFLAS-FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch rename to F/FFLAS_FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch index b069b59be2b..1e803e9a63a 100644 --- a/F/FFLAS-FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch +++ b/F/FFLAS_FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch @@ -11,8 +11,8 @@ diff -ur fflas-ffpack-2.5.0.orig/macros/common.m4 fflas-ffpack-2.5.0/macros/comm - return 1; - #endif - ]])], - [AC_MSG_NOTICE("Adding '-mfpmath=sse' to OPTIM_FLAGS") - OPTIM_FLAGS+=" -mfpmath=sse"], +- [AC_MSG_NOTICE("Adding '-mfpmath=sse' to OPTIM_FLAGS") +- OPTIM_FLAGS+=" -mfpmath=sse"], - [], # either the flag is not recognized by the compiler or - # SSE is not avail => do nothing - [AC_MSG_NOTICE("If available you may want to add diff --git a/F/FFLAS-FFPACK/bundled/patches/fflas-ffpack-missing-blas.patch b/F/FFLAS_FFPACK/bundled/patches/fflas-ffpack-missing-blas.patch similarity index 100% rename from F/FFLAS-FFPACK/bundled/patches/fflas-ffpack-missing-blas.patch rename to F/FFLAS_FFPACK/bundled/patches/fflas-ffpack-missing-blas.patch From 972c42f4376838503fc79fffe25e76535a55c3e7 Mon Sep 17 00:00:00 2001 From: laurentbartholdi Date: Mon, 21 Oct 2024 19:15:36 +0000 Subject: [PATCH 04/10] Really zapped all the sse stuff from m4 files --- .../fflas-ffpack-config-without-run.patch | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/F/FFLAS_FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch b/F/FFLAS_FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch index 1e803e9a63a..e39a715d148 100644 --- a/F/FFLAS_FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch +++ b/F/FFLAS_FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch @@ -1,10 +1,19 @@ diff -ur fflas-ffpack-2.5.0.orig/macros/common.m4 fflas-ffpack-2.5.0/macros/common.m4 --- fflas-ffpack-2.5.0.orig/macros/common.m4 2021-09-21 13:23:36.000000000 +0000 -+++ fflas-ffpack-2.5.0/macros/common.m4 2024-10-21 18:12:32.283126751 +0000 -@@ -137,18 +137,8 @@ - CXXFLAGS="${OPTIM_FLAGS} ${CXXFLAGS}" - AS_CASE([$target], - [*i386*|*i686*], ++++ fflas-ffpack-2.5.0/macros/common.m4 2024-10-21 19:14:01.611094624 +0000 +@@ -128,27 +128,3 @@ + ], [], [], []) + ], [], []) + ]) +- +-dnl Append -mfpmath=sse to OPTIM_FLAGS on i386 and i686 architecture with SSE +-AC_DEFUN([FPMATH_FLAGS],[ +- AC_REQUIRE([ARCH_FLAGS]) +- +- BACKUP_CXXFLAGS="${CXXFLAGS}" +- CXXFLAGS="${OPTIM_FLAGS} ${CXXFLAGS}" +- AS_CASE([$target], +- [*i386*|*i686*], - [AC_RUN_IFELSE([AC_LANG_PROGRAM([[]], [[#ifdef __SSE__ - return 0; - #else @@ -17,9 +26,9 @@ diff -ur fflas-ffpack-2.5.0.orig/macros/common.m4 fflas-ffpack-2.5.0/macros/comm - # SSE is not avail => do nothing - [AC_MSG_NOTICE("If available you may want to add - '-mfpmath=sse' to flags")])] # cross-compilation case - []) # not on i386 nor i686 => do nothing - CXXFLAGS="${BACKUP_CXXFLAGS}" - ]) +- []) # not on i386 nor i686 => do nothing +- CXXFLAGS="${BACKUP_CXXFLAGS}" +- ]) diff -ur fflas-ffpack-2.5.0.orig/macros/debug.m4 fflas-ffpack-2.5.0/macros/debug.m4 --- fflas-ffpack-2.5.0.orig/macros/debug.m4 2021-09-21 13:23:36.000000000 +0000 +++ fflas-ffpack-2.5.0/macros/debug.m4 2024-10-21 18:15:38.707125128 +0000 From 3adaffd025f88163a4fb85018c3e4b71412ed0cd Mon Sep 17 00:00:00 2001 From: laurentbartholdi Date: Wed, 23 Oct 2024 16:52:05 +0000 Subject: [PATCH 05/10] Added libblastrampoline_jll to dependencies, and proper check --- F/FFLAS_FFPACK/build_tarballs.jl | 5 +- .../fflas-ffpack-config-without-run.patch | 229 ++++++++++++++++-- 2 files changed, 214 insertions(+), 20 deletions(-) diff --git a/F/FFLAS_FFPACK/build_tarballs.jl b/F/FFLAS_FFPACK/build_tarballs.jl index fd523386b9a..a4a8bc386f9 100644 --- a/F/FFLAS_FFPACK/build_tarballs.jl +++ b/F/FFLAS_FFPACK/build_tarballs.jl @@ -40,9 +40,10 @@ products = [ # Dependencies that must be installed before this package can be built dependencies = [ Dependency("GMP_jll"; compat="6.2.1"), - Dependency("Givaro_jll"; compat="4.2.0") + Dependency("Givaro_jll"; compat="4.2.0"), + Dependency("libblastrampoline_jll"; compat="5.4.0") ] # Build the tarballs, and possibly a `build.jl` as well. build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; - clang_use_lld=false, julia_compat="1.6", preferred_gcc_version=v"6") + clang_use_lld=false, julia_compat="1.9", preferred_gcc_version=v"6") diff --git a/F/FFLAS_FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch b/F/FFLAS_FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch index e39a715d148..9148674f840 100644 --- a/F/FFLAS_FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch +++ b/F/FFLAS_FFPACK/bundled/patches/fflas-ffpack-config-without-run.patch @@ -1,14 +1,196 @@ -diff -ur fflas-ffpack-2.5.0.orig/macros/common.m4 fflas-ffpack-2.5.0/macros/common.m4 +diff -ruN fflas-ffpack-2.5.0.orig/macros/ax_cblas.m4 fflas-ffpack-2.5.0/macros/ax_cblas.m4 +--- fflas-ffpack-2.5.0.orig/macros/ax_cblas.m4 1970-01-01 00:00:00.000000000 +0000 ++++ fflas-ffpack-2.5.0/macros/ax_cblas.m4 2024-10-23 16:37:17.149934721 +0000 +@@ -0,0 +1,182 @@ ++# =========================================================================== ++# http://autoconf-archive.cryp.to/acx_blas.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_CBLAS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) ++# ++# DESCRIPTION ++# ++# This macro looks for a library that implements the CBLAS linear-algebra ++# interface (see http://www.netlib.org/blas/). On success, it sets the ++# CBLAS_LIBS output variable to hold the requisite library linkages. ++# ++# To link with CBLAS, you should link with: ++# ++# $CBLAS_LIBS $LIBS ++# ++# in that order. ++# ++# Many libraries are searched for, from ATLAS to CXML to ESSL. The user ++# may also use --with-cblas= in order to use some specific CBLAS ++# library . ++# ++# ACTION-IF-FOUND is a list of shell commands to run if a BLAS library is ++# found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it is ++# not found. If ACTION-IF-FOUND is not specified, the default action will ++# define HAVE_BLAS. ++# ++# This macro requires autoconf 2.50 or later. ++# ++# LAST MODIFICATION ++# ++# 2008-12-29 ++# ++# COPYLEFT ++# ++# Copyright (c) 2008 Patrick O. Perry ++# Copyright (c) 2008 Steven G. Johnson ++# ++# This program is free software: you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by the ++# Free Software Foundation, either version 3 of the License, or (at your ++# option) any later version. ++# ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General ++# Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program. If not, see . ++# ++# As a special exception, the respective Autoconf Macro's copyright owner ++# gives unlimited permission to copy, distribute and modify the configure ++# scripts that are the output of Autoconf when processing the Macro. You ++# need not follow the terms of the GNU General Public License when using ++# or distributing such scripts, even though portions of the text of the ++# Macro appear in them. The GNU General Public License (GPL) does govern ++# all other use of the material that constitutes the Autoconf Macro. ++# ++# This special exception to the GPL applies to versions of the Autoconf ++# Macro released by the Autoconf Macro Archive. When you make and ++# distribute a modified version of the Autoconf Macro, you may extend this ++# special exception to the GPL to apply to your modified version as well. ++ ++AC_DEFUN([AX_CBLAS], [ ++AC_PREREQ(2.50) ++ax_cblas_ok=no ++ ++AC_ARG_WITH(cblas, ++ [AC_HELP_STRING([--with-cblas=], [use CBLAS library ])]) ++case $with_cblas in ++ yes | "") ;; ++ no) ax_cblas_ok=disable ;; ++ -* | */* | *.a | *.so | *.so.* | *.o) CBLAS_LIBS="$with_cblas" ;; ++ *) CBLAS_LIBS="-l$with_cblas" ;; ++esac ++ ++ax_cblas_save_LIBS="$LIBS" ++ ++# First, check CBLAS_LIBS environment variable ++if test $ax_cblas_ok = no; then ++if test "x$CBLAS_LIBS" != x; then ++ save_LIBS="$LIBS"; LIBS="$CBLAS_LIBS $LIBS" ++ AC_MSG_CHECKING([for cblas_dgemm in $CBLAS_LIBS]) ++ AC_TRY_LINK_FUNC(cblas_dgemm, [ax_cblas_ok=yes], [CBLAS_LIBS=""]) ++ AC_MSG_RESULT($ax_cblas_ok) ++ LIBS="$save_LIBS" ++fi ++fi ++ ++# CBLAS linked to by default? (happens on some supercomputers) ++if test $ax_cblas_ok = no; then ++ save_LIBS="$LIBS"; LIBS="$LIBS" ++ AC_CHECK_FUNC(cblas_dgemm, [ax_cblas_ok=yes]) ++ LIBS="$save_LIBS" ++fi ++ ++# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/) ++if test $ax_cblas_ok = no; then ++ AC_CHECK_LIB(atlas, ATL_xerbla, ++ [AC_CHECK_LIB(cblas, cblas_dgemm, ++ [ax_cblas_ok=yes ++ CBLAS_LIBS="-lcblas -latlas"], ++ [], [-latlas])]) ++fi ++ ++# BLAS in Intel MKL library? ++if test $ax_cblas_ok = no; then ++ AC_CHECK_LIB(mkl, cblas_dgemm, [ax_cblas_ok=yes;CBLAS_LIBS="-lmkl"]) ++fi ++ ++# BLAS in Apple vecLib library? ++if test $ax_cblas_ok = no; then ++ save_LIBS="$LIBS"; LIBS="-framework vecLib $LIBS" ++ AC_CHECK_FUNC(cblas_dgemm, [ax_cblas_ok=yes;CBLAS_LIBS="-framework vecLib"]) ++ LIBS="$save_LIBS" ++fi ++ ++# BLAS in Alpha DXML library? (now called CXML, see above) ++if test $ax_cblas_ok = no; then ++ AC_CHECK_LIB(dxml, cblas_dgemm, [ax_cblas_ok=yes;CBLAS_LIBS="-ldxml"]) ++fi ++ ++# BLAS in Sun Performance library? ++if test $ax_cblas_ok = no; then ++ if test "x$GCC" != xyes; then # only works with Sun CC ++ AC_CHECK_LIB(sunmath, acosp, ++ [AC_CHECK_LIB(sunperf, cblas_dgemm, ++ [CBLAS_LIBS="-xlic_lib=sunperf -lsunmath" ++ ax_cblas_ok=yes],[],[-lsunmath])]) ++ fi ++fi ++ ++# BLAS in SCSL library? (SGI/Cray Scientific Library) ++if test $ax_cblas_ok = no; then ++ AC_CHECK_LIB(scs, cblas_dgemm, [ax_cblas_ok=yes; CBLAS_LIBS="-lscs"]) ++fi ++ ++# BLAS in SGIMATH library? ++if test $ax_cblas_ok = no; then ++ AC_CHECK_LIB(complib.sgimath, cblas_dgemm, ++ [ax_cblas_ok=yes; CBLAS_LIBS="-lcomplib.sgimath"]) ++fi ++ ++# BLAS in IBM ESSL library? (requires generic BLAS lib, too) ++if test $ax_cblas_ok = no; then ++ AC_CHECK_LIB(blas, cblas_dgemm, ++ [AC_CHECK_LIB(essl, cblas_dgemm, ++ [ax_cblas_ok=yes; CBLAS_LIBS="-lessl -lblas"], ++ [], [-lblas])]) ++fi ++ ++# BLAS in OpenBLAS library? ++if test $ax_cblas_ok = no; then ++ AC_CHECK_LIB(openblas, cblas_dgemm, [ax_cblas_ok=yes; CBLAS_LIBS="-lopenblas"]) ++fi ++ ++# Generic CBLAS library? ++if test $ax_cblas_ok = no; then ++ AC_CHECK_LIB(cblas, cblas_dgemm, [ax_cblas_ok=yes; CBLAS_LIBS="-lcblas"]) ++fi ++ ++# Generic BLAS library? ++if test $ax_cblas_ok = no; then ++ AC_CHECK_LIB(blas, cblas_dgemm, [ax_cblas_ok=yes; CBLAS_LIBS="-lblas"]) ++fi ++ ++AC_SUBST(CBLAS_LIBS) ++ ++LIBS="$ax_cblas_save_LIBS" ++ ++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: ++if test x"$ax_cblas_ok" = xyes; then ++ ifelse([$1],,AC_DEFINE(HAVE_CBLAS,1,[Define if you have a CBLAS library.]),[$1]) ++ : ++else ++ ax_cblas_ok=no ++ $2 ++fi ++])dnl AX_CBLAS +diff -ruN fflas-ffpack-2.5.0.orig/macros/common.m4 fflas-ffpack-2.5.0/macros/common.m4 --- fflas-ffpack-2.5.0.orig/macros/common.m4 2021-09-21 13:23:36.000000000 +0000 -+++ fflas-ffpack-2.5.0/macros/common.m4 2024-10-21 19:14:01.611094624 +0000 -@@ -128,27 +128,3 @@ - ], [], [], []) - ], [], []) - ]) -- --dnl Append -mfpmath=sse to OPTIM_FLAGS on i386 and i686 architecture with SSE --AC_DEFUN([FPMATH_FLAGS],[ -- AC_REQUIRE([ARCH_FLAGS]) ++++ fflas-ffpack-2.5.0/macros/common.m4 2024-10-23 16:47:48.577929222 +0000 +@@ -132,23 +132,4 @@ + dnl Append -mfpmath=sse to OPTIM_FLAGS on i386 and i686 architecture with SSE + AC_DEFUN([FPMATH_FLAGS],[ + AC_REQUIRE([ARCH_FLAGS]) - - BACKUP_CXXFLAGS="${CXXFLAGS}" - CXXFLAGS="${OPTIM_FLAGS} ${CXXFLAGS}" @@ -28,8 +210,8 @@ diff -ur fflas-ffpack-2.5.0.orig/macros/common.m4 fflas-ffpack-2.5.0/macros/comm - '-mfpmath=sse' to flags")])] # cross-compilation case - []) # not on i386 nor i686 => do nothing - CXXFLAGS="${BACKUP_CXXFLAGS}" -- ]) -diff -ur fflas-ffpack-2.5.0.orig/macros/debug.m4 fflas-ffpack-2.5.0/macros/debug.m4 + ]) +diff -ruN fflas-ffpack-2.5.0.orig/macros/debug.m4 fflas-ffpack-2.5.0/macros/debug.m4 --- fflas-ffpack-2.5.0.orig/macros/debug.m4 2021-09-21 13:23:36.000000000 +0000 +++ fflas-ffpack-2.5.0/macros/debug.m4 2024-10-21 18:15:38.707125128 +0000 @@ -69,77 +69,6 @@ @@ -112,10 +294,10 @@ diff -ur fflas-ffpack-2.5.0.orig/macros/debug.m4 fflas-ffpack-2.5.0/macros/debug + CCNAM=cc + AC_SUBST(CCNAM) ]) -diff -ur fflas-ffpack-2.5.0.orig/macros/fflas-ffpack-blas.m4 fflas-ffpack-2.5.0/macros/fflas-ffpack-blas.m4 +diff -ruN fflas-ffpack-2.5.0.orig/macros/fflas-ffpack-blas.m4 fflas-ffpack-2.5.0/macros/fflas-ffpack-blas.m4 --- fflas-ffpack-2.5.0.orig/macros/fflas-ffpack-blas.m4 2020-06-10 08:00:45.000000000 +0000 -+++ fflas-ffpack-2.5.0/macros/fflas-ffpack-blas.m4 2024-10-21 18:19:07.891123306 +0000 -@@ -63,77 +63,10 @@ ++++ fflas-ffpack-2.5.0/macros/fflas-ffpack-blas.m4 2024-10-23 16:39:25.669933602 +0000 +@@ -63,77 +63,12 @@ dnl is there user CBLAS accessible ? AC_MSG_CHECKING(for BLAS) @@ -190,14 +372,25 @@ diff -ur fflas-ffpack-2.5.0.orig/macros/fflas-ffpack-blas.m4 fflas-ffpack-2.5.0/ - exit 1 - ]) - -+ BLAS_LIBS="-lblastrampoline -lpthread" ++ CBLAS_LIBS="-lblastrampoline" ++ AX_CBLAS([AC_MSG_RESULT(found)],[AC_MSG_ERROR(broken)]) ++ BLAS_LIBS=$CBLAS_LIBS + blas_found="yes" + is_cblas="yes" + AC_SUBST(BLAS_LIBS) dnl AM_CONDITIONAL(FFLASFFPACK_HAVE_BLAS, test "x$blas_found" = "xyes") dnl AM_CONDITIONAL(FFLASFFPACK_HAVE_CBLAS, test "x$is_cblas" = "xyes") -diff -ur fflas-ffpack-2.5.0.orig/macros/givaro-check.m4 fflas-ffpack-2.5.0/macros/givaro-check.m4 +@@ -211,7 +146,7 @@ + [AC_HELP_STRING([--with-openblas-num-threads=], + [ Set the number of threads given to OpenBLAS]) + ]) +- dnl testing if we are using openblas ++ dnl testing if w e are using openblas + BACKUP_CXXFLAGS=${CXXFLAGS} + BACKUP_LIBS=${LIBS} + +diff -ruN fflas-ffpack-2.5.0.orig/macros/givaro-check.m4 fflas-ffpack-2.5.0/macros/givaro-check.m4 --- fflas-ffpack-2.5.0.orig/macros/givaro-check.m4 2020-06-10 08:00:45.000000000 +0000 +++ fflas-ffpack-2.5.0/macros/givaro-check.m4 2024-10-21 18:20:22.555122656 +0000 @@ -80,24 +80,6 @@ @@ -225,7 +418,7 @@ diff -ur fflas-ffpack-2.5.0.orig/macros/givaro-check.m4 fflas-ffpack-2.5.0/macro givaro_found="yes" givaro_checked="$checked $GIVARO_HOME" #unset GIVARO_CFLAGS -diff -ur fflas-ffpack-2.5.0.orig/macros/omp-check.m4 fflas-ffpack-2.5.0/macros/omp-check.m4 +diff -ruN fflas-ffpack-2.5.0.orig/macros/omp-check.m4 fflas-ffpack-2.5.0/macros/omp-check.m4 --- fflas-ffpack-2.5.0.orig/macros/omp-check.m4 2021-09-21 13:23:36.000000000 +0000 +++ fflas-ffpack-2.5.0/macros/omp-check.m4 2024-10-21 18:33:33.647115767 +0000 @@ -37,19 +37,10 @@ From cfc8add7621faafd4f79df51f11c249f3356778e Mon Sep 17 00:00:00 2001 From: laurentbartholdi Date: Wed, 23 Oct 2024 17:21:45 +0000 Subject: [PATCH 06/10] Removed aarch64-freebsd from builds --- F/FFLAS_FFPACK/build_tarballs.jl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/F/FFLAS_FFPACK/build_tarballs.jl b/F/FFLAS_FFPACK/build_tarballs.jl index a4a8bc386f9..1c2c68831b6 100644 --- a/F/FFLAS_FFPACK/build_tarballs.jl +++ b/F/FFLAS_FFPACK/build_tarballs.jl @@ -30,7 +30,10 @@ install_license COPYING # These are the platforms we will build for by default, unless further # platforms are passed in on the command line -platforms = filter(!Sys.iswindows, supported_platforms()) |> expand_cxxstring_abis +platforms = supported_platforms(exclude=Sys.iswindows) |> expand_cxxstring_abis + +# Strangely, libblastrampoline does not seem to be there on aarch64-unknown-freebsd +filter!(p->!(os(p)=="freebsd" && arch(p)=="aarch64"), platforms) # The products that we will ensure are always built products = [ From 2398bfae2c441193fbdcece4458c6b7bf72e08ea Mon Sep 17 00:00:00 2001 From: laurentbartholdi Date: Thu, 24 Oct 2024 14:58:31 +0000 Subject: [PATCH 07/10] Put back aarch64-freebsd --- F/FFLAS_FFPACK/build_tarballs.jl | 3 --- 1 file changed, 3 deletions(-) diff --git a/F/FFLAS_FFPACK/build_tarballs.jl b/F/FFLAS_FFPACK/build_tarballs.jl index 1c2c68831b6..7d5e60e9ec8 100644 --- a/F/FFLAS_FFPACK/build_tarballs.jl +++ b/F/FFLAS_FFPACK/build_tarballs.jl @@ -32,9 +32,6 @@ install_license COPYING # platforms are passed in on the command line platforms = supported_platforms(exclude=Sys.iswindows) |> expand_cxxstring_abis -# Strangely, libblastrampoline does not seem to be there on aarch64-unknown-freebsd -filter!(p->!(os(p)=="freebsd" && arch(p)=="aarch64"), platforms) - # The products that we will ensure are always built products = [ FileProduct("include/fflas-ffpack/fflas-ffpack-config.h", :fflas_ffpack_config_h) From d4851594e887d8d3659467df2ceea273babcecb4 Mon Sep 17 00:00:00 2001 From: laurentbartholdi Date: Fri, 25 Oct 2024 07:22:02 +0000 Subject: [PATCH 08/10] Added executable product --- F/FFLAS_FFPACK/build_tarballs.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/F/FFLAS_FFPACK/build_tarballs.jl b/F/FFLAS_FFPACK/build_tarballs.jl index 7d5e60e9ec8..0531436dc75 100644 --- a/F/FFLAS_FFPACK/build_tarballs.jl +++ b/F/FFLAS_FFPACK/build_tarballs.jl @@ -34,6 +34,7 @@ platforms = supported_platforms(exclude=Sys.iswindows) |> expand_cxxstring_abis # The products that we will ensure are always built products = [ + ExecutableProduct("fflas-ffpack-config", :fflas_ffpack_config) FileProduct("include/fflas-ffpack/fflas-ffpack-config.h", :fflas_ffpack_config_h) ] From 634052aaf014485ee7d58097eeb173202f631140 Mon Sep 17 00:00:00 2001 From: laurentbartholdi Date: Sat, 26 Oct 2024 12:01:29 +0000 Subject: [PATCH 09/10] Removed expand_cxxstring_abis --- F/FFLAS_FFPACK/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/F/FFLAS_FFPACK/build_tarballs.jl b/F/FFLAS_FFPACK/build_tarballs.jl index 0531436dc75..431723510f7 100644 --- a/F/FFLAS_FFPACK/build_tarballs.jl +++ b/F/FFLAS_FFPACK/build_tarballs.jl @@ -30,7 +30,7 @@ install_license COPYING # These are the platforms we will build for by default, unless further # platforms are passed in on the command line -platforms = supported_platforms(exclude=Sys.iswindows) |> expand_cxxstring_abis +platforms = supported_platforms(exclude=Sys.iswindows) # The products that we will ensure are always built products = [ From e8f3c24a34ec134f9c56a678ac1ee6ec2e1eb34a Mon Sep 17 00:00:00 2001 From: laurentbartholdi Date: Sat, 26 Oct 2024 12:04:13 +0000 Subject: [PATCH 10/10] Removed config file from products --- F/FFLAS_FFPACK/build_tarballs.jl | 1 - 1 file changed, 1 deletion(-) diff --git a/F/FFLAS_FFPACK/build_tarballs.jl b/F/FFLAS_FFPACK/build_tarballs.jl index 431723510f7..a777e6f20e7 100644 --- a/F/FFLAS_FFPACK/build_tarballs.jl +++ b/F/FFLAS_FFPACK/build_tarballs.jl @@ -34,7 +34,6 @@ platforms = supported_platforms(exclude=Sys.iswindows) # The products that we will ensure are always built products = [ - ExecutableProduct("fflas-ffpack-config", :fflas_ffpack_config) FileProduct("include/fflas-ffpack/fflas-ffpack-config.h", :fflas_ffpack_config_h) ]