Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JOSS Review - Cannot compile #3256

Closed
berenger-eu opened this issue Jul 31, 2024 · 45 comments
Closed

JOSS Review - Cannot compile #3256

berenger-eu opened this issue Jul 31, 2024 · 45 comments
Assignees
Labels
type: new A new issue has been created and requires attention

Comments

@berenger-eu
Copy link

Hello there,
I would like to compile GEOS on an HPC platform.
I was able to checkout the two repo, and then I loaded the following modules module load compiler/cuda/12.3 compiler/gcc/11.2.0 mpi/openmpi/5.0.1 build/cmake/3.27.0 linalg/mkl/2020_update4.

I added my hostfile, nano ../GEOS/host-configs/plafrim/a100.cmake

set(CMAKE_CXX_COMPILER "g++" CACHE PATH "" FORCE)
set(CMAKE_C_COMPILER "gcc" CACHE PATH "" FORCE)
set(CMAKE_Fortran_COMPILER "gfortran" CACHE PATH "" FORCE)

set(ENABLE_FORTRAN OFF CACHE BOOL "")

set(ENABLE_MPI ON CACHE BOOL "")
set(MPI_HOME /cm/shared/modules/generic/mpi/openmpi/5.0.1/ CACHE PATH "")
set(MPI_C_COMPILER       ${MPI_HOME}/bin/mpicc   CACHE PATH "")
set(MPI_CXX_COMPILER     ${MPI_HOME}/bin/mpicxx  CACHE PATH "")
set(MPI_Fortran_COMPILER ${MPI_HOME}/bin/mpifort CACHE PATH "")

set(MPIEXEC              /usr/bin/srun CACHE PATH "")
set(MPIEXEC_NUMPROC_FLAG "-n" CACHE STRING "")

set(ENABLE_OPENMP ON CACHE BOOL "")

set(ENABLE_SPHINX_EXECUTABLE OFF CACHE BOOL "")
set(ENABLE_UNCRUSTIFY OFF CACHE BOOL "")
set(ENABLE_DOXYGEN OFF CACHE BOOL "")

set(ENABLE_GTEST_DEATH_TESTS OFF CACHE BOOL "")

set(ENABLE_PVTPackage OFF CACHE BOOL "")
set(ENABLE_CALIPER OFF CACHE BOOL "")
set(ENABLE_ADIAK OFF CACHE BOOL "")
set(ENABLE_PAPI OFF CACHE BOOL "")
set(ENABLE_PETSC OFF CACHE BOOL "" FORCE )
set(ENABLE_TRILINOS OFF CACHE BOOL "" FORCE )
set(ENABLE_HYPRE OFF CACHE BOOL "" FORCE )
set(ENABLE_TOTALVIEW_OUTPUT OFF CACHE BOOL "Enables Totalview custom view" FORCE)

set(ENABLE_MKL ON CACHE BOOL "")
set(MKL_ROOT /cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl/)
set(MKL_INCLUDE_DIRS ${MKL_ROOT}/include CACHE STRING "")
set(MKL_LIBRARIES ${MKL_ROOT}/lib/intel64/libmkl_intel_lp64.so
                  ${MKL_ROOT}/lib/intel64/libmkl_gnu_thread.so
                  ${MKL_ROOT}/lib/intel64/libmkl_core.so
                  CACHE STRING "")
                  
                  
# Now let's add what's dedicated to GPU.
set(ENABLE_CUDA ON CACHE PATH "" FORCE)
set(CUDA_TOOLKIT_ROOT_DIR /usr/local/cuda-12.3/ CACHE PATH "")
set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER} CACHE STRING "")
set(CMAKE_CUDA_COMPILER ${CUDA_TOOLKIT_ROOT_DIR}/bin/nvcc CACHE STRING "")

set(CUDA_ARCH sm_75 CACHE STRING "")
set(CMAKE_CUDA_FLAGS "-restrict -arch ${CUDA_ARCH} --expt-relaxed-constexpr --expt-extended-lambda -Werror cross-execution-space-call,reorder,deprecated-declarations" CACHE STRING "")
set(CMAKE_CUDA_FLAGS_RELEASE "-O3 -DNDEBUG -Xcompiler -DNDEBUG -Xcompiler -O3" CACHE STRING "")
set(CMAKE_CUDA_FLAGS_RELWITHDEBINFO "-g -lineinfo ${CMAKE_CUDA_FLAGS_RELEASE}" CACHE STRING "")
set(CMAKE_CUDA_FLAGS_DEBUG "-g -G -O0 -Xcompiler -O0" CACHE STRING "")

# Current version of hypre does not build with GPU support.
# Most recent version does build. Let's wait for an upgrade on our side.
set(ENABLE_HYPRE_DEVICE "CPU" CACHE STRING "" FORCE)

And then when I execute the python command python scripts/config-build.py -hc ../GEOS/host-configs/plafrim/a100.cmake -bt Release, I get:

thirdPartyLibs$ python scripts/config-build.py -hc ../GEOS/host-configs/plafrim/a100.cmake -bt Release
[config-build.py]:[INFO]: Using host config file: '/.projets_7/schnaps/GEOS/GEOS/host-configs/plafrim/a100.cmake'.
[config-build.py]:[INFO]: Build path is: build-a100-release
[config-build.py]:[INFO]: Build directory '/.projets_7/schnaps/GEOS/thirdPartyLibs/build-a100-release' already exists. Deleting...
[config-build.py]:[INFO]: Creating build directory '/.projets_7/schnaps/GEOS/thirdPartyLibs/build-a100-release'...
[config-build.py]:[INFO]: Install directory '/.projets_7/schnaps/GEOS/thirdPartyLibs/install-a100-release' already exists. Deleting...
[config-build.py]:[INFO]: Creating install path '/.projets_7/schnaps/GEOS/thirdPartyLibs/install-a100-release'...
[config-build.py]:[INFO]: Extracting cmake entry from host config file /.projets_7/schnaps/GEOS/GEOS/host-configs/plafrim/a100.cmake
[config-build.py]:[INFO]: Could not find a cmake entry in host config file. Using ${PATH}.
[config-build.py]:[INFO]: Changing to build directory '/.projets_7/schnaps/GEOS/thirdPartyLibs/build-a100-release'
[config-build.py]:[INFO]: Executing cmake line: 'cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/.projets_7/schnaps/GEOS/thirdPartyLibs/install-a100-release -C/.projets_7/schnaps/GEOS/GEOS/host-configs/plafrim/a100.cmake /.projets_7/schnaps/GEOS/thirdPartyLibs'
loading initial cache file /.projets_7/schnaps/GEOS/GEOS/host-configs/plafrim/a100.cmake
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- The Fortran compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /cm/shared/modules/amd/rome/compiler/gcc/11.2.0/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /cm/shared/modules/amd/rome/compiler/gcc/11.2.0/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /cm/shared/modules/amd/rome/compiler/gcc/11.2.0/bin/gfortran - skipped
-- BLT Version: 0.6.2
-- CMake Version: 3.27.0
-- CMake Build Type: Release
-- CMake Executable: /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/bin/cmake
-- Setting CMAKE_CXX_EXTENSIONS to OFF
-- Standard C++17 selected
-- Standard C++17 selected for CUDA
-- BLT MPI support is ON
-- BLT OpenMP support is ON
-- BLT CUDA support is ON
-- BLT HIP support is OFF
-- Creating BLT MPI targets...
-- FindMPI Enabled  (ENABLE_FIND_MPI == ON)
-- Could NOT find MPI_C (missing: MPI_C_WORKS) 
-- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS) 
-- Could NOT find MPI_Fortran (missing: MPI_Fortran_WORKS) 
CMake Error at /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND MPI_Fortran_FOUND)
Call Stack (most recent call first):
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/FindMPI.cmake:1837 (find_package_handle_standard_args)
  cmake/blt/cmake/thirdparty/BLTSetupMPI.cmake:43 (find_package)
  cmake/blt/cmake/BLTSetupTargets.cmake:75 (include)
  cmake/blt/cmake/SetupThirdParty.cmake:6 (include)
  cmake/blt/SetupBLT.cmake:129 (include)
  CMakeLists.txt:38 (include)


-- Configuring incomplete, errors occurred!

Any help will be welcome.

@victorapm
Copy link
Contributor

@berenger-eu thank you for your review!

Could you double check the following?

ls /cm/shared/modules/generic/mpi/openmpi/5.0.1/bin/mpicc
ls /cm/shared/modules/generic/mpi/openmpi/5.0.1/bin/mpicxx
ls /cm/shared/modules/generic/mpi/openmpi/5.0.1/bin/mpifort

In addition, could you attach the files CMakeOutput.log and CMakeError.log?

Thank you!

@berenger-eu
Copy link
Author

That seems to exist:

sirocco22:thirdPartyLibs$ ls /cm/shared/modules/generic/mpi/openmpi/5.0.1/bin/mpicc
/cm/shared/modules/generic/mpi/openmpi/5.0.1/bin/mpicc
sirocco22:thirdPartyLibs$ ls /cm/shared/modules/generic/mpi/openmpi/5.0.1/bin/mpicxx
/cm/shared/modules/generic/mpi/openmpi/5.0.1/bin/mpicxx
sirocco22:thirdPartyLibs$ ls /cm/shared/modules/generic/mpi/openmpi/5.0.1/bin/mpifort
/cm/shared/modules/generic/mpi/openmpi/5.0.1/bin/mpifort

I did not find a CMakeError.log, but I have the file attached to this message.
CMakeConfigureLog.txt
I feel like the error is not on your side but on the MPI libs...

@victorapm
Copy link
Contributor

Thank you for providing the log file.

Yes, this looks like an MPI installation issue and I would recommend checking with your HPC system admin:

        /usr/bin/ld: warning: libpsm2.so.2, needed by /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi_usempif08.so, not found (try using -rpath or -rpath-link)
        /usr/bin/ld: warning: libfabric.so.1, needed by /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi_usempif08.so, not found (try using -rpath or -rpath-link)
        
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_ep_open@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « fi_freeinfo@FABRIC_1.1 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_mq_init@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_mq_isend2@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_error_get_string@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_init@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libopen-pal.so.80 : référence indéfinie vers « fi_version@FABRIC_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_get_capability_mask@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « fi_dupinfo@FABRIC_1.1 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_mq_finalize@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_ep_connect@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_mq_irecv2@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_ep_open_opts_get_defaults@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_mq_send2@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « fi_strerror@FABRIC_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « fi_fabric@FABRIC_1.1 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_mq_iprobe2@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « fi_getinfo@FABRIC_1.1 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libopen-pal.so.80 : référence indéfinie vers « fi_tostr@FABRIC_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_mq_get_stats@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_error_defer@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_finalize@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_mq_test2@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_mq_improbe2@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_mq_cancel@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_mq_ipeek2@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_error_register_handler@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_mq_test@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_mq_imrecv@PSM2_1.0 »
        /cm/shared/modules/generic/mpi/openmpi/5.0.1/lib/libmpi.so : référence indéfinie vers « psm2_ep_close@PSM2_1.0 »
        collect2: erreur: ld a retourné le statut de sortie 1

@rrsettgast
Copy link
Member

Hello @berenger-eu ,
This reads as a failure of cmake/blt to find your MPI distribution. We have seen this in the past on cray systems...is this a cray system?

  • What is the linux distro/version? cat /etc/os-release
  • is there a default set of compilers and mpi installation?

@timokoch
Copy link

Hi, not sure if it's good to add this here but the error is similar and I'm also a JOSS reviewer. Same error but on a different system (macOS arm with OpenMPI 5.0.3). CMake Error at /opt/homebrew/Cellar/cmake/3.26.0/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find MPI (missing: MPI_CXX_FOUND MPI_Fortran_FOUND) (found version "3.1")

