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

deal.II-v9.5.2 missing bundled directory #5988

Open
rbrtmch opened this issue Jul 24, 2024 · 8 comments
Open

deal.II-v9.5.2 missing bundled directory #5988

rbrtmch opened this issue Jul 24, 2024 · 8 comments

Comments

@rbrtmch
Copy link

rbrtmch commented Jul 24, 2024

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

"/opt/deal.II-v9.5.2/include/deal.II/bundled"

I checked the path and bundled folder is missing.

@naliboff
Copy link
Contributor

naliboff commented Jul 25, 2024

@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:

  • Can you post the cmake command you used to configure ASPECT?
  • Did you specify what folder deal.II should be installed in when running candi, or was /opt/ the default?

Edit - Also, can you let us know what version of ASPECT you are building?

@rbrtmch
Copy link
Author

rbrtmch commented Jul 25, 2024

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"

@rbrtmch
Copy link
Author

rbrtmch commented Jul 25, 2024

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.

@tjhei
Copy link
Member

tjhei commented Jul 25, 2024

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?

@rbrtmch
Copy link
Author

rbrtmch commented Jul 25, 2024

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

@naliboff
Copy link
Contributor

@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

@rbrtmch
Copy link
Author

rbrtmch commented Jul 26, 2024

@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>

@tamiko
Copy link
Contributor

tamiko commented Aug 12, 2024

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants