GEOS-DEV / GEOS

GEOS Simulation Framework
GNU Lesser General Public License v2.1
211 stars 85 forks source link

Quick Start Guide seems to be irrelevant #3232

Closed slavlen closed 2 months ago

slavlen commented 2 months ago

Quick Start Guide seems to be irrelevant

I'm trying to build in ubuntu.
Falling on the moment https://geosx-geosx.readthedocs-hosted.com/en/latest/docs/sphinx/QuickStart.html#:~:text=cd%20../../GEOS-,python%20scripts/config%2Dbuild.py%20%2Dhc%20host%2Dconfigs/your%2Dplatform.cmake%20%2Dbt%20Release,-cd%20build%2Dyour

Such an error

-- CONDUIT_DIR = /app/codes/thirdPartyLibs/build-tpls-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)

How do I build a project with Python Tools to test Basic Examples Hydraulic Fracturing?

slavlen commented 2 months ago

My slightly modified host config

# detect host and name the configuration file
site_name(HOST_NAME)
set(CONFIG_NAME "your-platform" CACHE PATH "")
message("CONFIG_NAME = ${CONFIG_NAME}")

# set paths to C, C++, and Fortran compilers. Note that while GEOS does not contain any Fortran code,
# some of the third-party libraries do contain Fortran code. Thus a Fortran compiler must be specified.
set(CMAKE_C_COMPILER "/usr/bin/clang" CACHE PATH "")
set(CMAKE_CXX_COMPILER "/usr/bin/clang++" CACHE PATH "")
set(CMAKE_Fortran_COMPILER "/usr/bin/gfortran" CACHE PATH "")
set(ENABLE_FORTRAN OFF CACHE BOOL "" FORCE)

# enable MPI and set paths to compilers and executable.
# Note that the MPI compilers are wrappers around standard serial compilers.
# Therefore, the MPI compilers must wrap the appropriate serial compilers specified
# in CMAKE_C_COMPILER, CMAKE_CXX_COMPILER, and CMAKE_Fortran_COMPILER.
set(ENABLE_MPI ON CACHE BOOL "")
set(MPI_C_COMPILER "/usr/bin/mpicc" CACHE PATH "")
set(MPI_CXX_COMPILER "/usr/bin/mpicxx" CACHE PATH "")
set(MPI_Fortran_COMPILER "/usr/bin/mpifort" CACHE PATH "")
set(MPIEXEC "/usr/bin/mpirun" CACHE PATH "")

# disable CUDA and OpenMP
set(ENABLE_CUDA OFF CACHE BOOL "" FORCE)
set(ENABLE_OPENMP OFF CACHE BOOL "" FORCE)

# enable PVTPackage
set(ENABLE_PVTPackage ON CACHE BOOL "" FORCE)

# enable tests
set(ENABLE_GTEST_DEATH_TESTS ON CACHE BOOL "" FORCE )

# define the path to your compiled installation directory
set(GEOSX_TPL_DIR "/app/codes/thirdPartyLibs/build-tpls-release/" CACHE PATH "")

# let GEOS define some third party libraries information for you
include(${CMAKE_CURRENT_LIST_DIR}/tpls.cmake)

set(ENABLE_PYGEOSX ON CACHE BOOL "")
rrsettgast commented 2 months ago

Hello @slavlen, Can you confirm you have successfully built the thirdPartyLibs prior to this?

slavlen commented 2 months ago

Here's the build logs. This build attempt was in a docker container according to this guide https://geosx-geosx.readthedocs-hosted.com/en/latest/docs/sphinx/developerGuide/Contributing/InstallWin.html

in thirdPartyLibs build.log build_make.log

in GEOS build_geosx_python3.log

The new host-condig looks like this

 # file: your-platform.cmake

# detect host and name the configuration file
site_name(HOST_NAME)
set(CONFIG_NAME "your-platform" CACHE PATH "")
message("CONFIG_NAME = ${CONFIG_NAME}")

# set paths to C, C++, and Fortran compilers. Note that while GEOS does not contain any Fortran code,
# some of the third-party libraries do contain Fortran code. Thus a Fortran compiler must be specified.
set(CMAKE_C_COMPILER "/usr/bin/clang" CACHE PATH "")
set(CMAKE_CXX_COMPILER "/usr/bin/clang++" CACHE PATH "")
set(CMAKE_Fortran_COMPILER "/usr/bin/gfortran" CACHE PATH "")
set(ENABLE_FORTRAN OFF CACHE BOOL "" FORCE)

# enable MPI and set paths to compilers and executable.
# Note that the MPI compilers are wrappers around standard serial compilers.
# Therefore, the MPI compilers must wrap the appropriate serial compilers specified
# in CMAKE_C_COMPILER, CMAKE_CXX_COMPILER, and CMAKE_Fortran_COMPILER.
set(ENABLE_MPI ON CACHE BOOL "")
set(MPI_C_COMPILER "/usr/bin/mpicc" CACHE PATH "")
set(MPI_CXX_COMPILER "/usr/bin/mpicxx" CACHE PATH "")
set(MPI_Fortran_COMPILER "/usr/bin/mpifort" CACHE PATH "")
set(MPIEXEC "/usr/bin/mpirun" CACHE PATH "")

# disable CUDA and OpenMP
set(ENABLE_CUDA OFF CACHE BOOL "" FORCE)
set(ENABLE_OPENMP OFF CACHE BOOL "" FORCE)

# enable PVTPackage
set(ENABLE_PVTPackage ON CACHE BOOL "" FORCE)

# enable tests
set(ENABLE_GTEST_DEATH_TESTS ON CACHE BOOL "" FORCE )

# define the path to your compiled installation directory
set(GEOSX_TPL_DIR "/app/codes/thirdPartyLibs/build-your-platform-release/" CACHE PATH "")
set(CONDUIT_DIR "/app/codes/thirdPartyLibs/build-your-platform-release/conduit/src/conduit/src/config" CACHE PATH "")

# let GEOS define some third party libraries information for you
include(${CMAKE_CURRENT_LIST_DIR}/tpls.cmake)

set(ENABLE_PYGEOSX ON CACHE BOOL "")
slavlen commented 2 months ago

@rrsettgast Maybe I'm using the wrong version of the branch in thirdPartyLibs? Which branch would you advise me to build?

slavlen commented 2 months ago

I got it to build in remote-dev-ubuntu20.04-gcc9-257-486