Note: The error seemed to have only appeared after installing openblas through homebrew. I usually use openblas on macOS through framework.Accelerate. Before brew install openblas I got past the error above but got an error from Kokkos which wasn't able to map framework.Accelerate on arm (different issue I guess). I'm not sure how this is related to not finding MPI now.

You find attached my host-config file and the CMakeOutput from python3 scripts/config-build.py -hc ../host-configs/myhost.cmake -bt Release. Since CMake 3.26 CMakeOutput.log and CMakeError.log are no longer emitted.

$ /opt/homebrew/Cellar/open-mpi/5.0.3_1/bin/mpicc --version
Apple clang version 14.0.3 (clang-1403.0.22.14.1)
Target: arm64-apple-darwin22.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
$ /opt/homebrew/Cellar/open-mpi/5.0.3_1/bin/mpicc --version
Apple clang version 14.0.3 (clang-1403.0.22.14.1)
Target: arm64-apple-darwin22.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
$ /opt/homebrew/Cellar/open-mpi/5.0.3_1/bin/mpifort --version
GNU Fortran (Homebrew GCC 14.1.0_2) 14.1.0
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

myhost.cmake.txt (added .txt to be able to upload to github)
output.log
CMakeConfigureLog.txt

I guess I would have to remove -ld_classic but not sure where and why.
Help is appreciated :). BTW, I use the same MPI installation in other projects without problem.

@victorapm
Copy link
Contributor

@rrsettgast
Copy link
Member

rrsettgast commented Jul 31, 2024

Hello @timokoch,
Sorry about the trouble. I was looking at the install on my local Mac, for which I use the unaltered /host-configs/apple/macOS_arm.cmake file and my home-brew installation. There are only a few things I notice:

  • I am on a newer apple clang version 15, but that should not matter
  • you have specified the full path to mpi executables rather than the top level bin dir
set(ENABLE_MPI ON CACHE PATH "")
set(MPI_C_COMPILER "${HOMEBREW_DIR}/bin/mpicc" CACHE PATH "")
set(MPI_CXX_COMPILER "${HOMEBREW_DIR}/bin/mpicxx" CACHE PATH "")
set(MPIEXEC "${HOMEBREW_DIR}/bin/mpirun" CACHE PATH "")

vs

set(MPI_C_COMPILER "${HOMEBREW_DIR}/Cellar/open-mpi/5.0.3_1/bin/mpicc" CACHE PATH "")
set(MPI_CXX_COMPILER "${HOMEBREW_DIR}Cellar/open-mpi/5.0.3_1/bin/mpicxx" CACHE PATH "")
set(MPI_FORTRAN_COMPILER "${HOMEBREW_DIR}Cellar/open-mpi/5.0.3_1/bin/mpifort" CACHE PATH "")
set(MPIEXEC "${HOMEBREW_DIR}Cellar/open-mpi/5.0.3_1/bin/mpirun" CACHE PATH "")

was this required for you?

  • I don't understand why you had to add the creation of ${GEOS_TPL_DIR}.
    What is the command that you are executing to configure the thirdPartyLibs build? it should be something like:
    python3 scripts/config-build.py -hc ../GEOS/host-configs/apple/macOS_arm.cmake -bt Release
    ah. The hostconfig assume a release build....that is why you needed to create${GEOS_TPL_DIR}.
  • The blas/lapack issue is strange. I have both installed from home-brew, and I ended up just using the lapack path. Is lapack installed via home-brew? I think the directions are missing that.

I have to configure a travel laptop (MacBook) from scratch this afternoon. I will confirm the steps that work for that system.

@timokoch
Copy link

timokoch commented Jul 31, 2024

  • I get the same error with the provided host config, i.e. just running python3 scripts/config-build.py -hc ../GEOS/host-configs/apple/macOS_arm.cmake -bt Release in the thirdPartyLibs repo as you suggested but then additionally I get
CONFIG_NAME = macOS_arm
in tpls.cmake GEOS_TPL_DIR=/Users/timokoch/tmp/geos/thirdPartyLibs/../../thirdPartyLibs/install-macOS_arm-release
CMake Warning at /Users/timokoch/tmp/geos/GEOS/host-configs/tpls.cmake:10 (message):
  'GEOS_TPL_DIR' does not exist.

Call Stack (most recent call first):
  /Users/timokoch/tmp/geos/GEOS/host-configs/apple/macOS_base.cmake:44 (include)
  /Users/timokoch/tmp/geos/GEOS/host-configs/apple/macOS_arm.cmake:4 (include)
  • For blas/lapack, brew install openblas installs both lapack and blas libraries into /opt/homebrew/opt/openblas/ for me. I don't have the folder /opt/homebrew/opt/lapack/

  • the apple clang 14 vs 15 might matter since apparently 14 doesn't understand -ld_classic while it seems to be recommended for 15, see @victorapm's link above. But I don't understand why/where the flag is added when using apple clang 14. I guess it could be some openmpi version incompatiblity with clang 14. However, I also don't understand why it tries to compile some fortran code if the host config explicitly disables fortran.

@timokoch
Copy link

timokoch commented Jul 31, 2024

My issue seems to be fixed in a recent open-mpi version (using brew install open-mpi --HEAD which gives 5.1.0a1). Possibly open-mpi/ompi#12664 which fixes something related from 5.0.4. Stable homebrew version is 5.0.3 though which is unfortunate and the version that seems to be incompatible with apple clang 14. I'm pretty sure there is no issue with apple clang 15 as well from what I read.

@rrsettgast
Copy link
Member

@timokoch I have openmpi 5.0.3 working on my primary laptop. I will do a vanilla install on a fresh system this afternoon and try to reproduce the errors.

@rrsettgast
Copy link
Member

