From 345779fab02156d7c379b98d6347ac7679813c0b Mon Sep 17 00:00:00 2001 From: Will Kimmerer Date: Sat, 23 Oct 2021 07:04:46 +0000 Subject: [PATCH 01/18] attempt to rebuild with good include files (and don't rename libpetsc) --- P/PETSc/build_tarballs.jl | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index 334938eead8..58d7c6f891d 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -24,7 +24,7 @@ if [[ "${target}" == *-mingw* ]]; then else MPI_LIBS="[${libdir}/libmpifort.${dlext},${libdir}/libmpi.${dlext}]" fi - +mkdir $libdir/petsc build_petsc() { @@ -33,8 +33,8 @@ build_petsc() else USE_INT64=0 fi - - ./configure --prefix=${prefix} \ + mkdir $libdir/petsc/${target}_${1}_${2}_${3} + ./configure --prefix=${libdir}/petsc/${target}_${1}_${2}_${3} \ CC=${CC} \ FC=${FC} \ CXX=${CXX} \ @@ -69,27 +69,15 @@ build_petsc() CPPFLAGS="${CPPFLAGS}" \ CFLAGS="${CFLAGS}" \ FFLAGS="${FFLAGS}" \ - DEST_DIR="${prefix}" \ all - - make PETSC_DIR=$PWD PETSC_ARCH=${target}_${1}_${2}_${3} DEST_DIR=$prefix install - - # add suffix to library name - if [[ "${target}" == *-mingw* ]]; then - # changing the extension from so to dll. - mv ${prefix}/lib/libpetsc.so.*.*.* "${libdir}/libpetsc_${1}_${2}_${3}.${dlext}" - elif [[ "${target}" == *-apple* ]]; then - mv ${prefix}/lib/libpetsc.*.*.*.${dlext} "${libdir}/libpetsc_${1}_${2}_${3}.${dlext}" - else - mv ${prefix}/lib/libpetsc.${dlext}.*.*.* "${libdir}/libpetsc_${1}_${2}_${3}.${dlext}" - fi - # Remove useless links - rm ${prefix}/lib/libpetsc.* - # Remove duplicated file - rm ${prefix}/lib/pkgconfig/PETSc.pc + + make install + # Sym link into the correct directory. + ln -s $libdir/petsc/${target}_${1}_${2}_${3}/lib/libpetsc.${dlext} $libdir/libpetsc_${target}_${1}_${2}_${3}.${dlext} } build_petsc double real Int32 +cp -a $libdir/petsc/x86_64-linux-gnu_double_real_Int32/include/*.h $includedir/ build_petsc single real Int32 build_petsc double complex Int32 build_petsc single complex Int32 From b289066510c557d1875de50784bc4ca57d06ff1d Mon Sep 17 00:00:00 2001 From: Will Kimmerer Date: Sat, 23 Oct 2021 18:14:40 +0000 Subject: [PATCH 02/18] fix symlink name --- P/PETSc/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index 58d7c6f891d..aba0d62d1e8 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -73,7 +73,7 @@ build_petsc() make install # Sym link into the correct directory. - ln -s $libdir/petsc/${target}_${1}_${2}_${3}/lib/libpetsc.${dlext} $libdir/libpetsc_${target}_${1}_${2}_${3}.${dlext} + ln -s $libdir/petsc/${target}_${1}_${2}_${3}/lib/libpetsc.${dlext} $libdir/libpetsc_${1}_${2}_${3}.${dlext} } build_petsc double real Int32 From ff50a5b1e632d237789d9df9c1f36b7033099f36 Mon Sep 17 00:00:00 2001 From: Will Kimmerer Date: Sat, 23 Oct 2021 18:26:00 +0000 Subject: [PATCH 03/18] add target to directory --- P/PETSc/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index aba0d62d1e8..22564eeca89 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -77,7 +77,7 @@ build_petsc() } build_petsc double real Int32 -cp -a $libdir/petsc/x86_64-linux-gnu_double_real_Int32/include/*.h $includedir/ +cp -a $libdir/petsc/${target}-gnu_double_real_Int32/include/*.h $includedir/ build_petsc single real Int32 build_petsc double complex Int32 build_petsc single complex Int32 From f9a79e05fbaa1eb2777e3fe69762d9ca8779fde2 Mon Sep 17 00:00:00 2001 From: Will Kimmerer Date: Sat, 23 Oct 2021 18:32:42 +0000 Subject: [PATCH 04/18] typo --- P/PETSc/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index 22564eeca89..22e68e9af25 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -77,7 +77,7 @@ build_petsc() } build_petsc double real Int32 -cp -a $libdir/petsc/${target}-gnu_double_real_Int32/include/*.h $includedir/ +cp -a $libdir/petsc/${target}_double_real_Int32/include/*.h $includedir/ build_petsc single real Int32 build_petsc double complex Int32 build_petsc single complex Int32 From 5fe010ced8cd4b8a9ae5b209db23e685b1be91ad Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <--get> Date: Mon, 25 Oct 2021 19:50:10 +0200 Subject: [PATCH 05/18] Inject version --- P/PETSc/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index 334938eead8..4ef74e2fb46 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -6,7 +6,7 @@ version = v"3.15.2" # 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 = [ - ArchiveSource("https://www.mcs.anl.gov/petsc/mirror/release-snapshots/petsc-3.15.2.tar.gz", + ArchiveSource("https://www.mcs.anl.gov/petsc/mirror/release-snapshots/petsc-$(version).tar.gz", "3b10c19c69fc42e01a38132668724a01f1da56f5c353105cd28f1120cc9041d8"), DirectorySource("./bundled"), ] From 892ab6558db953d30ede1d6036cb21aae7bd0229 Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Mon, 25 Oct 2021 15:42:54 -0400 Subject: [PATCH 06/18] make check now passes --- P/PETSc/build_tarballs.jl | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index bece63e2e0e..eee2dca661c 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -64,13 +64,11 @@ build_petsc() fi make -j${nproc} \ - PETSC_DIR="${PWD}" \ - PETSC_ARCH="${target}_${1}_${2}_${3}" \ CPPFLAGS="${CPPFLAGS}" \ CFLAGS="${CFLAGS}" \ FFLAGS="${FFLAGS}" \ all - + make install # Sym link into the correct directory. ln -s $libdir/petsc/${target}_${1}_${2}_${3}/lib/libpetsc.${dlext} $libdir/libpetsc_${1}_${2}_${3}.${dlext} From 4e2d35a76875f2fa2791465d44f9ca2eda00733a Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Mon, 25 Oct 2021 18:58:52 -0400 Subject: [PATCH 07/18] Remove symlinks, add LDFLAGS --- P/PETSc/build_tarballs.jl | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index eee2dca661c..84593308848 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -33,19 +33,19 @@ build_petsc() else USE_INT64=0 fi - mkdir $libdir/petsc/${target}_${1}_${2}_${3} - ./configure --prefix=${libdir}/petsc/${target}_${1}_${2}_${3} \ + mkdir $libdir/petsc/${1}_${2}_${3} + ./configure --prefix=${libdir}/petsc/${1}_${2}_${3} \ CC=${CC} \ FC=${FC} \ CXX=${CXX} \ COPTFLAGS='-O3' \ CXXOPTFLAGS='-O3' \ CFLAGS='-fno-stack-protector' \ + LDFLAGS="-L${libdir}" \ FOPTFLAGS='-O3' \ --with-64-bit-indices=${USE_INT64} \ --with-debugging=0 \ --with-batch \ - --PETSC_ARCH=${target}_${1}_${2}_${3} \ --with-blaslapack-lib=$BLAS_LAPACK_LIB \ --with-blaslapack-suffix="" \ --known-64-bit-blas-indices=0 \ @@ -66,16 +66,11 @@ build_petsc() make -j${nproc} \ CPPFLAGS="${CPPFLAGS}" \ CFLAGS="${CFLAGS}" \ - FFLAGS="${FFLAGS}" \ - all - + FFLAGS="${FFLAGS}" make install - # Sym link into the correct directory. - ln -s $libdir/petsc/${target}_${1}_${2}_${3}/lib/libpetsc.${dlext} $libdir/libpetsc_${1}_${2}_${3}.${dlext} } build_petsc double real Int32 -cp -a $libdir/petsc/${target}_double_real_Int32/include/*.h $includedir/ build_petsc single real Int32 build_petsc double complex Int32 build_petsc single complex Int32 @@ -89,15 +84,15 @@ build_petsc single complex Int64 platforms = expand_gfortran_versions(supported_platforms(exclude=[Platform("i686", "windows")])) products = [ - LibraryProduct("libpetsc_double_real_Int32", :libpetsc), # Current default build - LibraryProduct("libpetsc_double_real_Int64", :libpetsc_Float64_Real_Int64), - LibraryProduct("libpetsc_single_real_Int64", :libpetsc_Float32_Real_Int64), - LibraryProduct("libpetsc_double_complex_Int64", :libpetsc_Float64_Complex_Int64), - LibraryProduct("libpetsc_single_complex_Int64", :libpetsc_Float32_Complex_Int64), - LibraryProduct("libpetsc_double_real_Int32", :libpetsc_Float64_Real_Int32), - LibraryProduct("libpetsc_single_real_Int32", :libpetsc_Float32_Real_Int32), - LibraryProduct("libpetsc_double_complex_Int32", :libpetsc_Float64_Complex_Int32), - LibraryProduct("libpetsc_single_complex_Int32", :libpetsc_Float32_Complex_Int32), + # Current default build, equivalent to Float64_Real_Int32 + LibraryProduct("libpetsc", :libpetsc, "lib/petsc/double_real_Int32/lib"), + LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int64, "lib/petsc/double_real_Int64/lib"), + LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int64, "lib/petsc/single_real_Int64/lib"), + LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int64, "lib/petsc/double_complex_Int64/lib"), + LibraryProduct("libpetsc", :libpetsc_Float32_Complex_Int64, "lib/petsc/single_complex_Int64/lib"), + LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int32, "lib/petsc/single_real_Int32/lib"), + LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int32, "lib/petsc/double_complex_Int32/lib"), + LibraryProduct("libpetsc", :libpetsc_Float32_Complex_Int32, "lib/petsc/single_complex_Int32/lib"), ] dependencies = [ From af03bebc6b7efc4ce4c729ecc2a20b48effedd36 Mon Sep 17 00:00:00 2001 From: Will Kimmerer Date: Tue, 26 Oct 2021 02:32:27 +0000 Subject: [PATCH 08/18] so to dll on win --- P/PETSc/build_tarballs.jl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index 84593308848..c6dfb64d144 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -68,6 +68,10 @@ build_petsc() CFLAGS="${CFLAGS}" \ FFLAGS="${FFLAGS}" make install + if [[ "${target}" == *-mingw* ]]; then + # changing the extension from so to dll. + mv ${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.so "${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.${dlext}" + fi } build_petsc double real Int32 @@ -86,6 +90,7 @@ platforms = expand_gfortran_versions(supported_platforms(exclude=[Platform("i686 products = [ # Current default build, equivalent to Float64_Real_Int32 LibraryProduct("libpetsc", :libpetsc, "lib/petsc/double_real_Int32/lib"), + LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int32, "lib/petsc/double_real_Int32/lib"), LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int64, "lib/petsc/double_real_Int64/lib"), LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int64, "lib/petsc/single_real_Int64/lib"), LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int64, "lib/petsc/double_complex_Int64/lib"), From 1f98c2f58613c1a3fa4388b1f1cc3b801be0d23a Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Tue, 26 Oct 2021 20:58:09 -0400 Subject: [PATCH 09/18] search bin for windows libs --- P/PETSc/build_tarballs.jl | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index c6dfb64d144..ad1117715e9 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -54,7 +54,8 @@ build_petsc() --with-mpi-include="${includedir}" \ --with-sowing=0 \ --with-precision=${1} \ - --with-scalar-type=${2} + --with-scalar-type=${2} \ + --PETSC_ARCH=${target}_${1}_${2}_${3} if [[ "${target}" == *-mingw* ]]; then export CPPFLAGS="-Dpetsc_EXPORTS" @@ -68,10 +69,6 @@ build_petsc() CFLAGS="${CFLAGS}" \ FFLAGS="${FFLAGS}" make install - if [[ "${target}" == *-mingw* ]]; then - # changing the extension from so to dll. - mv ${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.so "${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.${dlext}" - fi } build_petsc double real Int32 @@ -89,15 +86,15 @@ platforms = expand_gfortran_versions(supported_platforms(exclude=[Platform("i686 products = [ # Current default build, equivalent to Float64_Real_Int32 - LibraryProduct("libpetsc", :libpetsc, "lib/petsc/double_real_Int32/lib"), - LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int32, "lib/petsc/double_real_Int32/lib"), - LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int64, "lib/petsc/double_real_Int64/lib"), - LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int64, "lib/petsc/single_real_Int64/lib"), - LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int64, "lib/petsc/double_complex_Int64/lib"), - LibraryProduct("libpetsc", :libpetsc_Float32_Complex_Int64, "lib/petsc/single_complex_Int64/lib"), - LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int32, "lib/petsc/single_real_Int32/lib"), - LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int32, "lib/petsc/double_complex_Int32/lib"), - LibraryProduct("libpetsc", :libpetsc_Float32_Complex_Int32, "lib/petsc/single_complex_Int32/lib"), + LibraryProduct("libpetsc", :libpetsc, ["lib/petsc/double_real_Int32/lib", "bin/petsc/double_real_Int32/lib"]), + LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int32, ["lib/petsc/double_real_Int32/lib", "bin/petsc/double_real_Int32/lib"]), + LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int64, ["lib/petsc/double_real_Int64/lib", "bin/petsc/double_real_Int64/lib"]), + LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int64, ["lib/petsc/single_real_Int64/lib", "bin/petsc/single_real_Int64/lib"]), + LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int64, ["lib/petsc/double_complex_Int64/lib", "bin/petsc/double_complex_Int64/lib"]), + LibraryProduct("libpetsc", :libpetsc_Float32_Complex_Int64, ["lib/petsc/single_complex_Int64/lib", "bin/petsc/single_complex_Int64/lib"]), + LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int32, ["lib/petsc/single_real_Int32/lib", "bin/petsc/single_real_Int32/lib"]), + LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int32, ["lib/petsc/double_complex_Int32/lib", "bin/petsc/double_complex_Int32/lib"]), + LibraryProduct("libpetsc", :libpetsc_Float32_Complex_Int32, ["lib/petsc/single_complex_Int32/lib", "bin/petsc/single_complex_Int32/lib"]), ] dependencies = [ From 4b36955e29fa506d88e8d2de1eb489197312d40d Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Wed, 27 Oct 2021 17:17:56 -0400 Subject: [PATCH 10/18] use $libdir in products. --- P/PETSc/build_tarballs.jl | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index ad1117715e9..a0082158bca 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -86,15 +86,15 @@ platforms = expand_gfortran_versions(supported_platforms(exclude=[Platform("i686 products = [ # Current default build, equivalent to Float64_Real_Int32 - LibraryProduct("libpetsc", :libpetsc, ["lib/petsc/double_real_Int32/lib", "bin/petsc/double_real_Int32/lib"]), - LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int32, ["lib/petsc/double_real_Int32/lib", "bin/petsc/double_real_Int32/lib"]), - LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int64, ["lib/petsc/double_real_Int64/lib", "bin/petsc/double_real_Int64/lib"]), - LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int64, ["lib/petsc/single_real_Int64/lib", "bin/petsc/single_real_Int64/lib"]), - LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int64, ["lib/petsc/double_complex_Int64/lib", "bin/petsc/double_complex_Int64/lib"]), - LibraryProduct("libpetsc", :libpetsc_Float32_Complex_Int64, ["lib/petsc/single_complex_Int64/lib", "bin/petsc/single_complex_Int64/lib"]), - LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int32, ["lib/petsc/single_real_Int32/lib", "bin/petsc/single_real_Int32/lib"]), - LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int32, ["lib/petsc/double_complex_Int32/lib", "bin/petsc/double_complex_Int32/lib"]), - LibraryProduct("libpetsc", :libpetsc_Float32_Complex_Int32, ["lib/petsc/single_complex_Int32/lib", "bin/petsc/single_complex_Int32/lib"]), + LibraryProduct("libpetsc", :libpetsc, "$libdir/petsc/double_real_Int32/lib") + LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int32, "$libdir/petsc/double_real_Int32/lib") + LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int64, "$libdir/petsc/double_real_Int64/lib") + LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int64, "$libdir/petsc/single_real_Int64/lib") + LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int64, "$libdir/petsc/double_complex_Int64/lib") + LibraryProduct("libpetsc", :libpetsc_Float32_Complex_Int64, "$libdir/petsc/single_complex_Int64/lib") + LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int32, "$libdir/petsc/single_real_Int32/lib") + LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int32, "$libdir/petsc/double_complex_Int32/lib") + LibraryProduct("libpetsc", :libpetsc_Float32_Complex_Int32, "$libdir/petsc/single_complex_Int32/lib") ] dependencies = [ From 3919ea3c6f33699292d96447f540a254a676cc3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mos=C3=A8=20Giordano?= Date: Wed, 27 Oct 2021 22:23:11 +0100 Subject: [PATCH 11/18] Update P/PETSc/build_tarballs.jl --- P/PETSc/build_tarballs.jl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index a0082158bca..fd5e647856f 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -87,14 +87,14 @@ platforms = expand_gfortran_versions(supported_platforms(exclude=[Platform("i686 products = [ # Current default build, equivalent to Float64_Real_Int32 LibraryProduct("libpetsc", :libpetsc, "$libdir/petsc/double_real_Int32/lib") - LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int32, "$libdir/petsc/double_real_Int32/lib") - LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int64, "$libdir/petsc/double_real_Int64/lib") - LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int64, "$libdir/petsc/single_real_Int64/lib") - LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int64, "$libdir/petsc/double_complex_Int64/lib") - LibraryProduct("libpetsc", :libpetsc_Float32_Complex_Int64, "$libdir/petsc/single_complex_Int64/lib") - LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int32, "$libdir/petsc/single_real_Int32/lib") - LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int32, "$libdir/petsc/double_complex_Int32/lib") - LibraryProduct("libpetsc", :libpetsc_Float32_Complex_Int32, "$libdir/petsc/single_complex_Int32/lib") + LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int32, "\$libdir/petsc/double_real_Int32/lib") + LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int64, "\$libdir/petsc/double_real_Int64/lib") + LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int64, "\$libdir/petsc/single_real_Int64/lib") + LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int64, "\$libdir/petsc/double_complex_Int64/lib") + LibraryProduct("libpetsc", :libpetsc_Float32_Complex_Int64, "\$libdir/petsc/single_complex_Int64/lib") + LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int32, "\$libdir/petsc/single_real_Int32/lib") + LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int32, "\$libdir/petsc/double_complex_Int32/lib") + LibraryProduct("libpetsc", :libpetsc_Float32_Complex_Int32, "\$libdir/petsc/single_complex_Int32/lib") ] dependencies = [ From 4d8c7f4a17225cf6491357414fc7b4036961140a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mos=C3=A8=20Giordano?= Date: Wed, 27 Oct 2021 22:24:59 +0100 Subject: [PATCH 12/18] Update P/PETSc/build_tarballs.jl --- P/PETSc/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index fd5e647856f..be14bd7a623 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -86,7 +86,7 @@ platforms = expand_gfortran_versions(supported_platforms(exclude=[Platform("i686 products = [ # Current default build, equivalent to Float64_Real_Int32 - LibraryProduct("libpetsc", :libpetsc, "$libdir/petsc/double_real_Int32/lib") + LibraryProduct("libpetsc", :libpetsc, "\$libdir/petsc/double_real_Int32/lib") LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int32, "\$libdir/petsc/double_real_Int32/lib") LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int64, "\$libdir/petsc/double_real_Int64/lib") LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int64, "\$libdir/petsc/single_real_Int64/lib") From f5f4434a9b4118b69d3349385f3302d9b47e7aca Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Fri, 4 Mar 2022 17:01:29 -0500 Subject: [PATCH 13/18] rename things --- P/PETSc/build_tarballs.jl | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index be14bd7a623..28d25f8b757 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -69,6 +69,12 @@ build_petsc() CFLAGS="${CFLAGS}" \ FFLAGS="${FFLAGS}" make install + if [[ "${target}" == *-mingw* ]]; then + # changing the extension from so to dll. + mv ${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.so "${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc_${1}_${2}_${3}.${dlext}" + else + mv ${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.${dlext} "${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc_${1}_${2}_${3}.${dlext}" + fi } build_petsc double real Int32 @@ -86,15 +92,15 @@ platforms = expand_gfortran_versions(supported_platforms(exclude=[Platform("i686 products = [ # Current default build, equivalent to Float64_Real_Int32 - LibraryProduct("libpetsc", :libpetsc, "\$libdir/petsc/double_real_Int32/lib") - LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int32, "\$libdir/petsc/double_real_Int32/lib") - LibraryProduct("libpetsc", :libpetsc_Float64_Real_Int64, "\$libdir/petsc/double_real_Int64/lib") - LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int64, "\$libdir/petsc/single_real_Int64/lib") - LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int64, "\$libdir/petsc/double_complex_Int64/lib") - LibraryProduct("libpetsc", :libpetsc_Float32_Complex_Int64, "\$libdir/petsc/single_complex_Int64/lib") - LibraryProduct("libpetsc", :libpetsc_Float32_Real_Int32, "\$libdir/petsc/single_real_Int32/lib") - LibraryProduct("libpetsc", :libpetsc_Float64_Complex_Int32, "\$libdir/petsc/double_complex_Int32/lib") - LibraryProduct("libpetsc", :libpetsc_Float32_Complex_Int32, "\$libdir/petsc/single_complex_Int32/lib") + LibraryProduct("libpetsc_double_real_Int32", :libpetsc, "\$libdir/petsc/double_real_Int32/lib") + LibraryProduct("libpetsc_double_real_Int32", :libpetsc_Float64_Real_Int32, "\$libdir/petsc/double_real_Int32/lib") + LibraryProduct("libpetsc_double_real_Int64", :libpetsc_Float64_Real_Int64, "\$libdir/petsc/double_real_Int64/lib") + LibraryProduct("libpetsc_single_real_Int64", :libpetsc_Float32_Real_Int64, "\$libdir/petsc/single_real_Int64/lib") + LibraryProduct("libpetsc_double_complex_Int64", :libpetsc_Float64_Complex_Int64, "\$libdir/petsc/double_complex_Int64/lib") + LibraryProduct("libpetsc_single_complex_Int64", :libpetsc_Float32_Complex_Int64, "\$libdir/petsc/single_complex_Int64/lib") + LibraryProduct("libpetsc_single_real_Int32", :libpetsc_Float32_Real_Int32, "\$libdir/petsc/single_real_Int32/lib") + LibraryProduct("libpetsc_double_complex_Int32", :libpetsc_Float64_Complex_Int32, "\$libdir/petsc/double_complex_Int32/lib") + LibraryProduct("libpetsc_single_complex_Int32", :libpetsc_Float32_Complex_Int32, "\$libdir/petsc/single_complex_Int32/lib") ] dependencies = [ @@ -105,4 +111,4 @@ dependencies = [ ] # Build the tarballs. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; preferred_gcc_version = v"9") +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"9") From 5d04c50b2c0168b8a531dfd882de23f8f3d77fba Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Fri, 4 Mar 2022 20:11:59 -0500 Subject: [PATCH 14/18] rm mingw specific mv cmd --- P/PETSc/build_tarballs.jl | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index 28d25f8b757..fb5057d735f 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -69,12 +69,7 @@ build_petsc() CFLAGS="${CFLAGS}" \ FFLAGS="${FFLAGS}" make install - if [[ "${target}" == *-mingw* ]]; then - # changing the extension from so to dll. - mv ${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.so "${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc_${1}_${2}_${3}.${dlext}" - else - mv ${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.${dlext} "${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc_${1}_${2}_${3}.${dlext}" - fi + mv ${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.${dlext} "${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc_${1}_${2}_${3}.${dlext}" } build_petsc double real Int32 From 224a420ccc61e5f239ebb4595ed367d05878fa67 Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Tue, 8 Mar 2022 03:14:24 -0500 Subject: [PATCH 15/18] match original better --- P/PETSc/build_tarballs.jl | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index fb5057d735f..b69a71ac9ae 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -69,7 +69,18 @@ build_petsc() CFLAGS="${CFLAGS}" \ FFLAGS="${FFLAGS}" make install - mv ${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.${dlext} "${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc_${1}_${2}_${3}.${dlext}" + + if [[ "${target}" == *-mingw* ]]; then + # changing the extension from so to dll. + mv ${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.so.*.*.* "${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc_${1}_${2}_${3}.${dlext}" + elif [[ "${target}" == *-apple* ]]; then + mv ${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.*.*.*.${dlext} "${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc_${1}_${2}_${3}.${dlext}" + else + mv ${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.${dlext}.*.*.* "${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc_${1}_${2}_${3}.${dlext}" + fi + + # Remove now broken(?) links + rm ${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.* } build_petsc double real Int32 From 9bbba081e40ae3f4e8c5125d3afda94060f35e64 Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Tue, 8 Mar 2022 09:15:19 -0500 Subject: [PATCH 16/18] version bump --- P/PETSc/build_tarballs.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index b69a71ac9ae..4a5ee82d54c 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -1,13 +1,13 @@ using BinaryBuilder name = "PETSc" -version = v"3.15.2" +version = v"3.16.5" # 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 = [ ArchiveSource("https://www.mcs.anl.gov/petsc/mirror/release-snapshots/petsc-$(version).tar.gz", - "3b10c19c69fc42e01a38132668724a01f1da56f5c353105cd28f1120cc9041d8"), + "7de8570eeb94062752d82a83208fc2bafc77b3f515023a4c14d8ff9440e66cac"), DirectorySource("./bundled"), ] From 742590718732e2b235053da027fa0eab104e06b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mos=C3=A8=20Giordano?= Date: Tue, 8 Mar 2022 15:49:14 +0000 Subject: [PATCH 17/18] Update build_tarballs.jl --- P/PETSc/build_tarballs.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index 4a5ee82d54c..8f362730775 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -111,8 +111,8 @@ products = [ dependencies = [ Dependency("OpenBLAS32_jll"), - Dependency("MPICH_jll"), - Dependency("MicrosoftMPI_jll"), + Dependency("MPICH_jll"; platforms=filter(!Sys.iswindows, platforms)), + Dependency("MicrosoftMPI_jll"; platforms=filter(Sys.iswindows, platforms)), Dependency("CompilerSupportLibraries_jll"), ] From fc8cfbf5a8fca70ac81c699173ac6ac9e5c9fde1 Mon Sep 17 00:00:00 2001 From: Wimmerer Date: Wed, 9 Mar 2022 09:39:44 -0500 Subject: [PATCH 18/18] fix windows --- P/PETSc/build_tarballs.jl | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/P/PETSc/build_tarballs.jl b/P/PETSc/build_tarballs.jl index 4a5ee82d54c..c062e95b729 100644 --- a/P/PETSc/build_tarballs.jl +++ b/P/PETSc/build_tarballs.jl @@ -70,10 +70,7 @@ build_petsc() FFLAGS="${FFLAGS}" make install - if [[ "${target}" == *-mingw* ]]; then - # changing the extension from so to dll. - mv ${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.so.*.*.* "${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc_${1}_${2}_${3}.${dlext}" - elif [[ "${target}" == *-apple* ]]; then + if [[ "${target}" == *-apple* ]]; then mv ${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.*.*.*.${dlext} "${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc_${1}_${2}_${3}.${dlext}" else mv ${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc.${dlext}.*.*.* "${libdir}/petsc/${1}_${2}_${3}/lib/libpetsc_${1}_${2}_${3}.${dlext}"