From a72eca54e86c2c4562e4f8f957ff0f94d1d3b0e1 Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Sat, 18 Dec 2021 19:37:43 -0500 Subject: [PATCH 01/14] builder --- S/SLATE/build_tarballs.jl | 48 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 S/SLATE/build_tarballs.jl diff --git a/S/SLATE/build_tarballs.jl b/S/SLATE/build_tarballs.jl new file mode 100644 index 00000000000..eea8a49f37f --- /dev/null +++ b/S/SLATE/build_tarballs.jl @@ -0,0 +1,48 @@ +using BinaryBuilder + +name = "SLATE" +version = v"1.0.0" + +# Collection of sources required to build PETSc. Avoid using the git repository, it will +# require building SOWING which fails in all non-linux platforms. +sources = [ + GitSource("https://bitbucket.org/icl/slate.git", "859efbd6ad7dfc3efc190701676d2e0a0d8987fb") +] + +# Bash recipe for building across all platforms +script = raw""" +cd slate +git submodule update --init +mkdir build && cd build +cmake \ + -DCMAKE_INSTALL_PREFIX=${prefix} \ + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN} \ + -DCMAKE_BUILD_TYPE="Release" \ + -Dblas=openblas \ + -Dc_api=yes \ + -Dbuild_tests=no \ + -DMPI_RUN_RESULT_CXX_libver_mpi_normal="0" \ + -DMPI_RUN_RESULT_CXX_libver_mpi_normal__TRYRUN_OUTPUT="" \ + -Drun_result="0" \ + -Drun_result__TRYRUN_OUTPUT="ok" \ + .. +make -j${nproc} +make install +""" + +# We attempt to build for all defined platforms +platforms = expand_gfortran_versions(expand_cxxstring_abis(supported_platforms(;experimental=true, exclude=Sys.iswindows))) + +products = Product[ +] + +dependencies = [ + Dependency("CompilerSupportLibraries_jll"), + Dependency("OpenBLAS32_jll"), + Dependency("MPItrampoline_jll", compat="2"), + Dependency("MicrosoftMPI_jll"), + Dependency("SCALAPACK_jll") +] + +# Build the tarballs. +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"9") From 438100ff285c60f1444dcb10b0193319f8510489 Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Sat, 18 Dec 2021 19:45:03 -0500 Subject: [PATCH 02/14] restrict to MPITrampoline --- S/SLATE/build_tarballs.jl | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/S/SLATE/build_tarballs.jl b/S/SLATE/build_tarballs.jl index eea8a49f37f..d099b483d8b 100644 --- a/S/SLATE/build_tarballs.jl +++ b/S/SLATE/build_tarballs.jl @@ -32,7 +32,10 @@ make install # We attempt to build for all defined platforms platforms = expand_gfortran_versions(expand_cxxstring_abis(supported_platforms(;experimental=true, exclude=Sys.iswindows))) - +platforms = filter(p -> !(Sys.iswindows(p) || libc(p) == "musl"), platforms) +platforms = filter(!Sys.isfreebsd, platforms) +platforms = expand_gfortran_versions(platforms) +platforms = filter(p -> libgfortran_version(p) ≠ v"3", platforms) products = Product[ ] @@ -40,9 +43,9 @@ dependencies = [ Dependency("CompilerSupportLibraries_jll"), Dependency("OpenBLAS32_jll"), Dependency("MPItrampoline_jll", compat="2"), - Dependency("MicrosoftMPI_jll"), + #Dependency("MicrosoftMPI_jll"), Dependency("SCALAPACK_jll") ] # Build the tarballs. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"9") +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6") From 8fcb52f75ebfa9bd811801eb1a015018e6f1a21f Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Sat, 18 Dec 2021 19:57:16 -0500 Subject: [PATCH 03/14] rm Darwin --- S/SLATE/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/S/SLATE/build_tarballs.jl b/S/SLATE/build_tarballs.jl index d099b483d8b..63f99d3cc68 100644 --- a/S/SLATE/build_tarballs.jl +++ b/S/SLATE/build_tarballs.jl @@ -32,7 +32,7 @@ make install # We attempt to build for all defined platforms platforms = expand_gfortran_versions(expand_cxxstring_abis(supported_platforms(;experimental=true, exclude=Sys.iswindows))) -platforms = filter(p -> !(Sys.iswindows(p) || libc(p) == "musl"), platforms) +platforms = filter(p -> !(Sys.iswindows(p) || libc(p) == "musl" ||Sys.isapple(p)), platforms) platforms = filter(!Sys.isfreebsd, platforms) platforms = expand_gfortran_versions(platforms) platforms = filter(p -> libgfortran_version(p) ≠ v"3", platforms) From 44d64ad6e6eb4975ee5180936b6bc6b715a9d4f3 Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Sat, 18 Dec 2021 20:02:26 -0500 Subject: [PATCH 04/14] Correct version # --- S/SLATE/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/S/SLATE/build_tarballs.jl b/S/SLATE/build_tarballs.jl index 63f99d3cc68..08eadb1fc1e 100644 --- a/S/SLATE/build_tarballs.jl +++ b/S/SLATE/build_tarballs.jl @@ -1,7 +1,7 @@ using BinaryBuilder name = "SLATE" -version = v"1.0.0" +version = v"2021.05.02" # Collection of sources required to build PETSc. Avoid using the git repository, it will # require building SOWING which fails in all non-linux platforms. From d4527a12ce5b70c3adbe344831ce99fff6eb0877 Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Sat, 18 Dec 2021 20:04:02 -0500 Subject: [PATCH 05/14] add Products --- S/SLATE/build_tarballs.jl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/S/SLATE/build_tarballs.jl b/S/SLATE/build_tarballs.jl index 08eadb1fc1e..a68441adab6 100644 --- a/S/SLATE/build_tarballs.jl +++ b/S/SLATE/build_tarballs.jl @@ -36,7 +36,9 @@ platforms = filter(p -> !(Sys.iswindows(p) || libc(p) == "musl" ||Sys.isapple(p) platforms = filter(!Sys.isfreebsd, platforms) platforms = expand_gfortran_versions(platforms) platforms = filter(p -> libgfortran_version(p) ≠ v"3", platforms) -products = Product[ +products = [ + LibraryProduct("libslate.so", :libslate), + LibraryProduct("libslate_lapack_api.so", :libslate_lapack_api) ] dependencies = [ From 9e6fdf1bd80c16821659ce7e7e9cceca85f539ea Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Sat, 18 Dec 2021 20:08:54 -0500 Subject: [PATCH 06/14] typo with shared libs --- S/SLATE/build_tarballs.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/S/SLATE/build_tarballs.jl b/S/SLATE/build_tarballs.jl index a68441adab6..49eb2adf5bc 100644 --- a/S/SLATE/build_tarballs.jl +++ b/S/SLATE/build_tarballs.jl @@ -37,8 +37,8 @@ platforms = filter(!Sys.isfreebsd, platforms) platforms = expand_gfortran_versions(platforms) platforms = filter(p -> libgfortran_version(p) ≠ v"3", platforms) products = [ - LibraryProduct("libslate.so", :libslate), - LibraryProduct("libslate_lapack_api.so", :libslate_lapack_api) + LibraryProduct("libslate", :libslate), + LibraryProduct("libslate_lapack_api", :libslate_lapack_api) ] dependencies = [ From 6a4cd9f049a523e8f31db673a898b99e1d40b9d7 Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Wed, 22 Dec 2021 18:27:29 -0500 Subject: [PATCH 07/14] Add some notes, up gcc version, rm C_api --- S/SLATE/build_tarballs.jl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/S/SLATE/build_tarballs.jl b/S/SLATE/build_tarballs.jl index 49eb2adf5bc..bce85db6725 100644 --- a/S/SLATE/build_tarballs.jl +++ b/S/SLATE/build_tarballs.jl @@ -10,6 +10,8 @@ sources = [ ] # Bash recipe for building across all platforms + +# Needs to add -Dcapi eventually once it's added to the cmake build system. Note yet available under CMAKAE toolchain. script = raw""" cd slate git submodule update --init @@ -19,7 +21,6 @@ cmake \ -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN} \ -DCMAKE_BUILD_TYPE="Release" \ -Dblas=openblas \ - -Dc_api=yes \ -Dbuild_tests=no \ -DMPI_RUN_RESULT_CXX_libver_mpi_normal="0" \ -DMPI_RUN_RESULT_CXX_libver_mpi_normal__TRYRUN_OUTPUT="" \ @@ -32,22 +33,21 @@ make install # We attempt to build for all defined platforms platforms = expand_gfortran_versions(expand_cxxstring_abis(supported_platforms(;experimental=true, exclude=Sys.iswindows))) -platforms = filter(p -> !(Sys.iswindows(p) || libc(p) == "musl" ||Sys.isapple(p)), platforms) +platforms = filter(p -> !(Sys.iswindows(p) ||Sys.isapple(p)), platforms) platforms = filter(!Sys.isfreebsd, platforms) platforms = expand_gfortran_versions(platforms) -platforms = filter(p -> libgfortran_version(p) ≠ v"3", platforms) products = [ LibraryProduct("libslate", :libslate), LibraryProduct("libslate_lapack_api", :libslate_lapack_api) + # LibraryProduct("libslate_scalapack_api, :libslate_scalapack_api) ** Not yet available under CMAKE toolchain. ] dependencies = [ Dependency("CompilerSupportLibraries_jll"), Dependency("OpenBLAS32_jll"), - Dependency("MPItrampoline_jll", compat="2"), - #Dependency("MicrosoftMPI_jll"), + Dependency("MPICH_jll"), Dependency("SCALAPACK_jll") ] # Build the tarballs. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6") +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version=v"7") From b64f1821bb729b2945e5a619940e5713c18eb381 Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Wed, 22 Dec 2021 18:35:26 -0500 Subject: [PATCH 08/14] Add back the gfortran3 filter --- S/SLATE/build_tarballs.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/S/SLATE/build_tarballs.jl b/S/SLATE/build_tarballs.jl index bce85db6725..6aa60e98dda 100644 --- a/S/SLATE/build_tarballs.jl +++ b/S/SLATE/build_tarballs.jl @@ -36,6 +36,7 @@ platforms = expand_gfortran_versions(expand_cxxstring_abis(supported_platforms(; platforms = filter(p -> !(Sys.iswindows(p) ||Sys.isapple(p)), platforms) platforms = filter(!Sys.isfreebsd, platforms) platforms = expand_gfortran_versions(platforms) +platforms = filter(p -> libgfortran_version(p) ≠ v"3", platforms) products = [ LibraryProduct("libslate", :libslate), LibraryProduct("libslate_lapack_api", :libslate_lapack_api) From 9ed826643d467caa963a40f83e914faa33f8b0d5 Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Mon, 6 Jun 2022 09:32:57 -0400 Subject: [PATCH 09/14] Update to 2022 release --- S/SLATE/build_tarballs.jl | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/S/SLATE/build_tarballs.jl b/S/SLATE/build_tarballs.jl index 6aa60e98dda..5d7cd9f03e5 100644 --- a/S/SLATE/build_tarballs.jl +++ b/S/SLATE/build_tarballs.jl @@ -1,12 +1,12 @@ using BinaryBuilder name = "SLATE" -version = v"2021.05.02" +version = v"2022.05.00" # Collection of sources required to build PETSc. Avoid using the git repository, it will # require building SOWING which fails in all non-linux platforms. sources = [ - GitSource("https://bitbucket.org/icl/slate.git", "859efbd6ad7dfc3efc190701676d2e0a0d8987fb") + GitSource("https://bitbucket.org/icl/slate.git", "5fb57877effa06d2ef090402a39341ebeb44f180") ] # Bash recipe for building across all platforms @@ -26,17 +26,15 @@ cmake \ -DMPI_RUN_RESULT_CXX_libver_mpi_normal__TRYRUN_OUTPUT="" \ -Drun_result="0" \ -Drun_result__TRYRUN_OUTPUT="ok" \ + -Dc_api=yes \ .. make -j${nproc} make install """ # We attempt to build for all defined platforms -platforms = expand_gfortran_versions(expand_cxxstring_abis(supported_platforms(;experimental=true, exclude=Sys.iswindows))) -platforms = filter(p -> !(Sys.iswindows(p) ||Sys.isapple(p)), platforms) -platforms = filter(!Sys.isfreebsd, platforms) -platforms = expand_gfortran_versions(platforms) -platforms = filter(p -> libgfortran_version(p) ≠ v"3", platforms) +platforms = expand_cxxstring_abis(supported_platforms(;experimental=true, exclude=Sys.iswindows)) + products = [ LibraryProduct("libslate", :libslate), LibraryProduct("libslate_lapack_api", :libslate_lapack_api) @@ -46,8 +44,7 @@ products = [ dependencies = [ Dependency("CompilerSupportLibraries_jll"), Dependency("OpenBLAS32_jll"), - Dependency("MPICH_jll"), - Dependency("SCALAPACK_jll") + Dependency("MPICH_jll") ] # Build the tarballs. From a07402aaedeeee295f2374a793ffcfee72441290 Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Mon, 6 Jun 2022 09:34:17 -0400 Subject: [PATCH 10/14] rm experimental_platforms --- S/SLATE/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/S/SLATE/build_tarballs.jl b/S/SLATE/build_tarballs.jl index 5d7cd9f03e5..2639a4720c9 100644 --- a/S/SLATE/build_tarballs.jl +++ b/S/SLATE/build_tarballs.jl @@ -33,7 +33,7 @@ make install """ # We attempt to build for all defined platforms -platforms = expand_cxxstring_abis(supported_platforms(;experimental=true, exclude=Sys.iswindows)) +platforms = expand_cxxstring_abis(supported_platforms(; exclude=Sys.iswindows)) products = [ LibraryProduct("libslate", :libslate), From fcf07a31be3e944585c303ff79cc05355b698004 Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Mon, 6 Jun 2022 12:04:32 -0400 Subject: [PATCH 11/14] exclude more plats --- S/SLATE/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/S/SLATE/build_tarballs.jl b/S/SLATE/build_tarballs.jl index 2639a4720c9..d09174b6efd 100644 --- a/S/SLATE/build_tarballs.jl +++ b/S/SLATE/build_tarballs.jl @@ -33,7 +33,7 @@ make install """ # We attempt to build for all defined platforms -platforms = expand_cxxstring_abis(supported_platforms(; exclude=Sys.iswindows)) +platforms = expand_gfortran_versions(expand_cxxstring_abis(supported_platforms(; exclude=!Sys.islinux))) products = [ LibraryProduct("libslate", :libslate), From 1817137ec67c7e02995d5f694c6d3ab89b9953c2 Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Mon, 6 Jun 2022 12:13:08 -0400 Subject: [PATCH 12/14] rm libgfortran3 --- S/SLATE/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/S/SLATE/build_tarballs.jl b/S/SLATE/build_tarballs.jl index d09174b6efd..660cde0cda4 100644 --- a/S/SLATE/build_tarballs.jl +++ b/S/SLATE/build_tarballs.jl @@ -34,7 +34,7 @@ make install # We attempt to build for all defined platforms platforms = expand_gfortran_versions(expand_cxxstring_abis(supported_platforms(; exclude=!Sys.islinux))) - +platforms = filter(p -> libgfortran_version(p) ≠ v"3", platforms) products = [ LibraryProduct("libslate", :libslate), LibraryProduct("libslate_lapack_api", :libslate_lapack_api) From 5f051b511c12ea8be309c8d4242484dac8febd72 Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Mon, 6 Jun 2022 13:20:24 -0400 Subject: [PATCH 13/14] re-remove libgfort3 for test --- S/SLATE/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/S/SLATE/build_tarballs.jl b/S/SLATE/build_tarballs.jl index 660cde0cda4..839e75adda5 100644 --- a/S/SLATE/build_tarballs.jl +++ b/S/SLATE/build_tarballs.jl @@ -34,7 +34,7 @@ make install # We attempt to build for all defined platforms platforms = expand_gfortran_versions(expand_cxxstring_abis(supported_platforms(; exclude=!Sys.islinux))) -platforms = filter(p -> libgfortran_version(p) ≠ v"3", platforms) +# platforms = filter(p -> libgfortran_version(p) ≠ v"3", platforms) products = [ LibraryProduct("libslate", :libslate), LibraryProduct("libslate_lapack_api", :libslate_lapack_api) From a3186eb4f76bead7bd0b41e486c9bb9acbc79590 Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Tue, 7 Jun 2022 16:02:16 -0400 Subject: [PATCH 14/14] filter --- S/SLATE/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/S/SLATE/build_tarballs.jl b/S/SLATE/build_tarballs.jl index 839e75adda5..660cde0cda4 100644 --- a/S/SLATE/build_tarballs.jl +++ b/S/SLATE/build_tarballs.jl @@ -34,7 +34,7 @@ make install # We attempt to build for all defined platforms platforms = expand_gfortran_versions(expand_cxxstring_abis(supported_platforms(; exclude=!Sys.islinux))) -# platforms = filter(p -> libgfortran_version(p) ≠ v"3", platforms) +platforms = filter(p -> libgfortran_version(p) ≠ v"3", platforms) products = [ LibraryProduct("libslate", :libslate), LibraryProduct("libslate_lapack_api", :libslate_lapack_api)