Hello @berenger-eu , @timokoch
I have created a branch/PR to address the problems you are having (#3258 ). I have also invited you to join the GEOS org so you can perform reviews on the PR. Hopefully we can figure this out without too much difficulty. Thanks!

@rrsettgast
Copy link
Member

@berenger-eu what time zone are you in? Perhaps we can do a zoom call to get to a solution faster?

@berenger-eu
Copy link
Author

So I was able to configure with CMake, but it seems that getting the dependencies does not work:

$ make -j 8
[  0%] Creating directories for 'raja'
[  0%] Creating directories for 'parmetis'
[  1%] Creating directories for 'scotch'
[  3%] Creating directories for 'uncrustify'
[  3%] Creating directories for 'hdf5'
[  5%] Creating directories for 'metis'
[  7%] Creating directories for 'mathpresso'
[  7%] Performing download step (verify and extract) for 'raja'
[  7%] Creating directories for 'pugixml'
[  8%] Performing download step (verify and extract) for 'parmetis'
CMake Warning at raja-stamp/verify-raja.cmake:15 (message):
  File will not be verified since no URL_HASH specified


[  9%] Performing download step (verify and extract) for 'hdf5'
[ 10%] Performing download step (verify and extract) for 'scotch'
CMake Warning at parmetis-stamp/verify-parmetis.cmake:15 (message):
  File will not be verified since no URL_HASH specified


[ 10%] Performing download step (verify and extract) for 'uncrustify'
-- extracting...
     src='/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/RAJA-v2024.02.2.tar.gz'
     dst='/.projets_7/schnaps/GEOS/thirdPartyLibs/build-a100-release/raja/src/raja'
[ 10%] Performing download step (verify and extract) for 'metis'
-- extracting... [tar xfz]
[ 11%] Performing download step (verify and extract) for 'pugixml'
CMake Warning at hdf5-stamp/verify-hdf5.cmake:15 (message):
  File will not be verified since no URL_HASH specified


[ 11%] Performing download step (verify and extract) for 'mathpresso'
CMake Warning at scotch-stamp/verify-scotch.cmake:15 (message):
  File will not be verified since no URL_HASH specified

-- extracting...
     src='/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/parmetis-4.0.3-IDXTYPEWIDTH_64.tar.gz'
     dst='/.projets_7/schnaps/GEOS/thirdPartyLibs/build-a100-release/parmetis/src/parmetis'

CMake Warning at uncrustify-stamp/verify-uncrustify.cmake:15 (message):
  File will not be verified since no URL_HASH specified


CMake Warning at metis-stamp/verify-metis.cmake:15 (message):
  File will not be verified since no URL_HASH specified


-- extracting... [tar xfz]
CMake Warning at pugixml-stamp/verify-pugixml.cmake:15 (message):
  File will not be verified since no URL_HASH specified


CMake Warning at mathpresso-stamp/verify-mathpresso.cmake:15 (message):
  File will not be verified since no URL_HASH specified


-- extracting...
     src='/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/hdf5-1.12.1.tar.gz'
     dst='/.projets_7/schnaps/GEOS/thirdPartyLibs/build-a100-release/hdf5/src/hdf5'
-- extracting...
     src='/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/scotch-v7.0.3.tar.gz'
     dst='/.projets_7/schnaps/GEOS/thirdPartyLibs/build-a100-release/scotch/src/scotch'
-- extracting...
     src='/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/uncrustify-401a409.zip'
     dst='/.projets_7/schnaps/GEOS/thirdPartyLibs/build-a100-release/uncrustify/src/uncrustify'
-- extracting... [tar xfz]
-- extracting...
     src='/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/parmetis-4.0.3-IDXTYPEWIDTH_64.tar.gz'
     dst='/.projets_7/schnaps/GEOS/thirdPartyLibs/build-a100-release/metis/src/metis'
-- extracting... [tar xfz]
-- extracting... [tar xfz]
-- extracting...
     src='/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/pugixml-1.13.tar.gz'
     dst='/.projets_7/schnaps/GEOS/thirdPartyLibs/build-a100-release/pugixml/src/pugixml'
-- extracting... [tar xfz]
-- extracting...
     src='/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/mathpresso-2015-12-15.tar.gz'
     dst='/.projets_7/schnaps/GEOS/thirdPartyLibs/build-a100-release/mathpresso/src/mathpresso'
-- extracting... [tar xfz]
-- extracting... [tar xfz]
CMake Error: Problem with archive_read_open_file(): Unrecognized archive format
CMake Error: Problem extracting tar: /.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/parmetis-4.0.3-IDXTYPEWIDTH_64.tar.gz
CMake Error: Problem with archive_read_open_file(): Unrecognized archive format
CMake Error: Problem extracting tar: /.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/parmetis-4.0.3-IDXTYPEWIDTH_64.tar.gz
-- extracting... [error clean up]
-- extracting... [error clean up]
CMake Error: Problem with archive_read_open_file(): Unrecognized archive format
CMake Error: Problem extracting tar: /.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/RAJA-v2024.02.2.tar.gz
-- extracting... [error clean up]
CMake Error at metis-stamp/extract-metis.cmake:40 (message):
  Extract of
  '/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/parmetis-4.0.3-IDXTYPEWIDTH_64.tar.gz'
  failed


CMake Error at parmetis-stamp/extract-parmetis.cmake:40 (message):
  Extract of
  '/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/parmetis-4.0.3-IDXTYPEWIDTH_64.tar.gz'
  failed


CMake Error: Problem with archive_read_open_file(): Unrecognized archive format
CMake Error: Problem extracting tar: /.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/hdf5-1.12.1.tar.gz
-- extracting... [error clean up]
make[2]: *** [parmetis/src/parmetis-stamp/parmetis-download] Erreur 1
make[2]: *** [metis/src/metis-stamp/metis-download] Erreur 1
CMake Error at raja-stamp/extract-raja.cmake:40 (message):
  Extract of
  '/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/RAJA-v2024.02.2.tar.gz'
  failed


make[1]: *** [CMakeFiles/parmetis.dir/all] Erreur 2
make[1]: *** Attente des tâches non terminées....
make[1]: *** [CMakeFiles/metis.dir/all] Erreur 2
make[2]: *** [raja/src/raja-stamp/raja-download] Erreur 1
make[1]: *** [CMakeFiles/raja.dir/all] Erreur 2
CMake Error at hdf5-stamp/extract-hdf5.cmake:40 (message):
  Extract of
  '/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/hdf5-1.12.1.tar.gz'
  failed


make[2]: *** [hdf5/src/hdf5-stamp/hdf5-download] Erreur 1
make[1]: *** [CMakeFiles/hdf5.dir/all] Erreur 2
CMake Error: Problem with archive_read_open_file(): Unrecognized archive format
CMake Error: Problem extracting tar: /.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/uncrustify-401a409.zip
-- extracting... [error clean up]
CMake Error: Problem with archive_read_open_file(): Unrecognized archive format
CMake Error: Problem extracting tar: /.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/scotch-v7.0.3.tar.gz
-- extracting... [error clean up]
CMake Error at uncrustify-stamp/extract-uncrustify.cmake:40 (message):
  Extract of
  '/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/uncrustify-401a409.zip'
  failed


CMake Error: Problem with archive_read_open_file(): Unrecognized archive format
CMake Error: Problem extracting tar: /.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/pugixml-1.13.tar.gz
make[2]: *** [uncrustify/src/uncrustify-stamp/uncrustify-download] Erreur 1
CMake Error at scotch-stamp/extract-scotch.cmake:40 (message):
  Extract of
  '/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/scotch-v7.0.3.tar.gz'
  failed

-- extracting... [error clean up]

make[1]: *** [CMakeFiles/uncrustify.dir/all] Erreur 2
make[2]: *** [scotch/src/scotch-stamp/scotch-download] Erreur 1
make[1]: *** [CMakeFiles/scotch.dir/all] Erreur 2
CMake Error at pugixml-stamp/extract-pugixml.cmake:40 (message):
  Extract of
  '/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/pugixml-1.13.tar.gz'
  failed


CMake Error: Problem with archive_read_open_file(): Unrecognized archive format
CMake Error: Problem extracting tar: /.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/mathpresso-2015-12-15.tar.gz
make[2]: *** [pugixml/src/pugixml-stamp/pugixml-download] Erreur 1
-- extracting... [error clean up]
make[1]: *** [CMakeFiles/pugixml.dir/all] Erreur 2
CMake Error at mathpresso-stamp/extract-mathpresso.cmake:40 (message):
  Extract of
  '/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/mathpresso-2015-12-15.tar.gz'
  failed


make[2]: *** [mathpresso/src/mathpresso-stamp/mathpresso-download] Erreur 1
make[1]: *** [CMakeFiles/mathpresso.dir/all] Erreur 2
make: *** [all] Erreur 2

The files seems to exist:

$ ls /.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/RAJA-v2024.02.2.tar.gz
/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/RAJA-v2024.02.2.tar.gz
sirocco25:build-a100-release$ ls /.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/mathpresso-2015-12-15.tar.gz
/.projets_7/schnaps/GEOS/thirdPartyLibs/tplMirror/mathpresso-2015-12-15.tar.gz

@victorapm
Copy link
Contributor

@berenger-eu Could you run the following and try again? Note you need git-lfs in your system.

cd ${HOME}/.projets_7/schnaps/GEOS/thirdPartyLibs
git lfs install
git pull
git submodule init
git submodule update

@berenger-eu
Copy link
Author

Right, lfs seems not to be present.

$ git lfs install
git: 'lfs' is not a git command. See 'git --help'.

Did you mean this?
	log

@timokoch
Copy link

timokoch commented Aug 5, 2024

@berenger-eu You actually have to install git-lfs (https://git-lfs.com/) which is a separate plugin to make this command work.

@berenger-eu
Copy link
Author

Almost work, git lfs now works, but there are other issues.

$ git pull
remote: Enumerating objects: 44, done.
remote: Counting objects: 100% (44/44), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 44 (delta 26), reused 39 (delta 26), pack-reused 0
Unpacking objects: 100% (44/44), done.
From https://github.com/GEOS-DEV/thirdPartyLibs
   0fd15c3..696a3ea  master     -> origin/master
 * [new branch]      feature/bubusch/test-omp -> origin/feature/bubusch/test-omp
 + b5432be...8db5145 feature/han12/docker_spack -> origin/feature/han12/docker_spack  (forced update)
First, rewinding head to replay your work on top of it...
Downloading tplMirror/hypre-v2.31.0-12-g06da35b1a.tar.gz (4.4 MB)
Error downloading object: tplMirror/hypre-v2.31.0-12-g06da35b1a.tar.gz (121ea0e): Smudge error: Error downloading tplMirror/hypre-v2.31.0-12-g06da35b1a.tar.gz (121ea0eebb170fc524de45979b92316627630e096ee878a6ab1b987849dd1d52): LFS: Get "https://github-cloud.githubusercontent.com/alambic/media/176071333/12/1e/121ea0eebb170fc524de45979b92316627630e096ee878a6ab1b987849dd1d52?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA5BA2674WPWWEFGQ5%2F20240805%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240805T100902Z&X-Amz-Expires=3600&X-Amz-Signature=7251469d06e8ed6194365a813f5603e704e99361bc9f5da25d319c591c0f11f8&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=132315668&token=1": Forbidden

Errors logged to '/.projets_7/schnaps/GEOS/thirdPartyLibs/.git/lfs/logs/20240805T120902.510837443.log'.
Use `git lfs logs last` to view the log.
error: external filter git-lfs smudge -- %f failed 2
error: external filter git-lfs smudge -- %f failed
fatal: tplMirror/hypre-v2.31.0-12-g06da35b1a.tar.gz: smudge filter lfs failed
could not detach HEAD

But for some dependencies it worked:

sirocco21:thirdPartyLibs$ git submodule init
sirocco21:thirdPartyLibs$ git submodule update
sirocco21:thirdPartyLibs$ cd build-a100-release/
sirocco21:build-a100-release$ make -j 3
-- BLT Version: 0.6.2
-- CMake Version: 3.27.0
-- CMake Build Type: Release
-- CMake Executable: /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/bin/cmake
-- Setting CMAKE_CXX_EXTENSIONS to OFF
-- Standard C++17 selected
-- Standard C++17 selected for CUDA
-- BLT MPI support is ON
-- BLT OpenMP support is ON
-- BLT CUDA support is ON
-- BLT HIP support is OFF
-- Creating BLT MPI targets...
-- FindMPI Enabled  (ENABLE_FIND_MPI == ON)
-- BLT MPI Compile Flags:  $<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:-pthread>;$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=-pthread>
-- BLT MPI Include Paths:  /cm/shared/modules/generic/mpi/openmpi/4.0.1/include;/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib
-- BLT MPI Libraries:      /cm/shared/modules/generic/mpi/openmpi/4.0.1/lib/libmpi.so;/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib/libmpi_usempif08.so;/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib/libmpi_usempi_ignore_tkr.so;/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib/libmpi_mpifh.so
-- BLT MPI Link Flags:     SHELL:-Wl,-rpath -Wl,/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib -Wl,--enable-new-dtags -pthread
-- MPI Executable:       /usr/bin/srun
-- MPI Num Proc Flag:    -n
-- MPI Command Append:   
-- Using MPI Fortran header: mpif.h
-- Creating BLT OpenMP targets...
-- BLT OpenMP Compile Flags: $<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:-fopenmp>;$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=-fopenmp>
-- BLT OpenMP Link Flags:    -fopenmp
-- Creating BLT CUDA targets...
CMake Warning (dev) at cmake/blt/cmake/thirdparty/BLTSetupCUDA.cmake:101 (find_package):
  Policy CMP0146 is not set: The FindCUDA module is removed.  Run "cmake
  --help-policy CMP0146" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

Call Stack (most recent call first):
  cmake/blt/cmake/BLTSetupTargets.cmake:97 (include)
  cmake/blt/cmake/SetupThirdParty.cmake:6 (include)
  cmake/blt/SetupBLT.cmake:129 (include)
  CMakeLists.txt:38 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- CUDA Version:                   12.3
-- CUDA Toolkit Root Dir:          /usr/local/cuda-12.3
-- CUDA Compiler:                  /usr/local/cuda-12.3/bin/nvcc
-- CUDA Host Compiler:             g++
-- CUDA Include Path:              /usr/local/cuda-12.3/include
-- CUDA Libraries:                 /usr/local/cuda-12.3/lib64/libcudart_static.a;Threads::Threads;dl;/usr/lib64/librt.so
-- CUDA Compile Flags:             -restrict -arch sm_75 --expt-relaxed-constexpr --expt-extended-lambda -Werror cross-execution-space-call,reorder,deprecated-declarations
-- CUDA Link Flags:                -L/usr/local/cuda-12.3/lib64
-- BLT CUDA Separable Compilation: OFF
-- CUDA Separable Compilation:     
-- CUDA Link with NVCC:            
-- CUDA Implicit Link Libraries:   stdc++;m;gcc_s;gcc;c;gcc_s;gcc
-- CUDA Implicit Link Directories: /usr/local/cuda-12.3/targets/x86_64-linux/lib/stubs;/usr/local/cuda-12.3/targets/x86_64-linux/lib;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib/gcc/x86_64-pc-linux-gnu/11.2.0;/lib64;/usr/lib64;/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/lib/intel64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl/lib/intel64;/usr/local/cuda-12.3/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib
-- Git Support is ON
-- Git Executable: /usr/bin/git
-- Git Version: 1.8.3.1
-- Sphinx support is ON
-- Failed to locate Sphinx executable (missing: SPHINX_EXECUTABLE) 
-- Valgrind support is ON
-- AStyle support is ON
-- Failed to locate AStyle executable (missing: ASTYLE_EXECUTABLE) 
-- ClangFormat support is ON
-- Uncrustify support is OFF
-- Yapf support is ON
-- Failed to locate Yapf executable (missing: YAPF_EXECUTABLE) 
-- CMakeFormat support is ON
-- Failed to locate CMakeFormat executable (missing: CMAKEFORMAT_EXECUTABLE) 
-- Cppcheck support is ON
-- Failed to locate Cppcheck executable (missing: CPPCHECK_EXECUTABLE) 
-- ClangQuery support is ON
-- Failed to locate ClangQuery executable (missing: CLANGQUERY_EXECUTABLE) 
-- ClangTidy support is ON
-- Failed to locate ClangTidy executable (missing: CLANGTIDY_EXECUTABLE) 
-- ClangApplyReplacements support is ON
-- Failed to locate ClangApplyReplacements executable (missing: CLANGAPPLYREPLACEMENTS_EXECUTABLE) 
-- C Compiler family is GNU
-- Fortran Compiler family is GNU
-- Adding optional BLT definitions and compiler flags
-- Enabling all compiler warnings on all targets.
-- Fortran support disabled.
-- CMAKE_C_FLAGS flags are:   -Wall -Wextra  
-- CMAKE_CXX_FLAGS flags are:   -Wall -Wextra     
-- CMAKE_EXE_LINKER_FLAGS flags are:  
-- CMake's C implicit link directories: /cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib/gcc/x86_64-pc-linux-gnu/11.2.0;/lib64;/usr/lib64;/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/lib/intel64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl/lib/intel64;/usr/local/cuda-12.3/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib
-- CMake's CXX implicit link directories: /cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib/gcc/x86_64-pc-linux-gnu/11.2.0;/lib64;/usr/lib64;/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/lib/intel64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl/lib/intel64;/usr/local/cuda-12.3/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib
-- CMake's CUDA implicit link directories: /usr/local/cuda-12.3/targets/x86_64-linux/lib/stubs;/usr/local/cuda-12.3/targets/x86_64-linux/lib;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib/gcc/x86_64-pc-linux-gnu/11.2.0;/lib64;/usr/lib64;/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/lib/intel64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl/lib/intel64;/usr/local/cuda-12.3/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib
-- CMake's C implicit link libraries: gcc;gcc_s;c;gcc;gcc_s
-- CMake's CXX implicit link libraries: stdc++;m;gcc_s;gcc;c;gcc_s;gcc
-- CMake's CUDA implicit link libraries: stdc++;m;gcc_s;gcc;c;gcc_s;gcc
-- Google Test Support is ON
-- Google Mock Support is OFF
Running with NUM_PROC = 64
-- Build command = make;-j;64
-- MKL found
MKL_INCLUDE_DIRS=/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//include
MKL_LIBRARIES=/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_intel_lp64.so;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_gnu_thread.so;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_core.so
-- BLAS_LIBRARIES = /cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_intel_lp64.so;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_gnu_thread.so;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_core.so
-- BLAS_LINK_LINE = -Wl,-rpath,/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl/lib/intel64 /cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_intel_lp64.so /cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_gnu_thread.so /cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_core.so
-- LAPACK_LIBRARIES = /cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_intel_lp64.so;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_gnu_thread.so;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_core.so
-- LAPACK_LINK_LINE = -Wl,-rpath,/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl/lib/intel64 /cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_intel_lp64.so /cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_gnu_thread.so /cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_core.so
-- Building uncrustify found at /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/uncrustify-401a409.zip
CMake Warning (dev) at /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
  CMakeLists.txt:134 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Building HDF5 found at /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/hdf5-1.12.1.tar.gz
CMake Warning (dev) at /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
  CMakeLists.txt:203 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Building Conduit found at /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/conduit-0.9.2.tar.gz
CMake Warning (dev) at /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
  CMakeLists.txt:247 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Building SILO found at /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/silo-4.11-bsd.tgz
CMake Warning (dev) at /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
  CMakeLists.txt:316 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Building RAJA found at /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/RAJA-v2024.02.2.tar.gz
CMake Warning (dev) at /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
  CMakeLists.txt:340 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Building CHAI found at /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/chai-2024.02.2.tar.gz
CMake Warning (dev) at /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
  CMakeLists.txt:376 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Building MATHPRESSO found at /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/mathpresso-2015-12-15.tar.gz
CMake Warning (dev) at /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
  CMakeLists.txt:503 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Building PUGIXML found at /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/pugixml-1.13.tar.gz
CMake Warning (dev) at /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
  CMakeLists.txt:541 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Building PARMETIS found at /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/parmetis-4.0.3-IDXTYPEWIDTH_64.tar.gz
CMake Warning (dev) at /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
  CMakeLists.txt:668 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Building METIS found at /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/parmetis-4.0.3-IDXTYPEWIDTH_64.tar.gz
CMake Warning (dev) at /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
  CMakeLists.txt:693 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Building SUPERLU found at /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/superlu_dist-0f6efc3.tar.gz
CMake Warning (dev) at /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
  CMakeLists.txt:727 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Building SUITESPARSE found at /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/SuiteSparse-5.10.1.tar.gz
CMake Warning (dev) at /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
  CMakeLists.txt:932 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Building SCOTCH found at /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/scotch-v7.0.3.tar.gz
CMake Warning (dev) at /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
  CMakeLists.txt:998 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Building VTK found at /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/VTK-9.2.6.tar.gz
CMake Warning (dev) at /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
  CMakeLists.txt:1132 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Building FMT found at /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/fmt-11.0.1.tar.gz
CMake Warning (dev) at /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
  CMakeLists.txt:1177 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Building = uncrustify;hdf5;conduit;silo;raja;chai;mathpresso;pugixml;parmetis;metis;superlu_dist;suitesparse;scotch;vtk;fmt
-- Configuring done (9.8s)
-- Generating done (1.8s)
-- Build files have been written to: /projets/schnaps/GEOS/thirdPartyLibs/build-a100-release
[  1%] Creating directories for 'uncrustify'
[  2%] Creating directories for 'hdf5'
[  2%] Creating directories for 'raja'
[  3%] Performing download step (verify and extract) for 'uncrustify'
[  3%] Performing download step (verify and extract) for 'hdf5'
[  4%] Performing download step (verify and extract) for 'raja'
CMake Warning at uncrustify-stamp/verify-uncrustify.cmake:15 (message):
  File will not be verified since no URL_HASH specified


CMake Warning at hdf5-stamp/verify-hdf5.cmake:15 (message):
  File will not be verified since no URL_HASH specified


CMake Warning at raja-stamp/verify-raja.cmake:15 (message):
  File will not be verified since no URL_HASH specified


-- extracting...
     src='/projets/schnaps/GEOS/thirdPartyLibs/tplMirror/uncrustify-401a409.zip'
     dst='/projets/schnaps/GEOS/thirdPartyLibs/build-a100-release/uncrustify/src/uncrustify'
-- extracting...
     src='/projets/schnaps/GEOS/thirdPartyLibs/tplMirror/hdf5-1.12.1.tar.gz'
     dst='/projets/schnaps/GEOS/thirdPartyLibs/build-a100-release/hdf5/src/hdf5'
-- extracting... [tar xfz]
-- extracting... [tar xfz]
-- extracting...
     src='/projets/schnaps/GEOS/thirdPartyLibs/tplMirror/RAJA-v2024.02.2.tar.gz'
     dst='/projets/schnaps/GEOS/thirdPartyLibs/build-a100-release/raja/src/raja'
-- extracting... [tar xfz]
CMake Error: Problem with archive_read_open_file(): Unrecognized archive format
CMake Error: Problem extracting tar: /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/hdf5-1.12.1.tar.gz
-- extracting... [error clean up]
CMake Error: Problem with archive_read_open_file(): Unrecognized archive format
CMake Error: Problem extracting tar: /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/RAJA-v2024.02.2.tar.gz
-- extracting... [error clean up]
CMake Error at hdf5-stamp/extract-hdf5.cmake:40 (message):
  Extract of
  '/projets/schnaps/GEOS/thirdPartyLibs/tplMirror/hdf5-1.12.1.tar.gz' failed


make[2]: *** [hdf5/src/hdf5-stamp/hdf5-download] Erreur 1
make[1]: *** [CMakeFiles/hdf5.dir/all] Erreur 2
make[1]: *** Attente des tâches non terminées....
CMake Error at raja-stamp/extract-raja.cmake:40 (message):
  Extract of
  '/projets/schnaps/GEOS/thirdPartyLibs/tplMirror/RAJA-v2024.02.2.tar.gz'
  failed


make[2]: *** [raja/src/raja-stamp/raja-download] Erreur 1
make[1]: *** [CMakeFiles/raja.dir/all] Erreur 2
CMake Error: Problem with archive_read_open_file(): Unrecognized archive format
CMake Error: Problem extracting tar: /projets/schnaps/GEOS/thirdPartyLibs/tplMirror/uncrustify-401a409.zip
-- extracting... [error clean up]
CMake Error at uncrustify-stamp/extract-uncrustify.cmake:40 (message):
  Extract of
  '/projets/schnaps/GEOS/thirdPartyLibs/tplMirror/uncrustify-401a409.zip'
  failed


make[2]: *** [uncrustify/src/uncrustify-stamp/uncrustify-download] Erreur 1
make[1]: *** [CMakeFiles/uncrustify.dir/all] Erreur 2

@victorapm
Copy link
Contributor

@berenger-eu can you retry the download step?

git lfs fetch --all
git lfs checkout

If it doesn't work, can you attach the error log? git lfs logs last

@berenger-eu
Copy link
Author

Yes it seems the archives are incomplete:

$ ls -al
total 13144
drwxr-xr-x  2 bramas camus     4096  5 août  12:08 .
drwxr-xr-x 11 bramas camus     4096  5 août  12:08 ..
-rw-r--r--  1 bramas camus      132 31 juil. 09:12 adiak-0.4.0.tar.gz
-rw-r--r--  1 bramas camus      131 31 juil. 09:12 asmjit-2016-07-20.tar.gz
-rw-r--r--  1 bramas camus      132 31 juil. 09:12 Caliper-2.11.0.tar.gz
-rw-r--r--  1 bramas camus      133 31 juil. 09:12 chai-2024.02.2.tar.gz
-rw-r--r--  1 bramas camus      133 31 juil. 09:12 conduit-0.9.2.tar.gz
-rw-r--r--  1 bramas camus      132 31 juil. 09:12 doxygen-1.8.20.tar.gz
-rw-r--r--  1 bramas camus      131 31 juil. 09:12 fmt-11.0.1.tar.gz
-rw-r--r--  1 bramas camus      133 31 juil. 09:12 hdf5-1.12.1.tar.gz
-rw-r--r--  1 bramas camus      130 31 juil. 09:12 mathpresso-2015-12-15.tar.gz
-rw-r--r--  1 bramas camus      132 31 juil. 09:12 parmetis-4.0.3-IDXTYPEWIDTH_64.tar.gz
-rw-r--r--  1 bramas camus      133 31 juil. 09:12 petsc-3.19.4.tar.gz
-rw-r--r--  1 bramas camus      131 31 juil. 09:12 pugixml-1.13.tar.gz
-rw-r--r--  1 bramas camus      133 31 juil. 09:12 RAJA-v2024.02.2.tar.gz
-rw-r--r--  1 bramas camus      132 31 juil. 09:12 scotch-v7.0.3.tar.gz
-rw-r--r--  1 bramas camus 13298515 31 juil. 09:12 silo-4.11-bsd.tgz
-rw-r--r--  1 bramas camus     1868 31 juil. 09:12 silo-4.11.patch
-rw-r--r--  1 bramas camus      133 31 juil. 09:12 SuiteSparse-5.10.1.tar.gz
-rw-r--r--  1 bramas camus      132 31 juil. 09:12 superlu_dist-0f6efc3.tar.gz
-rw-r--r--  1 bramas camus      132 31 juil. 09:12 superlu_dist-9.0.0.tar.gz
-rw-r--r--  1 bramas camus      134 31 juil. 09:12 trilinos-release-15-1-1.tar.gz
-rw-r--r--  1 bramas camus      464 31 juil. 09:12 umpire_fcompare-debug-second.patch
-rw-r--r--  1 bramas camus      132 31 juil. 09:12 uncrustify-401a409.zip
-rw-r--r--  1 bramas camus      133 31 juil. 09:12 VTK-9.2.6.tar.gz
-rw-r--r--  1 bramas camus      630 31 juil. 09:12 vtkXMLReader-fpe.patch

git lfs seems to freeze.

$ git lfs fetch --all
fetch: 135 objects found, done.                                                                                                                                                                             
fetch: Fetching all references...
Downloading LFS objects:   0% (0/135), 0 B | 0 B/s

Where are those files hosted ? It could be that it is forbidden on the supercomputer I am using.
Maybe there are direct links somewhere ?

@victorapm
Copy link
Contributor

They are hosted on github cloud on dedicated LFS servers. You can find direct links to each package here: https://github.com/GEOS-DEV/thirdPartyLibs/blob/master/tplMirror

@rrsettgast
Copy link
Member

rrsettgast commented Aug 5, 2024

Hello @berenger-eu.
There is ample storage and bandwidth allocations remaining on our GitHub LFS account so that isn't the problem. I have seen this issue before with older versions of git/git-lfs. Can you try the following things and report back the results?:

git --version
git-lfs --version
git lfs pull

The use of "git lfs pull" is documented, but perhaps more emphasis should be placed on it:
https://geosx-geosx.readthedocs-hosted.com/en/latest/docs/sphinx/QuickStart.html#download

Additional Notes:

#. git-lfs may not function properly (or may be very slow) if your version of git and git-lfs are not current. If you are using an older version, you may need to add git lfs pull after git pull in the above procedures.

@rrsettgast
Copy link
Member

@berenger-eu Also, just for informational purposes, what institutional system are you installing on?

@berenger-eu
Copy link
Author

I am running on a small supercomputer at inria (https://www.plafrim.fr).
I downloaded all the files in tplMirror on my laptop and copied them on the cluster.
I will let you know if that fails again (currently it is compiling fine since several minutes...)

@berenger-eu
Copy link
Author

Ok it seems thirdPartyLibs compiled correctly.
However, now I have issue with GEOS:

$ python scripts/config-build.py -hc ./host-configs/plafrim/a100.cmake -bt Release -D GEOS_TPL_DIR=/projets/schnaps/GEOS/thirdPartyLibs/
[config-build.py]:[INFO]: Passing the following unknown arguments directly to cmake: ['-D', 'GEOS_TPL_DIR=/projets/schnaps/GEOS/thirdPartyLibs/']
[config-build.py]:[INFO]: Using host config file: '/.projets_7/schnaps/GEOS/GEOS/host-configs/plafrim/a100.cmake'.
[config-build.py]:[INFO]: Build path is: build-a100-release
[config-build.py]:[INFO]: Creating build directory '/.projets_7/schnaps/GEOS/GEOS/build-a100-release'...
[config-build.py]:[INFO]: Extracting cmake entry from host config file /.projets_7/schnaps/GEOS/GEOS/host-configs/plafrim/a100.cmake
[config-build.py]:[INFO]: Could not find a cmake entry in host config file. Using ${PATH}.
[config-build.py]:[WARNING]: Additional argument 'GEOS_TPL_DIR=/projets/schnaps/GEOS/thirdPartyLibs/' does not start with '-D'. Keeping it nevertheless.
[config-build.py]:[INFO]: Changing to build directory '/.projets_7/schnaps/GEOS/GEOS/build-a100-release'
[config-build.py]:[INFO]: Executing cmake line: 'cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/.projets_7/schnaps/GEOS/GEOS/install-a100-release -D GEOS_TPL_DIR=/projets/schnaps/GEOS/thirdPartyLibs/ -C/.projets_7/schnaps/GEOS/GEOS/host-configs/plafrim/a100.cmake /.projets_7/schnaps/GEOS/GEOS/src'
loading initial cache file /.projets_7/schnaps/GEOS/GEOS/host-configs/plafrim/a100.cmake
CMake Deprecation Warning at CMakeLists.txt:6 (cmake_policy):
  The OLD behavior for policy CMP0104 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /cm/shared/modules/amd/rome/compiler/gcc/11.2.0/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /cm/shared/modules/amd/rome/compiler/gcc/11.2.0/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- BLT Version: 0.6.2
-- CMake Version: 3.27.0
-- CMake Build Type: Release
-- CMake Executable: /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/bin/cmake
-- Setting CMAKE_CXX_EXTENSIONS to OFF
-- Standard C++17 selected
-- Standard C++17 selected for CUDA
-- BLT MPI support is ON
-- BLT OpenMP support is ON
-- BLT CUDA support is ON
-- BLT HIP support is OFF
-- Creating BLT MPI targets...
-- FindMPI Enabled  (ENABLE_FIND_MPI == ON)
-- Found MPI_C: /cm/shared/modules/generic/mpi/openmpi/4.0.1/lib/libmpi.so (found version "3.1") 
-- Found MPI_CXX: /cm/shared/modules/generic/mpi/openmpi/4.0.1/lib/libmpi.so (found version "3.1") 
-- Found MPI: TRUE (found version "3.1")  
-- BLT MPI Compile Flags:  $<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:-pthread>;$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=-pthread>
-- BLT MPI Include Paths:  /cm/shared/modules/generic/mpi/openmpi/4.0.1/include
-- BLT MPI Libraries:      /cm/shared/modules/generic/mpi/openmpi/4.0.1/lib/libmpi.so
-- BLT MPI Link Flags:     SHELL:-Wl,-rpath -Wl,/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib -Wl,--enable-new-dtags -pthread
-- MPI Executable:       /usr/bin/srun
-- MPI Num Proc Flag:    -n
-- MPI Command Append:   
-- Creating BLT OpenMP targets...
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- BLT OpenMP Compile Flags: $<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:-fopenmp>;$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=-fopenmp>
-- BLT OpenMP Link Flags:    -fopenmp
-- Creating BLT CUDA targets...
-- The CUDA compiler identification is NVIDIA 12.3.107
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/local/cuda-12.3/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
CMake Warning (dev) at cmake/blt/cmake/thirdparty/BLTSetupCUDA.cmake:101 (find_package):
  Policy CMP0146 is not set: The FindCUDA module is removed.  Run "cmake
  --help-policy CMP0146" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

Call Stack (most recent call first):
  cmake/blt/cmake/BLTSetupTargets.cmake:97 (include)
  cmake/blt/cmake/SetupThirdParty.cmake:6 (include)
  cmake/blt/SetupBLT.cmake:129 (include)
  CMakeLists.txt:32 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found CUDA: /usr/local/cuda-12.3 (found version "12.3") 
-- CUDA Version:                   12.3
-- CUDA Toolkit Root Dir:          /usr/local/cuda-12.3
-- CUDA Compiler:                  /usr/local/cuda-12.3/bin/nvcc
-- CUDA Host Compiler:             g++
-- CUDA Include Path:              /usr/local/cuda-12.3/include
-- CUDA Libraries:                 /usr/local/cuda-12.3/lib64/libcudart_static.a;Threads::Threads;dl;/usr/lib64/librt.so
-- CUDA Compile Flags:             -restrict -arch sm_75 --expt-relaxed-constexpr --expt-extended-lambda -Werror cross-execution-space-call,reorder,deprecated-declarations
-- CUDA Link Flags:                -L/usr/local/cuda-12.3/lib64
-- BLT CUDA Separable Compilation: OFF
-- CUDA Separable Compilation:     
-- CUDA Link with NVCC:            
-- CUDA Implicit Link Libraries:   stdc++;m;gcc_s;gcc;c;gcc_s;gcc
-- CUDA Implicit Link Directories: /usr/local/cuda-12.3/targets/x86_64-linux/lib/stubs;/usr/local/cuda-12.3/targets/x86_64-linux/lib;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib/gcc/x86_64-pc-linux-gnu/11.2.0;/lib64;/usr/lib64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/lib/intel64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl/lib/intel64;/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib;/usr/local/cuda-12.3/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib
-- Found Git: /usr/bin/git (found version "1.8.3.1") 
-- Git Support is ON
-- Git Executable: /usr/bin/git
-- Git Version: 1.8.3.1
-- Sphinx support is ON
-- Failed to locate Sphinx executable (missing: SPHINX_EXECUTABLE) 
-- Valgrind support is ON
-- Found Valgrind: /usr/bin/valgrind  
-- AStyle support is ON
-- Failed to locate AStyle executable (missing: ASTYLE_EXECUTABLE) 
-- ClangFormat support is ON
-- Found ClangFormat: /usr/bin/clang-format  
-- Uncrustify support is OFF
-- Yapf support is ON
-- Failed to locate Yapf executable (missing: YAPF_EXECUTABLE) 
-- CMakeFormat support is ON
-- Failed to locate CMakeFormat executable (missing: CMAKEFORMAT_EXECUTABLE) 
-- Cppcheck support is ON
-- Failed to locate Cppcheck executable (missing: CPPCHECK_EXECUTABLE) 
-- ClangQuery support is ON
-- Failed to locate ClangQuery executable (missing: CLANGQUERY_EXECUTABLE) 
-- ClangTidy support is ON
-- Failed to locate ClangTidy executable (missing: CLANGTIDY_EXECUTABLE) 
-- ClangApplyReplacements support is ON
-- Failed to locate ClangApplyReplacements executable (missing: CLANGAPPLYREPLACEMENTS_EXECUTABLE) 
-- C Compiler family is GNU
-- Adding optional BLT definitions and compiler flags
-- Enabling all compiler warnings on all targets.
-- Enabling treatment of warnings as errors on all targets.
-- Fortran support disabled.
-- CMAKE_C_FLAGS flags are:   -Wall -Wextra    -Werror 
-- CMAKE_CXX_FLAGS flags are:   -Wall -Wextra       -Werror 
-- CMAKE_EXE_LINKER_FLAGS flags are:  
-- CMake's C implicit link directories: /cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib/gcc/x86_64-pc-linux-gnu/11.2.0;/lib64;/usr/lib64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/lib/intel64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl/lib/intel64;/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib;/usr/local/cuda-12.3/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib
-- CMake's CXX implicit link directories: /cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib/gcc/x86_64-pc-linux-gnu/11.2.0;/lib64;/usr/lib64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/lib/intel64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl/lib/intel64;/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib;/usr/local/cuda-12.3/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib
-- CMake's CUDA implicit link directories: /usr/local/cuda-12.3/targets/x86_64-linux/lib/stubs;/usr/local/cuda-12.3/targets/x86_64-linux/lib;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib/gcc/x86_64-pc-linux-gnu/11.2.0;/lib64;/usr/lib64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/lib/intel64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl/lib/intel64;/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib;/usr/local/cuda-12.3/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib
-- CMake's C implicit link libraries: gcc;gcc_s;c;gcc;gcc_s
-- CMake's CXX implicit link libraries: stdc++;m;gcc_s;gcc;c;gcc_s;gcc
-- CMake's CUDA implicit link libraries: stdc++;m;gcc_s;gcc;c;gcc_s;gcc
-- Google Test Support is ON
-- Google Mock Support is OFF
-- Google Benchmark Support is ON
-- Failed to find LLVM FileCheck
-- git version: v0.6.2 normalized to 0.6.2
-- Version: 0.6.2
-- Looking for shm_open in rt
-- Looking for shm_open in rt - found
-- Performing Test HAVE_CXX_FLAG_WALL
-- Performing Test HAVE_CXX_FLAG_WALL - Success
-- Performing Test HAVE_CXX_FLAG_WEXTRA
-- Performing Test HAVE_CXX_FLAG_WEXTRA - Success
-- Performing Test HAVE_CXX_FLAG_WSHADOW
-- Performing Test HAVE_CXX_FLAG_WSHADOW - Success
-- Performing Test HAVE_CXX_FLAG_WFLOAT_EQUAL
-- Performing Test HAVE_CXX_FLAG_WFLOAT_EQUAL - Success
-- Performing Test HAVE_CXX_FLAG_WERROR
-- Performing Test HAVE_CXX_FLAG_WERROR - Success
-- Performing Test HAVE_CXX_FLAG_WSUGGEST_OVERRIDE
-- Performing Test HAVE_CXX_FLAG_WSUGGEST_OVERRIDE - Success
-- Performing Test HAVE_CXX_FLAG_PEDANTIC
-- Performing Test HAVE_CXX_FLAG_PEDANTIC - Success
-- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS
-- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS - Success
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32 - Failed
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING - Success
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS - Success
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED - Success
-- Performing Test HAVE_CXX_FLAG_WSTRICT_ALIASING
-- Performing Test HAVE_CXX_FLAG_WSTRICT_ALIASING - Success
-- Performing Test HAVE_CXX_FLAG_WD654
-- Performing Test HAVE_CXX_FLAG_WD654 - Failed
-- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY
-- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY - Failed
-- Performing Test HAVE_CXX_FLAG_COVERAGE
-- Performing Test HAVE_CXX_FLAG_COVERAGE - Success
-- Compiling and running to test HAVE_STD_REGEX
-- Performing Test HAVE_STD_REGEX -- success
-- Compiling and running to test HAVE_GNU_POSIX_REGEX
-- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile
-- Compiling and running to test HAVE_POSIX_REGEX
-- Performing Test HAVE_POSIX_REGEX -- success
-- Compiling and running to test HAVE_STEADY_CLOCK
-- Performing Test HAVE_STEADY_CLOCK -- success
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Compiling and running to test HAVE_PTHREAD_AFFINITY
-- Performing Test HAVE_PTHREAD_AFFINITY -- failed to compile

Processing GeosxOptions.cmake
CMAKE_HOST_SYSTEM_NAME = Linux
CMAKE_SYSTEM_NAME = Linux
CMAKE_HOST_APPLE = 
-- GEOS_LA_INTERFACE = Hypre
CMAKE_CXX_COMPILER_ID = GNU
-- Performing Test CXX_UNUSED_BUT_SET_VAR
-- Performing Test CXX_UNUSED_BUT_SET_VAR - Success
localIndex is an alias for int
globalIndex is an alias for long long int
GEOS_LOCALINDEX_TYPE_FLAG = 0
GEOS_GLOBALINDEX_TYPE_FLAG = 2
CMAKE_CXX_FLAGS =  -Wall -Wextra       -Werror  -fopenmp  -Wpedantic -pedantic-errors -Wshadow -Wfloat-equal -Wcast-align -Wcast-qual 
GEOS_LINK_PREPEND_FLAG=-Wl,--whole-archive
GEOS_LINK_POSTPEND_FLAG=-Wl,--no-whole-archive
Leaving GeosxOptions.cmake

-- MKL found
-- BLAS_LIBRARIES = /cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_intel_lp64.so;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_gnu_thread.so;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_core.so
-- LAPACK_LIBRARIES = /cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_intel_lp64.so;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_gnu_thread.so;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_core.so
-- Using Intel MKL
CMake Error at cmake/thirdparty/SetupGeosxThirdParty.cmake:118 (message):
  GEOSX requires Conduit, either :

    - Verify that you provided a valid TPL installation directory (GEOS_TPL_DIR = "/projets/schnaps/GEOS/thirdPartyLibs/"),
    - Or set CONDUIT_DIR to the Conduit installation directory (CONDUIT_DIR = "").

Call Stack (most recent call first):
  cmake/thirdparty/SetupGeosxThirdParty.cmake:210 (mandatory_tpl_doesnt_exist)
  cmake/CMakeBasics.cmake:49 (include)
  CMakeLists.txt:72 (include)


-- Configuring incomplete, errors occurred!

Maybe I forgot something, but my command is really similar to the one in the doc python scripts/config-build.py -hc host-configs/your-platform.cmake -bt Release -D GEOS_TPL_DIR=/full/path/to/thirdPartyLibs

@rrsettgast
Copy link
Member

rrsettgast commented Aug 12, 2024

Hello. There should be an install directory under the tpl directory. For instance, on my Mac, the install is at:

/Users/settgast1/Codes/geos/thirdPartyLibs/install-macOS_arm-release

@berenger-eu
Copy link
Author

Everything is installed correctly for third party:

sirocco22:GEOS$ ls thirdPartyLibs
build-a100-release  cmake  CMakeLists.txt  docker  host-configs  install-a100-release  scripts  tpl.cpp  tplMirror
sirocco22:GEOS$ ls thirdPartyLibs/build-a100-release/
asmjit-master  chai            CMakeFiles             conduit                fmt   Makefile    parmetis  scotch               suitesparse   tests
bin            CMakeCache.txt  cmake_install.cmake    CTestTestfile.cmake    hdf5  mathpresso  pugixml   scotch_makefile.inc  superlu_dist  uncrustify
blt            cmake_cmd       compile_commands.json  DartConfiguration.tcl  lib   metis       raja      silo                 Testing       vtk

It is the build of GEOS that fails.

@victorapm
Copy link
Contributor

@berenger-eu, can you try building GEOS with the following command?

python scripts/config-build.py -hc host-configs/your-platform.cmake -bt Release -DGEOS_TPL_DIR=/projets/schnaps/GEOS/thirdPartyLibs/install-a100-release

@berenger-eu
Copy link
Author

Seems not to work.

sirocco22:GEOS$ rm -r ./build-a100-release/
sirocco22:GEOS$ python scripts/config-build.py -hc host-configs/plafrim/a100.cmake -bt Release -DGEOS_TPL_DIR=/projets/schnaps/GEOS/thirdPartyLibs/install-a100-release
[config-build.py]:[INFO]: Passing the following unknown arguments directly to cmake: ['-DGEOS_TPL_DIR=/projets/schnaps/GEOS/thirdPartyLibs/install-a100-release']
[config-build.py]:[INFO]: Using host config file: '/.projets_7/schnaps/GEOS/GEOS/host-configs/plafrim/a100.cmake'.
[config-build.py]:[INFO]: Build path is: build-a100-release
[config-build.py]:[INFO]: Creating build directory '/.projets_7/schnaps/GEOS/GEOS/build-a100-release'...
[config-build.py]:[INFO]: Extracting cmake entry from host config file /.projets_7/schnaps/GEOS/GEOS/host-configs/plafrim/a100.cmake
[config-build.py]:[INFO]: Could not find a cmake entry in host config file. Using ${PATH}.
[config-build.py]:[INFO]: Changing to build directory '/.projets_7/schnaps/GEOS/GEOS/build-a100-release'
[config-build.py]:[INFO]: Executing cmake line: 'cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/.projets_7/schnaps/GEOS/GEOS/install-a100-release -DGEOS_TPL_DIR=/projets/schnaps/GEOS/thirdPartyLibs/install-a100-release -C/.projets_7/schnaps/GEOS/GEOS/host-configs/plafrim/a100.cmake /.projets_7/schnaps/GEOS/GEOS/src'
loading initial cache file /.projets_7/schnaps/GEOS/GEOS/host-configs/plafrim/a100.cmake
CMake Deprecation Warning at CMakeLists.txt:6 (cmake_policy):
  The OLD behavior for policy CMP0104 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /cm/shared/modules/amd/rome/compiler/gcc/11.2.0/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /cm/shared/modules/amd/rome/compiler/gcc/11.2.0/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- BLT Version: 0.6.2
-- CMake Version: 3.27.0
-- CMake Build Type: Release
-- CMake Executable: /cm/shared/dev/modules/generic/apps/build/cmake/3.27.0/bin/cmake
-- Setting CMAKE_CXX_EXTENSIONS to OFF
-- Standard C++17 selected
-- Standard C++17 selected for CUDA
-- BLT MPI support is ON
-- BLT OpenMP support is ON
-- BLT CUDA support is ON
-- BLT HIP support is OFF
-- Creating BLT MPI targets...
-- FindMPI Enabled  (ENABLE_FIND_MPI == ON)
-- Found MPI_C: /cm/shared/modules/generic/mpi/openmpi/4.0.1/lib/libmpi.so (found version "3.1") 
-- Found MPI_CXX: /cm/shared/modules/generic/mpi/openmpi/4.0.1/lib/libmpi.so (found version "3.1") 
-- Found MPI: TRUE (found version "3.1")  
-- BLT MPI Compile Flags:  $<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:-pthread>;$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=-pthread>
-- BLT MPI Include Paths:  /cm/shared/modules/generic/mpi/openmpi/4.0.1/include
-- BLT MPI Libraries:      /cm/shared/modules/generic/mpi/openmpi/4.0.1/lib/libmpi.so
-- BLT MPI Link Flags:     SHELL:-Wl,-rpath -Wl,/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib -Wl,--enable-new-dtags -pthread
-- MPI Executable:       /usr/bin/srun
-- MPI Num Proc Flag:    -n
-- MPI Command Append:   
-- Creating BLT OpenMP targets...
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- BLT OpenMP Compile Flags: $<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:-fopenmp>;$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=-fopenmp>
-- BLT OpenMP Link Flags:    -fopenmp
-- Creating BLT CUDA targets...
-- The CUDA compiler identification is NVIDIA 12.3.107
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/local/cuda-12.3/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
CMake Warning (dev) at cmake/blt/cmake/thirdparty/BLTSetupCUDA.cmake:101 (find_package):
  Policy CMP0146 is not set: The FindCUDA module is removed.  Run "cmake
  --help-policy CMP0146" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

Call Stack (most recent call first):
  cmake/blt/cmake/BLTSetupTargets.cmake:97 (include)
  cmake/blt/cmake/SetupThirdParty.cmake:6 (include)
  cmake/blt/SetupBLT.cmake:129 (include)
  CMakeLists.txt:32 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found CUDA: /usr/local/cuda-12.3 (found version "12.3") 
-- CUDA Version:                   12.3
-- CUDA Toolkit Root Dir:          /usr/local/cuda-12.3
-- CUDA Compiler:                  /usr/local/cuda-12.3/bin/nvcc
-- CUDA Host Compiler:             g++
-- CUDA Include Path:              /usr/local/cuda-12.3/include
-- CUDA Libraries:                 /usr/local/cuda-12.3/lib64/libcudart_static.a;Threads::Threads;dl;/usr/lib64/librt.so
-- CUDA Compile Flags:             -restrict -arch sm_75 --expt-relaxed-constexpr --expt-extended-lambda -Werror cross-execution-space-call,reorder,deprecated-declarations
-- CUDA Link Flags:                -L/usr/local/cuda-12.3/lib64
-- BLT CUDA Separable Compilation: OFF
-- CUDA Separable Compilation:     
-- CUDA Link with NVCC:            
-- CUDA Implicit Link Libraries:   stdc++;m;gcc_s;gcc;c;gcc_s;gcc
-- CUDA Implicit Link Directories: /usr/local/cuda-12.3/targets/x86_64-linux/lib/stubs;/usr/local/cuda-12.3/targets/x86_64-linux/lib;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib/gcc/x86_64-pc-linux-gnu/11.2.0;/lib64;/usr/lib64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/lib/intel64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl/lib/intel64;/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib;/usr/local/cuda-12.3/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib
-- Found Git: /usr/bin/git (found version "1.8.3.1") 
-- Git Support is ON
-- Git Executable: /usr/bin/git
-- Git Version: 1.8.3.1
-- Sphinx support is ON
-- Failed to locate Sphinx executable (missing: SPHINX_EXECUTABLE) 
-- Valgrind support is ON
-- Found Valgrind: /usr/bin/valgrind  
-- AStyle support is ON
-- Failed to locate AStyle executable (missing: ASTYLE_EXECUTABLE) 
-- ClangFormat support is ON
-- Found ClangFormat: /usr/bin/clang-format  
-- Uncrustify support is OFF
-- Yapf support is ON
-- Failed to locate Yapf executable (missing: YAPF_EXECUTABLE) 
-- CMakeFormat support is ON
-- Failed to locate CMakeFormat executable (missing: CMAKEFORMAT_EXECUTABLE) 
-- Cppcheck support is ON
-- Failed to locate Cppcheck executable (missing: CPPCHECK_EXECUTABLE) 
-- ClangQuery support is ON
-- Failed to locate ClangQuery executable (missing: CLANGQUERY_EXECUTABLE) 
-- ClangTidy support is ON
-- Failed to locate ClangTidy executable (missing: CLANGTIDY_EXECUTABLE) 
-- ClangApplyReplacements support is ON
-- Failed to locate ClangApplyReplacements executable (missing: CLANGAPPLYREPLACEMENTS_EXECUTABLE) 
-- C Compiler family is GNU
-- Adding optional BLT definitions and compiler flags
-- Enabling all compiler warnings on all targets.
-- Enabling treatment of warnings as errors on all targets.
-- Fortran support disabled.
-- CMAKE_C_FLAGS flags are:   -Wall -Wextra    -Werror 
-- CMAKE_CXX_FLAGS flags are:   -Wall -Wextra       -Werror 
-- CMAKE_EXE_LINKER_FLAGS flags are:  
-- CMake's C implicit link directories: /cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib/gcc/x86_64-pc-linux-gnu/11.2.0;/lib64;/usr/lib64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/lib/intel64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl/lib/intel64;/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib;/usr/local/cuda-12.3/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib
-- CMake's CXX implicit link directories: /cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib/gcc/x86_64-pc-linux-gnu/11.2.0;/lib64;/usr/lib64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/lib/intel64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl/lib/intel64;/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib;/usr/local/cuda-12.3/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib
-- CMake's CUDA implicit link directories: /usr/local/cuda-12.3/targets/x86_64-linux/lib/stubs;/usr/local/cuda-12.3/targets/x86_64-linux/lib;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib/gcc/x86_64-pc-linux-gnu/11.2.0;/lib64;/usr/lib64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/lib/intel64;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl/lib/intel64;/cm/shared/modules/generic/mpi/openmpi/4.0.1/lib;/usr/local/cuda-12.3/lib64;/cm/shared/modules/amd/rome/compiler/gcc/11.2.0/lib
-- CMake's C implicit link libraries: gcc;gcc_s;c;gcc;gcc_s
-- CMake's CXX implicit link libraries: stdc++;m;gcc_s;gcc;c;gcc_s;gcc
-- CMake's CUDA implicit link libraries: stdc++;m;gcc_s;gcc;c;gcc_s;gcc
-- Google Test Support is ON
-- Google Mock Support is OFF
-- Google Benchmark Support is ON
-- Failed to find LLVM FileCheck
-- git version: v0.6.2 normalized to 0.6.2
-- Version: 0.6.2
-- Looking for shm_open in rt
-- Looking for shm_open in rt - found
-- Performing Test HAVE_CXX_FLAG_WALL
-- Performing Test HAVE_CXX_FLAG_WALL - Success
-- Performing Test HAVE_CXX_FLAG_WEXTRA
-- Performing Test HAVE_CXX_FLAG_WEXTRA - Success
-- Performing Test HAVE_CXX_FLAG_WSHADOW
-- Performing Test HAVE_CXX_FLAG_WSHADOW - Success
-- Performing Test HAVE_CXX_FLAG_WFLOAT_EQUAL
-- Performing Test HAVE_CXX_FLAG_WFLOAT_EQUAL - Success
-- Performing Test HAVE_CXX_FLAG_WERROR
-- Performing Test HAVE_CXX_FLAG_WERROR - Success
-- Performing Test HAVE_CXX_FLAG_WSUGGEST_OVERRIDE
-- Performing Test HAVE_CXX_FLAG_WSUGGEST_OVERRIDE - Success
-- Performing Test HAVE_CXX_FLAG_PEDANTIC
-- Performing Test HAVE_CXX_FLAG_PEDANTIC - Success
-- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS
-- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS - Success
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32 - Failed
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING - Success
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS - Success
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED - Success
-- Performing Test HAVE_CXX_FLAG_WSTRICT_ALIASING
-- Performing Test HAVE_CXX_FLAG_WSTRICT_ALIASING - Success
-- Performing Test HAVE_CXX_FLAG_WD654
-- Performing Test HAVE_CXX_FLAG_WD654 - Failed
-- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY
-- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY - Failed
-- Performing Test HAVE_CXX_FLAG_COVERAGE
-- Performing Test HAVE_CXX_FLAG_COVERAGE - Success
-- Compiling and running to test HAVE_STD_REGEX
-- Performing Test HAVE_STD_REGEX -- success
-- Compiling and running to test HAVE_GNU_POSIX_REGEX
-- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile
-- Compiling and running to test HAVE_POSIX_REGEX
-- Performing Test HAVE_POSIX_REGEX -- success
-- Compiling and running to test HAVE_STEADY_CLOCK
-- Performing Test HAVE_STEADY_CLOCK -- success
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Compiling and running to test HAVE_PTHREAD_AFFINITY
-- Performing Test HAVE_PTHREAD_AFFINITY -- failed to compile

Processing GeosxOptions.cmake
CMAKE_HOST_SYSTEM_NAME = Linux
CMAKE_SYSTEM_NAME = Linux
CMAKE_HOST_APPLE = 
-- GEOS_LA_INTERFACE = Hypre
CMAKE_CXX_COMPILER_ID = GNU
-- Performing Test CXX_UNUSED_BUT_SET_VAR
-- Performing Test CXX_UNUSED_BUT_SET_VAR - Success
localIndex is an alias for int
globalIndex is an alias for long long int
GEOS_LOCALINDEX_TYPE_FLAG = 0
GEOS_GLOBALINDEX_TYPE_FLAG = 2
CMAKE_CXX_FLAGS =  -Wall -Wextra       -Werror  -fopenmp  -Wpedantic -pedantic-errors -Wshadow -Wfloat-equal -Wcast-align -Wcast-qual 
GEOS_LINK_PREPEND_FLAG=-Wl,--whole-archive
GEOS_LINK_POSTPEND_FLAG=-Wl,--no-whole-archive
Leaving GeosxOptions.cmake

-- MKL found
-- BLAS_LIBRARIES = /cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_intel_lp64.so;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_gnu_thread.so;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_core.so
-- LAPACK_LIBRARIES = /cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_intel_lp64.so;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_gnu_thread.so;/cm/shared/modules/amd/rome/compiler/intel/2020_update4/mkl//lib/intel64/libmkl_core.so
-- Using Intel MKL
CMake Error at cmake/thirdparty/SetupGeosxThirdParty.cmake:118 (message):
  GEOSX requires Conduit, either :

    - Verify that you provided a valid TPL installation directory (GEOS_TPL_DIR = "/projets/schnaps/GEOS/thirdPartyLibs/install-a100-release"),
    - Or set CONDUIT_DIR to the Conduit installation directory (CONDUIT_DIR = "").

Call Stack (most recent call first):
  cmake/thirdparty/SetupGeosxThirdParty.cmake:210 (mandatory_tpl_doesnt_exist)
  cmake/CMakeBasics.cmake:49 (include)
  CMakeLists.txt:72 (include)


-- Configuring incomplete, errors occurred!

@victorapm
Copy link
Contributor

Could you please verify the output of ls /projets/schnaps/GEOS/thirdPartyLibs/install-a100-release?

Also, could you please verify the lines 31-33 of GEOS/host-configs/tpls.cmake. Do they look like the following?

if(EXISTS ${GEOS_TPL_DIR}/conduit)
  set(CONDUIT_DIR ${GEOS_TPL_DIR}/conduit CACHE PATH "" FORCE)
endif()

@timokoch
Copy link

hi @berenger-eu is the file GEOS/host-configs/tpls.cmake included in your host config (include(${CMAKE_CURRENT_LIST_DIR}/tpls.cmake))? I'm asking because it isn't there is the file you posted above, but I assume it probably has to be, @victorapm? It's easily missed in the docs (https://geosx-geosx.readthedocs-hosted.com/en/latest/docs/sphinx/QuickStart.html#compilation). Could be highlighted with a sentence in the docs in case this is essential.

@victorapm
Copy link
Contributor

victorapm commented Aug 13, 2024

Good point, @timokoch, we will highlight that in the documentation. Thanks!

@berenger-eu, could you please add the include above to your host-configs/your-platform.cmake?

In addition:

  • Make sure you turn on hypre with: set(ENABLE_HYPRE ON CACHE BOOL "" FORCE )
  • Since you are compiling for A100s, you can use set(CUDA_ARCH sm_80 CACHE STRING "") instead of 75
  • If you find any problems when compiling hypre for GPUs, feel free to open a GitHub issue here

@rrsettgast
Copy link
Member

rrsettgast commented Aug 13, 2024

@victorapm I think we need a single dedicated template hostconfig rather than having folks try to template off one of ours that are typically using some sort of file hierarchy.

@victorapm
Copy link
Contributor

Agreed!

@rrsettgast
Copy link
Member

@berenger-eu Can you open a pull request with your host-config included so that we can more accurately help?

@berenger-eu
Copy link
Author

So include(${CMAKE_CURRENT_LIST_DIR}/tpls.cmake was missing. But I added it. I added a hard path to the file, otherwise third party libs was complaining the file does not exist (since it is in GEOS).
@victorapm the lines 31-33 of GEOS/host-configs/tpls.cmake are correct.

I am progressing.
I run python scripts/config-build.py -hc host-configs/plafrim/a100.cmake -bt Release -DGEOS_TPL_DIR=/projets/schnaps/GEOS/thirdPartyLibs/build-a100-release/ and now I get:

-- CONDUIT_DIR = /projets/schnaps/GEOS/thirdPartyLibs/build-a100-release/conduit
CMake Error at cmake/thirdparty/SetupGeosxThirdParty.cmake:181 (find_package):
  Could not find a package configuration file provided by "Conduit" with any
  of the following names:

    ConduitConfig.cmake
    conduit-config.cmake

  Add the installation prefix of "Conduit" to CMAKE_PREFIX_PATH or set
  "Conduit_DIR" to a directory containing one of the above files.  If
  "Conduit" provides a separate development package or SDK, be sure it has
  been installed.
Call Stack (most recent call first):
  cmake/CMakeBasics.cmake:49 (include)
  CMakeLists.txt:72 (include)


-- Configuring incomplete, errors occurred!

And:

GEOS$ ls ../thirdPartyLibs/build-a100-release/conduit/
src  tmp

@victorapm
Copy link
Contributor

@berenger-eu Could you try using install-a100-release instead of build-a100-release

@berenger-eu
Copy link
Author

@victorapm thanks, it is currently compiling.

By the way, in the quickstart, there is this line python scripts/config-build.py -hc host-configs/your-platform.cmake -bt Release -D GEOS_TPL_DIR=/full/path/to/thirdPartyLibs I feel that it could be nice to specify that the GEOS_TPL_DIR is actually the install dir (so not the top level thirdPartyLibs dir, that I was expecting because I thought it will retrieve the right subdirectory based on my hostfile, and not the build dir neither).
Also, I never did make install in the thirdPartyLibs build dir, so I guess it installed it automatically (could be nice to say it after the

cd thirdPartyLibs
python scripts/config-build.py -hc ../GEOS/host-configs/your-platform.cmake -bt Release
cd build-your-platform-release
make

commands)

@berenger-eu
Copy link
Author

The compilation did not finish:

sirocco21:build-a100-release$ make
[  0%] Generating version information
[  0%] Built target generate_version
[  0%] Built target hdf5_interface
[  0%] Built target fast_float
[  0%] Built target lvarray
[  1%] Built target events
[  3%] Built target fileIO
[  3%] Built target finiteElement
[  3%] Built target denseLinearAlgebra
[  8%] Built target mesh
[ 17%] Built target constitutive
[ 18%] Built target functions
[ 19%] Built target schema
[ 20%] Built target dataRepository
[ 20%] Built target codingUtilities
[ 21%] Built target common
[ 21%] Building CUDA object coreComponents/linearAlgebra/CMakeFiles/linearAlgebra.dir/interfaces/hypre/HypreMatrix.cpp.o
/.projets_7/schnaps/GEOS/GEOS/src/coreComponents/linearAlgebra/interfaces/hypre/HypreMatrix.cpp(1052): error: argument of type "HYPRE_BigInt *" is incompatible with parameter of type "HYPRE_Int *"
    do { auto const ierr = hypre_IJMatrixGetValuesParCSR( m_ij_mat, -1, &numEntries, &row, hypre::toHypreBigInt( colIndices ), values ); do { if( ierr != 0 ) { std::ostringstream __oss; __oss << "***** ERROR\n"; __oss << "***** LOCATION: " "/.projets_7/schnaps/GEOS/GEOS/src/coreComponents/linearAlgebra/interfaces/hypre/HypreMatrix.cpp" ":" "1052" "\n"; __oss << "***** Controlling expression (should be false): " "ierr != 0" "\n"; __oss << "***** Rank " << ::geos::logger::internal::rankString << ": " << "Error in call to " << "hypre_IJMatrixGetValuesParCSR( m_ij_mat, -1, &numEntries, &row, hypre::toHypreBigInt( colIndices ), values )" << "\n" << "Expected " << "ierr" << " " << "==" << " " << "0" << "\n" << "  " << "ierr" << " = " << ierr << "\n" << "  " << "0" << " = " << 0 << "\n" << "\n"; __oss << LvArray::system::stackTrace( true ); std::cout << __oss.str() << std::endl; LvArray::system::callErrorHandler(); } } while( false ); } while( false )
                                                                                           ^

/.projets_7/schnaps/GEOS/GEOS/src/coreComponents/linearAlgebra/interfaces/hypre/HypreMatrix.cpp(1052): error: no suitable conversion function from "const LvArray::ArraySlice<geos::real64, 1, 0, geos::localIndex>" to "HYPRE_BigInt *" exists
    do { auto const ierr = hypre_IJMatrixGetValuesParCSR( m_ij_mat, -1, &numEntries, &row, hypre::toHypreBigInt( colIndices ), values ); do { if( ierr != 0 ) { std::ostringstream __oss; __oss << "***** ERROR\n"; __oss << "***** LOCATION: " "/.projets_7/schnaps/GEOS/GEOS/src/coreComponents/linearAlgebra/interfaces/hypre/HypreMatrix.cpp" ":" "1052" "\n"; __oss << "***** Controlling expression (should be false): " "ierr != 0" "\n"; __oss << "***** Rank " << ::geos::logger::internal::rankString << ": " << "Error in call to " << "hypre_IJMatrixGetValuesParCSR( m_ij_mat, -1, &numEntries, &row, hypre::toHypreBigInt( colIndices ), values )" << "\n" << "Expected " << "ierr" << " " << "==" << " " << "0" << "\n" << "  " << "ierr" << " = " << ierr << "\n" << "  " << "0" << " = " << 0 << "\n" << "\n"; __oss << LvArray::system::stackTrace( true ); std::cout << __oss.str() << std::endl; LvArray::system::callErrorHandler(); } } while( false ); } while( false )
                                                                                                                               ^

/.projets_7/schnaps/GEOS/GEOS/src/coreComponents/linearAlgebra/interfaces/hypre/HypreMatrix.cpp(1052): error: too few arguments in function call
    do { auto const ierr = hypre_IJMatrixGetValuesParCSR( m_ij_mat, -1, &numEntries, &row, hypre::toHypreBigInt( colIndices ), values ); do { if( ierr != 0 ) { std::ostringstream __oss; __oss << "***** ERROR\n"; __oss << "***** LOCATION: " "/.projets_7/schnaps/GEOS/GEOS/src/coreComponents/linearAlgebra/interfaces/hypre/HypreMatrix.cpp" ":" "1052" "\n"; __oss << "***** Controlling expression (should be false): " "ierr != 0" "\n"; __oss << "***** Rank " << ::geos::logger::internal::rankString << ": " << "Error in call to " << "hypre_IJMatrixGetValuesParCSR( m_ij_mat, -1, &numEntries, &row, hypre::toHypreBigInt( colIndices ), values )" << "\n" << "Expected " << "ierr" << " " << "==" << " " << "0" << "\n" << "  " << "ierr" << " = " << ierr << "\n" << "  " << "0" << " = " << 0 << "\n" << "\n"; __oss << LvArray::system::stackTrace( true ); std::cout << __oss.str() << std::endl; LvArray::system::callErrorHandler(); } } while( false ); } while( false )
                                                                                                                                      ^

3 errors detected in the compilation of "/.projets_7/schnaps/GEOS/GEOS/src/coreComponents/linearAlgebra/interfaces/hypre/HypreMatrix.cpp".
make[2]: *** [coreComponents/linearAlgebra/CMakeFiles/linearAlgebra.dir/interfaces/hypre/HypreMatrix.cpp.o] Erreur 2
make[1]: *** [coreComponents/linearAlgebra/CMakeFiles/linearAlgebra.dir/all] Erreur 2
make: *** [all] Erreur 2
sirocco21:build-a100-release$ module li
Currently Loaded Modulefiles:
  1) compiler/cuda/12.3        2) compiler/gcc/11.2.0       3) mpi/openmpi/4.0.1         4) build/cmake/3.27.0        5) linalg/mkl/2020_update4

