Open rbrtmch opened 3 months ago
@rbrtmch - That's odd, I don't recall seeing that error before and the deal.II version on my local machine also does not have include/deal.II/bundled
(only include/deal.II
).
A few questions:
/opt/
the default?Edit - Also, can you let us know what version of ASPECT you are building?
Ubuntu 22.04, with gcc 11.4 and cmake 3.22.1 Aspect 2.6.0-pre (git clone)
cmake -DASPECT_WITH_FASTSCAPE=ON -DDEAL_II_DIR=/opt/deal.II-v9.5.2 -DFASTSCAPE_DIR=/opt/fastscapelib-fortran ..
The configuration fails when it enters the floating point exceptions test. Regardless of FastScape ON/OFF and/or WorldBuilder ON/OFF
....... all good up to this point ....
-- Determining whether we can use floating point exceptions... -- Performing Test HAVE_FP_EXCEPTIONS CMake Error in ~/Research/aspect/build/CMakeFiles/CMakeTmp/CMakeLists.txt: Imported target "dealii::dealii_debug" includes non-existent path
"/opt/deal.II-v9.5.2/include/deal.II/bundled"
in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include:
I also tried with -DASPECT_USE_FP_EXCEPTIONS=OFF
===== Configuring ASPECT build targets ============= -- Writing externally readable configuration information -- Setting up test project, see tests/setup_tests.log for details. Found 1 tests. CMake Error in CMakeLists.txt: Imported target "dealii::dealii_debug" includes non-existent path
"/opt/deal.II-v9.5.2/include/deal.II/bundled"
OK, shooting in the dark, but I noticed in the deal.II build detailed.log the deal.II shared library block has the following:
INTERFACE_INCLUDE_DIRECTORIES: $<INSTALL_INTERFACE:include/deal.II/bundled>
I manually created an empty include/deal.II/bundled directory in my DEAL_II_DIR and Aspect compiled without error and running a cookbook gave no errors.
Would you mind posting your detailed.log
from installing deal.II? You should be able to find this under /opt/deal.II-v9.5.2/
Additionally, do you have the candi_configure.log
inside the tmp/build/deal.II/ directory?
I'm using the local.cfg with candi. (Using candi.cfg with correct packages results in same behavior). Attached is the detailed log. In /opt/tmp/build/ I have directories for all components used to build deal.II but no specific deal.II directory. detailed.log
@rbrtmch - Thanks for the summary and glad that a temporary solution was found.
A correction to my original post above - I checked on two local computers and the deal.II installation folder does contain include/deal.II/bundled
.
For deal.II 9.5.2, the contents are:
UFconfig.h umfpack_global.h umfpack_report_vector.h
amd.h umfpack_load_numeric.h umfpack_save_numeric.h
amd_internal.h umfpack_load_symbolic.h umfpack_save_symbolic.h
tbb umfpack_numeric.h umfpack_scale.h
umfpack.h umfpack_qsymbolic.h umfpack_solve.h
umfpack_col_to_triplet.h umfpack_report_control.h umfpack_symbolic.h
umfpack_defaults.h umfpack_report_info.h umfpack_tictoc.h
umfpack_free_numeric.h umfpack_report_matrix.h umfpack_timer.h
umfpack_free_symbolic.h umfpack_report_numeric.h umfpack_transpose.h
umfpack_get_determinant.h umfpack_report_perm.h umfpack_triplet_to_col.h
umfpack_get_lunz.h umfpack_report_status.h umfpack_wsolve.h
umfpack_get_numeric.h umfpack_report_symbolic.h
umfpack_get_symbolic.h umfpack_report_triplet.h
For reference, I've attached my candi_configure.log
file. If you can locate yours, that might point us to why that installation step did not happen on your end.
candi_configure.log
@naliboff @tjhei I'm not sure why my /tmp/build is empty after the installation, so not sure how to the get the candi_configure.log for deal.ii. But I think the bundled directory is not created because both tbb and umfpack are external, from the detailed log.
# DEAL_II_WITH_TBB set up with external dependencies
# TBB_VERSION = 2021.5
# DEAL_II_WITH_UMFPACK set up with external dependencies
# UMFPACK_VERSION = 5.7.9
# Target: interface_tbb
# TYPE: INTERFACE_LIBRARY
# INTERFACE_LINK_LIBRARIES: /usr/lib/x86_64-linux-gnu/libtbb.so
# INTERFACE_INCLUDE_DIRECTORIES: /usr/include
# INTERFACE_SYSTEM_INCLUDE_DIRECTORIES: /usr/include
On this workstation I have SuiteSparse installed so umfpack is in my /usr/include/suitesparse.
# Target: interface_umfpack
# TYPE: INTERFACE_LIBRARY
# INTERFACE_LINK_LIBRARIES: /usr/lib/x86_64-linux-gnu/libumfpack.so,/usr/lib/x86_64-linux-gnu/libcholmod.so,/usr/lib/x86_64-linux-gnu/libccolamd.so,/usr/lib/x86_64-linux-gnu/libcolamd.so,
/usr/lib/x86_64-linux-gnu/libcamd.so,/usr/lib/x86_64-linux-gnu/libsuitesparseconfig.so,/usr/lib/x86_64-linux-gnu/libamd.so,/usr/lib/x86_64-linux-gnu/liblapack.so,/usr/lib/x86_64-linux-gnu/libbla
s.so,rt
# INTERFACE_INCLUDE_DIRECTORIES: /usr/include/suitesparse
# INTERFACE_SYSTEM_INCLUDE_DIRECTORIES: /usr/include/suitesparse
So, not sure why it has the include/deal.ii/bundled in the INTERFACE_INCLUDE_DIRECTORIES for dealii libraries if the directory is not created, again this is all way outside of my wheelhouse.
# Target: dealii_release
# TYPE: SHARED_LIBRARY
# VERSION: 9.5.2
# SOVERSION: 9.5.2
# LINK_LIBRARIES: interface_lapack,interface_mpi,interface_tbb,interface_zlib,interface_boost,interface_trilinos,interface_umfpack,interface_kokkos,interface_hdf5,interface_sundials,inter
face_symengine,interface_p4est_release,bundled_muparser_release,object_numerics_release,object_fe_release,object_matrix_free_release,object_dofs_release,object_lac_release,object_base_release,ob
ject_cgal_release,object_gmsh_release,object_grid_release,object_hp_release,object_multigrid_release,object_distributed_release,object_algorithms_release,object_integrators_release,object_meshwo
rker_release,object_opencascade_release,object_particle_release,object_differentiation_ad_release,object_differentiation_sd_release,object_physics_elasticity_release,object_physics_release,objec
t_rol_release,object_non_matching_release,object_sundials_release,object_trilinos_release,object_arborx_release
# INCLUDE_DIRECTORIES: /opt/tmp/build/deal.II-v9.5.2/include,/opt/tmp/unpack/deal.II-v9.5.2/include,/opt/tmp/unpack/deal.II-v9.5.2/bundled/muparser_v2_3_3//include
# COMPILE_DEFINITIONS: NDEBUG
# COMPILE_OPTIONS: -pedantic,-Wall,-Wextra,-Wmissing-braces,-Woverloaded-virtual,-Wpointer-arith,-Wsign-compare,-Wsuggest-override,-Wswitch,-Wsynth,-Wwrite-strings,-Wno-placement-new,-Wno
-deprecated-declarations,-Wno-literal-suffix,-Wno-psabi,-Wno-class-memaccess,-Wno-unused-local-typedefs,-fopenmp-simd,-march=native,-O2,-funroll-loops,-funroll-all-loops,-fstrict-aliasing,-Wno-u
nused-local-typedefs,-O3
# LINK_OPTIONS: -rdynamic,-fuse-ld=gold
# INTERFACE_LINK_LIBRARIES: interface_lapack,interface_mpi,interface_tbb,interface_zlib,interface_boost,interface_trilinos,interface_umfpack,interface_kokkos,interface_hdf5,interface_sund
ials,interface_symengine,interface_p4est_release
# INTERFACE_INCLUDE_DIRECTORIES: $<BUILD_INTERFACE:/opt/tmp/build/deal.II-v9.5.2/include>,$<BUILD_INTERFACE:/opt/tmp/unpack/deal.II-v9.5.2/include>,$<INSTALL_INTERFACE:include>,$<BUILD_IN
TERFACE:/opt/tmp/unpack/deal.II-v9.5.2/bundled/muparser_v2_3_3//include>,$<INSTALL_INTERFACE:include/deal.II/bundled>
@rbrtmch I am not sure why the installation procedure did not install all required headers.
In the candi log I do see three bundled components. Two of them (tbb and umfpack) do install header files. So the bundled
directory should have been created and populated with these files.
Followed direction for local install on Ubuntu. Used candi.sh with local.cfg as suggested, all compiled and installed deal.II v9.5.2. Step-32.release ran without error. Now trying to configure and build aspect; cmake results in:
Imported target "dealii::dealii_release" includes non-existent path
I checked the path and bundled folder is missing.