From 29f6e60f35577b11578ff5cc1c3afc34fe141b2b Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Mon, 5 Feb 2024 00:51:23 -0500 Subject: [PATCH 1/7] Upgrade Clp -- v1.17.9 --- C/Coin-OR/Clp/build_tarballs.jl | 62 +++++++++++++++++++++------------ C/Coin-OR/coin-or-common.jl | 4 ++- 2 files changed, 42 insertions(+), 24 deletions(-) diff --git a/C/Coin-OR/Clp/build_tarballs.jl b/C/Coin-OR/Clp/build_tarballs.jl index 6a832d6347a..1bf063d163a 100644 --- a/C/Coin-OR/Clp/build_tarballs.jl +++ b/C/Coin-OR/Clp/build_tarballs.jl @@ -1,10 +1,8 @@ -# In addition to coin-or-common.jl, we need to modify this file to trigger a -# rebuild. -# -# Last updated: 2022-10-26 - include("../coin-or-common.jl") +name = "Clp" +version = Clp_version # v1.17.9 + # Collection of sources required to build Clp sources = [ GitSource("https://github.com/coin-or/Clp.git", Clp_gitsha), @@ -35,6 +33,13 @@ if [[ ${target} == *aarch64* ]] || [[ ${target} == *arm* ]]; then export CPPFLAGS="${CPPFLAGS} -D__arm__" fi +# BLAS and LAPACK +if [[ "${target}" == *mingw* ]]; then + LBT="-lblastrampoline-5" +else + LBT="-lblastrampoline" +fi + ../configure \ --prefix=$prefix \ --build=${MACHTYPE} \ @@ -45,19 +50,28 @@ fi --disable-dependency-tracking \ --enable-shared \ lt_cv_deplibs_check_method=pass_all \ - --with-blas="-lopenblas" \ - --with-lapack="-lopenblas" \ - --with-coinutils-lib="-lCoinUtils" \ - --with-osi-lib="-lOsi -lCoinUtils" \ - --with-mumps-lib="-L${libdir} -ldmumps -lzmumps -lcmumps -lsmumps -lmumps_common -lmpiseq -lpord -lmetis -lopenblas -lgfortran -lpthread" \ - --with-mumps-incdir="${includedir}/mumps_seq" \ - --with-metis-lib="-L${libdir} -lmetis" \ - --with-metis-incdir="${includedir}" + --with-blas="-L${libdir} ${LBT}" \ + --with-lapack="-L${libdir} ${LBT}" \ + --with-coinutils-lflags="-lCoinUtils" \ + --with-coinutils-cflags="${includedir}" \ + --with-osi-lflags="-lOsi" \ + --with-osi-cflags="${includedir}" \ + --with-mumps-lflags="-L${libdir} -ldmumps" \ + --with-mumps-cflags="${includedir}/mumps_seq" \ + --with-glpk-lflags="-L${libdir} -lglpk" \ + --with-glpk-cflags="-I${includedir}" \ + --with-amd-lflags="-L${libdir} -lamd" \ + --with-amd-cflags="-I${includedir}" \ + --with-cholmod-lflags="-L${libdir} -lcholmod" \ + --with-cholmod-cflags="-I${includedir}" make -j${nproc} make install """ +platforms = supported_platforms() +platforms = expand_gfortran_versions(platforms) + # The products that we will ensure are always built products = [ LibraryProduct("libClp", :libClp), @@ -68,24 +82,26 @@ products = [ # Dependencies that must be installed before this package can be built dependencies = [ - Dependency("CoinUtils_jll", compat="$(CoinUtils_version)"), - Dependency("Osi_jll", compat="$(Osi_version)"), - Dependency("METIS_jll", compat="$(METIS_version)"), - Dependency("MUMPS_seq_jll", compat="$(MUMPS_seq_version)"), - Dependency("OpenBLAS32_jll", OpenBLAS32_version), - Dependency("CompilerSupportLibraries_jll"), + Dependency(PackageSpec(name="CoinUtils_jll", uuid="be027038-0da8-5614-b30d-e42594cb92df"), compat="$(CoinUtils_version)"), + Dependency(PackageSpec(name="Osi_jll", uuid="7da25872-d9ce-5375-a4d3-7a845f58efdd"), compat="$(Osi_version)"), + Dependency(PackageSpec(name="SuiteSparse32_jll", uuid="ca45d3f4-326b-53b0-9957-23b75aacb3f2"), compat="$(SuiteSparse32_version)"), + Dependency(PackageSpec(name="GLPK_jll", uuid="e8aa6df9-e6ca-548a-97ff-1f85fc5b8b98"), compat="$(GLPK_version)"), + Dependency(PackageSpec(name="MUMPS_seq_jll", uuid="d7ed1dd3-d0ae-5e8e-bfb4-87a502085b8d"), compat="$(MUMPS_seq_version_LBT)"), + Dependency(PackageSpec(name="libblastrampoline_jll", uuid="8e850b90-86db-534c-a0d3-1478176c7d93"), compat="5.4.0"), + Dependency(PackageSpec(name="CompilerSupportLibraries_jll", uuid="e66e0078-7015-5450-92f7-15fbd957f2ae")) ] # Build the tarballs, and possibly a `build.jl` as well. build_tarballs( ARGS, - "Clp", - Clp_version, + name, + version, sources, script, - expand_gfortran_versions(platforms), + platforms, products, dependencies; preferred_gcc_version = gcc_version, - julia_compat = Julia_compat_version, + preferred_llvm_version = llvm_version, + julia_compat = "1.9" ) diff --git a/C/Coin-OR/coin-or-common.jl b/C/Coin-OR/coin-or-common.jl index 04211f2e50e..acd424ab799 100644 --- a/C/Coin-OR/coin-or-common.jl +++ b/C/Coin-OR/coin-or-common.jl @@ -39,7 +39,7 @@ Cbc_gitsha = "3c1d759619f38bbd5916380df292cfc1dafba7f5" Cgl_version = offset_version(v"0.60.6", v"0.0.0") Cgl_gitsha = "8952b9e737e434b730fab5967cd28180b43d7234" -Clp_version = offset_version(v"1.17.7", v"0.0.0") +Clp_version = offset_version(v"1.17.9", v"0.0.0") Clp_gitsha = "1c2586a08d33ecc59ed67d319c29044802c0866b" Osi_version = offset_version(v"0.108.10", v"0.0.0") @@ -85,6 +85,8 @@ MUMPS_seq_version = v"5.4.1" MUMPS_seq_version_LBT = v"500.600.201" SPRAL_version_LBT = v"2024.1.18" OpenBLAS32_version = v"0.3.26" +GLPK_version = v"5.0.1" +SuiteSparse32_version = v"5.10.1" # These are the platforms we will build for by default, unless further # platforms are passed in on the command line From 9e2497f65a4d14b3b9c032af5187383ffd3fda51 Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Mon, 5 Feb 2024 01:17:00 -0500 Subject: [PATCH 2/7] Update Clp_gitsha --- C/Coin-OR/coin-or-common.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C/Coin-OR/coin-or-common.jl b/C/Coin-OR/coin-or-common.jl index acd424ab799..d0d6abfb6d3 100644 --- a/C/Coin-OR/coin-or-common.jl +++ b/C/Coin-OR/coin-or-common.jl @@ -40,7 +40,7 @@ Cgl_version = offset_version(v"0.60.6", v"0.0.0") Cgl_gitsha = "8952b9e737e434b730fab5967cd28180b43d7234" Clp_version = offset_version(v"1.17.9", v"0.0.0") -Clp_gitsha = "1c2586a08d33ecc59ed67d319c29044802c0866b" +Clp_gitsha = "7b9daa62d4c2710a368a17385913ce59d8c67b68" Osi_version = offset_version(v"0.108.10", v"0.0.0") Osi_gitsha = "2997cda8e85ccc6712c4b05404e7aa70500e422f" From e8a2a7327f469357ee003158f43503e7098679b8 Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Mon, 5 Feb 2024 01:24:40 -0500 Subject: [PATCH 3/7] Update Clp/build_tarballs.jl --- C/Coin-OR/Clp/build_tarballs.jl | 13 ++++--------- C/Coin-OR/coin-or-common.jl | 2 -- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/C/Coin-OR/Clp/build_tarballs.jl b/C/Coin-OR/Clp/build_tarballs.jl index 1bf063d163a..bcb82a9299c 100644 --- a/C/Coin-OR/Clp/build_tarballs.jl +++ b/C/Coin-OR/Clp/build_tarballs.jl @@ -52,18 +52,15 @@ fi lt_cv_deplibs_check_method=pass_all \ --with-blas="-L${libdir} ${LBT}" \ --with-lapack="-L${libdir} ${LBT}" \ + --with-coinutils \ --with-coinutils-lflags="-lCoinUtils" \ --with-coinutils-cflags="${includedir}" \ + --with-osi \ --with-osi-lflags="-lOsi" \ --with-osi-cflags="${includedir}" \ + --with-mumps \ --with-mumps-lflags="-L${libdir} -ldmumps" \ - --with-mumps-cflags="${includedir}/mumps_seq" \ - --with-glpk-lflags="-L${libdir} -lglpk" \ - --with-glpk-cflags="-I${includedir}" \ - --with-amd-lflags="-L${libdir} -lamd" \ - --with-amd-cflags="-I${includedir}" \ - --with-cholmod-lflags="-L${libdir} -lcholmod" \ - --with-cholmod-cflags="-I${includedir}" + --with-mumps-cflags="${includedir}/mumps_seq" make -j${nproc} make install @@ -84,8 +81,6 @@ products = [ dependencies = [ Dependency(PackageSpec(name="CoinUtils_jll", uuid="be027038-0da8-5614-b30d-e42594cb92df"), compat="$(CoinUtils_version)"), Dependency(PackageSpec(name="Osi_jll", uuid="7da25872-d9ce-5375-a4d3-7a845f58efdd"), compat="$(Osi_version)"), - Dependency(PackageSpec(name="SuiteSparse32_jll", uuid="ca45d3f4-326b-53b0-9957-23b75aacb3f2"), compat="$(SuiteSparse32_version)"), - Dependency(PackageSpec(name="GLPK_jll", uuid="e8aa6df9-e6ca-548a-97ff-1f85fc5b8b98"), compat="$(GLPK_version)"), Dependency(PackageSpec(name="MUMPS_seq_jll", uuid="d7ed1dd3-d0ae-5e8e-bfb4-87a502085b8d"), compat="$(MUMPS_seq_version_LBT)"), Dependency(PackageSpec(name="libblastrampoline_jll", uuid="8e850b90-86db-534c-a0d3-1478176c7d93"), compat="5.4.0"), Dependency(PackageSpec(name="CompilerSupportLibraries_jll", uuid="e66e0078-7015-5450-92f7-15fbd957f2ae")) diff --git a/C/Coin-OR/coin-or-common.jl b/C/Coin-OR/coin-or-common.jl index d0d6abfb6d3..b7fa2efe7d7 100644 --- a/C/Coin-OR/coin-or-common.jl +++ b/C/Coin-OR/coin-or-common.jl @@ -85,8 +85,6 @@ MUMPS_seq_version = v"5.4.1" MUMPS_seq_version_LBT = v"500.600.201" SPRAL_version_LBT = v"2024.1.18" OpenBLAS32_version = v"0.3.26" -GLPK_version = v"5.0.1" -SuiteSparse32_version = v"5.10.1" # These are the platforms we will build for by default, unless further # platforms are passed in on the command line From dfbd871906af4eb23188062e9430b806085e6659 Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Tue, 16 Jul 2024 01:08:18 -0400 Subject: [PATCH 4/7] Update build_tarballs.jl --- C/Coin-OR/Clp/build_tarballs.jl | 19 +++++++++++++------ C/Coin-OR/coin-or-common.jl | 2 +- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/C/Coin-OR/Clp/build_tarballs.jl b/C/Coin-OR/Clp/build_tarballs.jl index bcb82a9299c..3c02612db7c 100644 --- a/C/Coin-OR/Clp/build_tarballs.jl +++ b/C/Coin-OR/Clp/build_tarballs.jl @@ -1,7 +1,12 @@ +# In addition to coin-or-common.jl, we need to modify this file to trigger a +# rebuild. +# +# Last updated: 2024-07-16 + include("../coin-or-common.jl") name = "Clp" -version = Clp_version # v1.17.9 +version = Clp_version # Collection of sources required to build Clp sources = [ @@ -50,8 +55,10 @@ fi --disable-dependency-tracking \ --enable-shared \ lt_cv_deplibs_check_method=pass_all \ - --with-blas="-L${libdir} ${LBT}" \ - --with-lapack="-L${libdir} ${LBT}" \ + --with-blas \ + --with-blas-lib="-L${libdir} ${LBT}" \ + --with-lapack \ + --with-lapack-lib="-L${libdir} ${LBT}" \ --with-coinutils \ --with-coinutils-lflags="-lCoinUtils" \ --with-coinutils-cflags="${includedir}" \ @@ -79,9 +86,9 @@ products = [ # Dependencies that must be installed before this package can be built dependencies = [ - Dependency(PackageSpec(name="CoinUtils_jll", uuid="be027038-0da8-5614-b30d-e42594cb92df"), compat="$(CoinUtils_version)"), - Dependency(PackageSpec(name="Osi_jll", uuid="7da25872-d9ce-5375-a4d3-7a845f58efdd"), compat="$(Osi_version)"), - Dependency(PackageSpec(name="MUMPS_seq_jll", uuid="d7ed1dd3-d0ae-5e8e-bfb4-87a502085b8d"), compat="$(MUMPS_seq_version_LBT)"), + Dependency(PackageSpec(name="CoinUtils_jll", uuid="be027038-0da8-5614-b30d-e42594cb92df"), compat="=$(CoinUtils_version)"), + Dependency(PackageSpec(name="Osi_jll", uuid="7da25872-d9ce-5375-a4d3-7a845f58efdd"), compat="=$(Osi_version)"), + Dependency(PackageSpec(name="MUMPS_seq_jll", uuid="d7ed1dd3-d0ae-5e8e-bfb4-87a502085b8d"), compat="=$(MUMPS_seq_version_LBT)"), Dependency(PackageSpec(name="libblastrampoline_jll", uuid="8e850b90-86db-534c-a0d3-1478176c7d93"), compat="5.4.0"), Dependency(PackageSpec(name="CompilerSupportLibraries_jll", uuid="e66e0078-7015-5450-92f7-15fbd957f2ae")) ] diff --git a/C/Coin-OR/coin-or-common.jl b/C/Coin-OR/coin-or-common.jl index b7fa2efe7d7..7baf4f1c5e9 100644 --- a/C/Coin-OR/coin-or-common.jl +++ b/C/Coin-OR/coin-or-common.jl @@ -82,7 +82,7 @@ Julia_compat_version = "1.6" ASL_version = v"0.1.3" METIS_version = v"5.1.2" MUMPS_seq_version = v"5.4.1" -MUMPS_seq_version_LBT = v"500.600.201" +MUMPS_seq_version_LBT = v"500.700.200" SPRAL_version_LBT = v"2024.1.18" OpenBLAS32_version = v"0.3.26" From 7afd505baf024afa42a42cd16e98aa2194a4708b Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Tue, 16 Jul 2024 01:19:31 -0400 Subject: [PATCH 5/7] Update build_tarballs.jl --- C/Coin-OR/Clp/build_tarballs.jl | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/C/Coin-OR/Clp/build_tarballs.jl b/C/Coin-OR/Clp/build_tarballs.jl index 3c02612db7c..31bd506b7eb 100644 --- a/C/Coin-OR/Clp/build_tarballs.jl +++ b/C/Coin-OR/Clp/build_tarballs.jl @@ -60,13 +60,11 @@ fi --with-lapack \ --with-lapack-lib="-L${libdir} ${LBT}" \ --with-coinutils \ - --with-coinutils-lflags="-lCoinUtils" \ - --with-coinutils-cflags="${includedir}" \ + --with-coinutils-lib="-lCoinUtils" \ --with-osi \ - --with-osi-lflags="-lOsi" \ - --with-osi-cflags="${includedir}" \ + --with-osi-lib="-lOsi" \ --with-mumps \ - --with-mumps-lflags="-L${libdir} -ldmumps" \ + --with-mumps-lib="-L${libdir} -ldmumps" \ --with-mumps-cflags="${includedir}/mumps_seq" make -j${nproc} From dd68c424ca60b8ddbdeda71df32f8a7d2dd50cb3 Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Tue, 16 Jul 2024 01:27:00 -0400 Subject: [PATCH 6/7] Update build_tarballs.jl --- C/Coin-OR/Clp/build_tarballs.jl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/C/Coin-OR/Clp/build_tarballs.jl b/C/Coin-OR/Clp/build_tarballs.jl index 31bd506b7eb..b91d8f94aba 100644 --- a/C/Coin-OR/Clp/build_tarballs.jl +++ b/C/Coin-OR/Clp/build_tarballs.jl @@ -63,6 +63,8 @@ fi --with-coinutils-lib="-lCoinUtils" \ --with-osi \ --with-osi-lib="-lOsi" \ + --with-metis \ + --with-metis-lib="-lmetis" \ --with-mumps \ --with-mumps-lib="-L${libdir} -ldmumps" \ --with-mumps-cflags="${includedir}/mumps_seq" @@ -85,6 +87,7 @@ products = [ # Dependencies that must be installed before this package can be built dependencies = [ Dependency(PackageSpec(name="CoinUtils_jll", uuid="be027038-0da8-5614-b30d-e42594cb92df"), compat="=$(CoinUtils_version)"), + Dependency(PackageSpec(name="METIS_jll", uuid="d00139f3-1899-568f-a2f0-47f597d42d70"), compat="=$(METIS_version)"), Dependency(PackageSpec(name="Osi_jll", uuid="7da25872-d9ce-5375-a4d3-7a845f58efdd"), compat="=$(Osi_version)"), Dependency(PackageSpec(name="MUMPS_seq_jll", uuid="d7ed1dd3-d0ae-5e8e-bfb4-87a502085b8d"), compat="=$(MUMPS_seq_version_LBT)"), Dependency(PackageSpec(name="libblastrampoline_jll", uuid="8e850b90-86db-534c-a0d3-1478176c7d93"), compat="5.4.0"), From 76aa26f1591616fe997afdad76b8da8b0624c6bd Mon Sep 17 00:00:00 2001 From: Alexis Montoison <35051714+amontoison@users.noreply.github.com> Date: Tue, 16 Jul 2024 02:03:49 -0400 Subject: [PATCH 7/7] Update C/Coin-OR/Clp/build_tarballs.jl Co-authored-by: Oscar Dowson --- C/Coin-OR/Clp/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C/Coin-OR/Clp/build_tarballs.jl b/C/Coin-OR/Clp/build_tarballs.jl index b91d8f94aba..431a51b89f4 100644 --- a/C/Coin-OR/Clp/build_tarballs.jl +++ b/C/Coin-OR/Clp/build_tarballs.jl @@ -67,7 +67,7 @@ fi --with-metis-lib="-lmetis" \ --with-mumps \ --with-mumps-lib="-L${libdir} -ldmumps" \ - --with-mumps-cflags="${includedir}/mumps_seq" + --with-mumps-incdir="${includedir}/mumps_seq" make -j${nproc} make install