@victorapm
Copy link
Contributor

@berenger-eu, thank you for the recommendation. We will implement the changes in the documentation.

Regarding your compilation error, it seems you are using an old version of GEOS. This is how that call should look like:

GEOS_LAI_CHECK_ERROR( hypre_IJMatrixGetValuesParCSR( m_ij_mat,
-1,
&numEntries,
&row,
nullptr,
hypre::toHypreBigInt( colIndices ),
values,
0 ) );

Could you please do the following:

cd /.projets_7/schnaps/GEOS/GEOS/build-a100-release
git pull
make -j geosx

@berenger-eu
Copy link
Author

Unfortunately, it does not work. It fails to buid ElasticFirstOrderWaveEquationSEM.cpp.o

$ VERBOSE=1 make -j geosx
[... everything fine here]
[ 34%] Building CUDA object coreComponents/physicsSolvers/CMakeFiles/physicsSolvers.dir/wavePropagation/sem/elastic/firstOrderEqn/isotropic/ElasticFirstOrderWaveEquationSEM.cpp.o
cd /.projets_7/schnaps/GEOS/GEOS/build-a100-release/coreComponents/physicsSolvers && /usr/local/cuda-12.3/bin/nvcc -forward-unknown-to-host-compiler -ccbin=g++ -DCAMP_HAVE_CUDA -DDIY_NO_THREADS -DFMT_HEADER_ONLY=1 -DH5_BUILT_AS_DYNAMIC_LIB -DMPICH_SKIP_MPICXX -DMPI_NO_CPPBIND -DOMPI_SKIP_MPICXX -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_MPICC_H -D_POSIX_C_SOURCE=200809L -Dkiss_fft_scalar=double --options-file CMakeFiles/physicsSolvers.dir/includes_CUDA.rsp -restrict -arch sm_75 --expt-relaxed-constexpr --expt-extended-lambda -Werror cross-execution-space-call,reorder,deprecated-declarations -O3 -DNDEBUG -Xcompiler -DNDEBUG -Xcompiler -O3 -std=c++17 -Xcompiler=-fPIC -Xcompiler=-fopenmp -Xcompiler -pthread -Xcompiler=-pthread -MD -MT coreComponents/physicsSolvers/CMakeFiles/physicsSolvers.dir/wavePropagation/sem/elastic/firstOrderEqn/isotropic/ElasticFirstOrderWaveEquationSEM.cpp.o -MF CMakeFiles/physicsSolvers.dir/wavePropagation/sem/elastic/firstOrderEqn/isotropic/ElasticFirstOrderWaveEquationSEM.cpp.o.d -x cu -c /.projets_7/schnaps/GEOS/GEOS/src/coreComponents/physicsSolvers/wavePropagation/sem/elastic/firstOrderEqn/isotropic/ElasticFirstOrderWaveEquationSEM.cpp -o CMakeFiles/physicsSolvers.dir/wavePropagation/sem/elastic/firstOrderEqn/isotropic/ElasticFirstOrderWaveEquationSEM.cpp.o
nvcc error   : 'cicc' died due to signal 11 (Invalid memory reference)
make[3]: *** [coreComponents/physicsSolvers/CMakeFiles/physicsSolvers.dir/wavePropagation/sem/elastic/firstOrderEqn/isotropic/ElasticFirstOrderWaveEquationSEM.cpp.o] Erreur 11
make[3] : on quitte le répertoire « /.projets_7/schnaps/GEOS/GEOS/build-a100-release »
make[2]: *** [coreComponents/physicsSolvers/CMakeFiles/physicsSolvers.dir/all] Erreur 2
make[2] : on quitte le répertoire « /.projets_7/schnaps/GEOS/GEOS/build-a100-release »
make[1]: *** [CMakeFiles/geosx.dir/rule] Erreur 2
make[1] : on quitte le répertoire « /.projets_7/schnaps/GEOS/GEOS/build-a100-release »
make: *** [geosx] Erreur 2
sirocco25:build-a100-release$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Wed_Nov_22_10:17:15_PST_2023
Cuda compilation tools, release 12.3, V12.3.107
Build cuda_12.3.r12.3/compiler.33567101_0

