Hi Jorge,
I think what the openCARP install instructions are missing is guidance on which version of petsc to use. We had a functional petsc install but it was an older version.
In any case, here is the build script I used which includes the petsc configure. I am also exploring using amd optimized blas and lapack libraries going forward. I also want to profile differences when using -O2 vs -O3 compile flags.
echo "Prepping for builds"
export BUILD_DIR=$(pwd)
echo "Building from" $BUILD_DIR
export CC=/usr/bin/gcc-14
mkdir localBuilds
mkdir localBuilds/lib
## build blas
wget
http://www.netlib.org/blas/blas-3.10.0.tgz
tar -xvf blas-3.10.0.tgz
cd BLAS-3.10.0
make -j5 CFLAGS="-O3 -march=native" FCFLAGS="-O3 -march=native"
make -j
cp blas_LINUX.a ../localBuilds/lib/blas.a
cd ..
## Build LAPACK
wget
https://github.com/Reference-LAPACK/lapack/archive/refs/tags/v3.12.1.tar.gz
tar -xvf v3.12.1.tar.gz
cd lapack-3.12.1
cp make.inc.example make.inc
make -j FFLAGS='-O3 -march=native' CFLAGS='-O2 -mavx2' BLASLIB="$BUILD_DIR/localBuilds/lib/blas.a"
cp *.a ../localBuilds/
cd ..
## Build petsc
git clone -b release
https://gitlab.com/petsc/petsc.git petsc
cd petsc
git checkout v3.23.2
./configure \
--force \
--prefix=$BUILD_DIR/localBuilds \
--with-blas-lib=$BUILD_DIR/localBuilds/lib/blas.a \
--with-lapack-lib=$BUILD_DIR/localBuilds/lib/liblapack.a \
--CC=$CC\
--download-mpich \
--download-metis \
--download-parmetis \
--with-debugging=0 \
COPTFLAGS="-O3 -march=native" \
CXXOPTFLAGS="-O3 -march=native" \
FOPTFLAGS="-O3 -march=native"
make all
make install
cd ..
export PETSC_DIR=$BUILD_DIR/localBuilds
export PETSC_ARCH=arch-amd-gcc14-opt
export PETSC_ROOT=$BUILD_DIR/localBuilds
export PATH=$PETSC_ROOT/bin:$PATH
export LD_LIBRARY_PATH=$PETSC_ROOT/lib:$LD_LIBRARY_PATH
git clone
https://git.opencarp.org/openCARP/openCARP.git
cd openCARP
export PKG_CONFIG_PATH=$BUILD_DIR/localBuilds/lib/pkgconfig:$PKG_CONFIG_PATH
cmake -S. -B_build -DDLOPEN=ON -DBUILD_EXTERNAL=Off -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/bin/gcc-14 \
-DPETSC_DIR=$PETSC_DIR \
-DPETSC_ARCH=$PETSC_ARCH \
-DCMAKE_PREFIX_PATH=$BUILD_DIR/localBuilds \
-DCMAKE_AR=/usr/bin/gcc-ar-14 \
-DCMAKE_RANLIB=/usr/bin/gcc-ranlib-14 \
-DCMAKE_NM=/usr/bin/gcc-nm-14 \
-DCMAKE_C_FLAGS="-march=native" \
-DCMAKE_CXX_FLAGS="-march=native"
cmake --build _build -j