diff --git a/README.md b/README.md index 0beca06840ecb12f3e3a9a8772ff0f8ee45f32b4..6c413b3c581db5fe57f8e8e8263f375ccd2bedb5 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,6 @@ pip install ogscm If you build images with Docker (`--build`-parameter, see below) you need to make sure that you have [setup Docker to be runnable without `sudo`](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user)! - Apple ARM specific: ```bash @@ -208,7 +207,7 @@ ogs.py: --dev Installs development tools (vim, gdb) (default: False) --mkl Use MKL. By setting this option, you agree to the [Intel End User License Agreement](https://software.intel.com/en-us/articles/end-user-license-agreement). (default: False) --petsc_configure_args PETSC_CONFIGURE_ARGS - PETSc configuration arguments; has to be quoted. (default: --with-fc=0 --download-f2cblaslapack=1) + PETSc configuration arguments; has to be quoted. (default: --with-fc=0) --version_file VERSION_FILE OGS versions.json file (default: None) --boost-sourceforge Boolean flag to specify whether Boost should be downloaded from SourceForge rather than the current Boost repository. (default: False) @@ -237,7 +236,6 @@ ogscm compiler.py ogs.py -B -C -R --ogs [path to ogs sources] - `host` has to be a SSH host to which you have passwordless access - Deploy to the host with `... -D myhost` - ## PyPi Publication - Bump version in `pyproject.py` and run `poetry install` diff --git a/ogscm/recipes/ogs.py b/ogscm/recipes/ogs.py index 1293bb313b9e47179512b41900733b3a5e19b7a9..dcbcb5c9470733956221a98a9be4d1717682adb8 100644 --- a/ogscm/recipes/ogs.py +++ b/ogscm/recipes/ogs.py @@ -138,7 +138,7 @@ if toolchain.CC == "mpicc": parse_g.add_argument( "--petsc_configure_args", type=str, - default="--with-fc=0 --download-f2cblaslapack=1", + default="--with-fc=0", help="PETSc configuration arguments; has to be quoted.", ) parse_g.add_argument("--version_file", type=str, help="OGS versions.json file") @@ -497,14 +497,20 @@ if local_args.ogs != "clean": "--CXXFLAGS='-O3'", "--FFLAGS='-O3'", "--with-debugging=no", + "--download-f2cblaslapack=./f2cblaslapack-3.4.2.q4.tar.gz", ] + # TODO: remove last line and wget in preconfigure when upgrading + # to PETSc > 3.18 petsc_configure_opts.extend(petsc_args) Stage0 += generic_autotools( configure_opts=petsc_configure_opts, - devel_environment={"PETSC_DIR": "/usr/local/petsc"}, + devel_environment={"CMAKE_PREFIX_PATH": "/usr/local/petsc"}, directory=f"petsc-{petsc_version}", ldconfig=True, - preconfigure=["sed -i -- 's/python/python3/g' configure"], + preconfigure=[ + "wget http://ftp.mcs.anl.gov/pub/petsc/externalpackages/f2cblaslapack-3.4.2.q4.tar.gz", + "sed -i -- 's/python/python3/g' configure", + ], prefix="/usr/local/petsc", toolchain=toolchain, url=f"http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-{petsc_version}.tar.gz", @@ -621,7 +627,8 @@ if local_args.mfront and local_args.pm == "system": cmake_args.append("-DOGS_USE_MFRONT=ON") # Used to fix RPATH in petsc.so build as external dependency -Stage0 += packages(ospackages=["patchelf"]) +# pkg-config for PETSc finding +Stage0 += packages(ospackages=["patchelf", "pkg-config"]) if local_args.ccache: Stage0 += ccache(cache_size="15G")