I feel like it is an internal compiler error.... Maybe I should try another nvcc. What version do you use?

@rrsettgast
Copy link
Member

@berenger-eu This is an internal compiler error. We have seen this in our RockyLinux CI builds which are currently not enabled. I think we can put this up on the priority list. @CusiniM can you confirm that this is the same error we saw?

Alternatively, if you can try cuda 11.8, this error has not come up in our testing.

@CusiniM
Copy link
Collaborator

CusiniM commented Aug 16, 2024

@berenger-eu This is an internal compiler error. We have seen this in our RockyLinux CI builds which are currently not enabled. I think we can put this up on the priority list. @CusiniM can you confirm that this is the same error we saw?

Alternatively, if you can try cuda 11.8, this error has not come up in our testing.

yes, it's the same exact error we see on the rockylinux builds with cuda12.5. I have not seen that error with cuda12.2 nor with previous versions.

@berenger-eu
Copy link
Author

Ok, I will recompile everything with NVCC 11.7, I hope the host compiler has nothing to do with that.

@berenger-eu
Copy link
Author

Ok, I compiled it, and it worked. I was able to run some tutorials. So I will close this issue. As a last remark, it could be great if you were sharing an archive (like a .tar.gz) that would contain the snapshot of the two git repo and allow getting everything in one file, like a release (especially, users might not be interested in having all the history of the repo, etc.). I will end my review on JOSS. Thanks for the support. Good work.

@rrsettgast
Copy link
Member

Ok, I compiled it, and it worked. I was able to run some tutorials. So I will close this issue. As a last remark, it could be great if you were sharing an archive (like a .tar.gz) that would contain the snapshot of the two git repo and allow getting everything in one file, like a release (especially, users might not be interested in having all the history of the repo, etc.). I will end my review on JOSS. Thanks for the support. Good work.

Thanks for your patience and persistence. We are discussing a way to link the two repos. In reality we are supposed to be using Spack with a single repository, but that hasn't gone so smoothly, so we are sort of in limbo with the TPL solution that nobody was ever supposed to see! We will come up with a strategy for ensuring that the main GEOS repo and the TPL's are in sync when a build is attempted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: new A new issue has been created and requires attention
Projects
None yet
Development

No branches or pull requests

6 participants