Regarding using Boost library functions with deal.II

43 views
Skip to first unread message

Kishore Nori

unread,
May 13, 2021, 10:56:40 AM5/13/21
to deal.II User Group
Hi everyone,

I am trying to use Boost library math functions in a deal.II solver program, and I am getting the following Segmentation fault and make errors when I run the program after compilation.

```
make[3]: *** [CMakeFiles/run.dir/build.make:58: CMakeFiles/run] Segmentation fault (core dumped)
make[2]: *** [CMakeFiles/Makefile2:245: CMakeFiles/run.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:252: CMakeFiles/run.dir/rule] Error 2
make: *** [Makefile:196: run] Error 2

```

I am running the program using the autopilot cmake available with the early beginner tutorials. The installation of Boost library is correct, and have tested the same Boost functions using a sample C++ program without deal.II. I have included the required library include files in the deal.II program and there are no compilation errors. 

While trying to fix this I also included ``` FIND_PACKAGE(Boost REQUIRED) ``` in the CMakeLists.txt file, although cmake found Boost successfully (-- Found Boost: /usr/lib/cmake/Boost-1.76.0/BoostConfig.cmake (found version "1.76.0")), But I still have the same Segmentation fault and make errors as above. 

I would be very happy to know on why the problem is arising and how can I fix it? 

Best wishes,

Kishore

Wolfgang Bangerth

unread,
May 13, 2021, 12:53:30 PM5/13/21
to dea...@googlegroups.com
On 5/13/21 8:56 AM, Kishore Nori wrote:
>
> I would be very happy to know on why the problem is arising and how can I fix it?

We don't know without being able to see what specifically your code looks like
and the system it is running on -- but the way to find out is to run your
program in a debugger and see at which place the program is aborting. If you
know where it happens, it's often relatively easy to figure out how to fix the
code.

Best
W.


--
------------------------------------------------------------------------
Wolfgang Bangerth email: bang...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/

Kishore Nori

unread,
May 13, 2021, 1:06:32 PM5/13/21
to deal.II User Group
Sorry that didn't mention more details: I am running deal.II 9.2.0 on Ubuntu 20.04, 
installed through the available PPA.

The only boost function I am using is spherical_harmonic_r(l, m, theta, phi) inside a simple user-defined function 
which returns the spherical harmonic value times a const. 
(spherical_harmonic_r is available under #include <boost/math/special_functions/spherical_harmonic.hpp>
and boost version is 1.76.0, installed and available in by /usr/include directory)

The weird thing is that the program results in the above errors even when the function involving the above boost function is
not called anywhere. The same function works perfectly fine in a sample C++ file without deal.II

I ll also try using the debugger, thank you very much for the suggestions and response :)

Best wishes,

Kishore

Kishore Nori

unread,
May 14, 2021, 9:32:26 AM5/14/21
to deal.II User Group
Just an update: The code gives the above errors even before the execution of the code starts. The compilation (using make) doesn't give any errors, and when run the executable using make run, these errors are displayed. 

Bruno Turcksin

unread,
May 14, 2021, 10:17:29 AM5/14/21
to deal.II User Group
Kishore,

Can you show the result of the command ldd, i.e. what do you see when you type ldd ./my_code

Best,

Bruno

Kishore Nori

unread,
May 14, 2021, 10:22:06 AM5/14/21
to dea...@googlegroups.com
Dear Bruno,

Thank you for the reply :) The following is the result of ldd ./executable:

 linux-vdso.so.1 (0x00007ffd36c7c000)
libdeal.ii.g.so.9.2.0 => /lib/x86_64-linux-gnu/libdeal.ii.g.so.9.2.0 (0x00007f0ac6662000)
libtrilinos_teuchoscomm.so.12 => /lib/x86_64-linux-gnu/libtrilinos_teuchoscomm.so.12 (0x00007f0ac6542000)
libtrilinos_teuchoscore.so.12 => /lib/x86_64-linux-gnu/libtrilinos_teuchoscore.so.12 (0x00007f0ac64cf000)
libtbb.so.2 => /lib/x86_64-linux-gnu/libtbb.so.2 (0x00007f0ac6489000)
libmpi_cxx.so.40 => /lib/x86_64-linux-gnu/libmpi_cxx.so.40 (0x00007f0ac6469000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f0ac644e000)
libmpi.so.40 => /lib/x86_64-linux-gnu/libmpi.so.40 (0x00007f0ac6329000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f0ac6148000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0ac5ff9000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0ac5e07000)
libboost_iostreams.so.1.71.0 => /lib/x86_64-linux-gnu/libboost_iostreams.so.1.71.0 (0x00007f0ac5dde000)
libboost_serialization.so.1.71.0 => /lib/x86_64-linux-gnu/libboost_serialization.so.1.71.0 (0x00007f0ac5d9a000)
libtrilinos_muelu-adapters.so.12 => /lib/x86_64-linux-gnu/libtrilinos_muelu-adapters.so.12 (0x00007f0ac598a000)
libtrilinos_ml.so.12 => /lib/x86_64-linux-gnu/libtrilinos_ml.so.12 (0x00007f0ac5691000)
libtrilinos_ifpack.so.12 => /lib/x86_64-linux-gnu/libtrilinos_ifpack.so.12 (0x00007f0ac546e000)
libtrilinos_amesos.so.12 => /lib/x86_64-linux-gnu/libtrilinos_amesos.so.12 (0x00007f0ac53fe000)
libtrilinos_aztecoo.so.12 => /lib/x86_64-linux-gnu/libtrilinos_aztecoo.so.12 (0x00007f0ac5370000)
libtrilinos_epetraext.so.12 => /lib/x86_64-linux-gnu/libtrilinos_epetraext.so.12 (0x00007f0ac51c9000)
libtrilinos_zoltan.so.12 => /lib/x86_64-linux-gnu/libtrilinos_zoltan.so.12 (0x00007f0ac50e7000)
libtrilinos_epetra.so.12 => /lib/x86_64-linux-gnu/libtrilinos_epetra.so.12 (0x00007f0ac4f6c000)
libtrilinos_teuchosparameterlist.so.12 => /lib/x86_64-linux-gnu/libtrilinos_teuchosparameterlist.so.12 (0x00007f0ac4aca000)
libtrilinos_kokkoscore.so.12 => /lib/x86_64-linux-gnu/libtrilinos_kokkoscore.so.12 (0x00007f0ac4a72000)
libhdf5_openmpi.so.103 => /lib/x86_64-linux-gnu/libhdf5_openmpi.so.103 (0x00007f0ac46d3000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f0ac46b7000)
libumfpack.so.5 => /lib/x86_64-linux-gnu/libumfpack.so.5 (0x00007f0ac460a000)
libmetis.so.5 => /lib/x86_64-linux-gnu/libmetis.so.5 (0x00007f0ac439c000)
libassimp.so.5 => /lib/x86_64-linux-gnu/libassimp.so.5 (0x00007f0ac374f000)
libgsl.so.23 => /lib/x86_64-linux-gnu/libgsl.so.23 (0x00007f0ac34d3000)
libmuparser.so.2 => /lib/x86_64-linux-gnu/libmuparser.so.2 (0x00007f0ac3473000)
libnetcdf_c++.so.4 => /lib/x86_64-linux-gnu/libnetcdf_c++.so.4 (0x00007f0ac3453000)
libTKBool.so.7 => /lib/x86_64-linux-gnu/libTKBool.so.7 (0x00007f0ac2fe0000)
libTKBRep.so.7 => /lib/x86_64-linux-gnu/libTKBRep.so.7 (0x00007f0ac2edd000)
libTKernel.so.7 => /lib/x86_64-linux-gnu/libTKernel.so.7 (0x00007f0ac2d27000)
libTKG3d.so.7 => /lib/x86_64-linux-gnu/libTKG3d.so.7 (0x00007f0ac2bec000)
libTKGeomAlgo.so.7 => /lib/x86_64-linux-gnu/libTKGeomAlgo.so.7 (0x00007f0ac25d4000)
libTKGeomBase.so.7 => /lib/x86_64-linux-gnu/libTKGeomBase.so.7 (0x00007f0ac205e000)
libTKIGES.so.7 => /lib/x86_64-linux-gnu/libTKIGES.so.7 (0x00007f0ac1c3e000)
libTKMath.so.7 => /lib/x86_64-linux-gnu/libTKMath.so.7 (0x00007f0ac19bc000)
libTKMesh.so.7 => /lib/x86_64-linux-gnu/libTKMesh.so.7 (0x00007f0ac191f000)
libTKShHealing.so.7 => /lib/x86_64-linux-gnu/libTKShHealing.so.7 (0x00007f0ac164f000)
libTKSTEP.so.7 => /lib/x86_64-linux-gnu/libTKSTEP.so.7 (0x00007f0ac1307000)
libTKSTL.so.7 => /lib/x86_64-linux-gnu/libTKSTL.so.7 (0x00007f0ac12eb000)
libTKTopAlgo.so.7 => /lib/x86_64-linux-gnu/libTKTopAlgo.so.7 (0x00007f0ac0fc1000)
libTKXSBase.so.7 => /lib/x86_64-linux-gnu/libTKXSBase.so.7 (0x00007f0ac0d12000)
libp4est-2.2.so => /lib/x86_64-linux-gnu/libp4est-2.2.so (0x00007f0ac0c58000)
libsc-2.2.so => /lib/x86_64-linux-gnu/libsc-2.2.so (0x00007f0ac0c29000)
libscalapack-openmpi.so.2.1 => /lib/x86_64-linux-gnu/libscalapack-openmpi.so.2.1 (0x00007f0ac064a000)
liblapack.so.3 => /lib/x86_64-linux-gnu/liblapack.so.3 (0x00007f0abe636000)
libblas.so.3 => /lib/x86_64-linux-gnu/libblas.so.3 (0x00007f0abcc37000)
libslepc_real.so.3.12 => /lib/x86_64-linux-gnu/libslepc_real.so.3.12 (0x00007f0abc95d000)
libpetsc_real.so.3.12 => /lib/x86_64-linux-gnu/libpetsc_real.so.3.12 (0x00007f0abb628000)
libsundials_idas.so.2 => /lib/x86_64-linux-gnu/libsundials_idas.so.2 (0x00007f0abb5e8000)
libsundials_arkode.so.2 => /lib/x86_64-linux-gnu/libsundials_arkode.so.2 (0x00007f0abb5ae000)
libsundials_kinsol.so.3 => /lib/x86_64-linux-gnu/libsundials_kinsol.so.3 (0x00007f0abb589000)
libsundials_nvecparallel.so.3 => /lib/x86_64-linux-gnu/libsundials_nvecparallel.so.3 (0x00007f0abb582000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0abb55f000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0abb559000)
libopen-rte.so.40 => /lib/x86_64-linux-gnu/libopen-rte.so.40 (0x00007f0abb49d000)
libopen-pal.so.40 => /lib/x86_64-linux-gnu/libopen-pal.so.40 (0x00007f0abb3ef000)
libhwloc.so.15 => /lib/x86_64-linux-gnu/libhwloc.so.15 (0x00007f0abb39e000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0ae07fc000)
libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f0abb38b000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f0abb362000)
libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f0abb2b9000)
libtrilinos_muelu-interface.so.12 => /lib/x86_64-linux-gnu/libtrilinos_muelu-interface.so.12 (0x00007f0abab12000)
libtrilinos_muelu.so.12 => /lib/x86_64-linux-gnu/libtrilinos_muelu.so.12 (0x00007f0ab99ca000)
libtrilinos_xpetra.so.12 => /lib/x86_64-linux-gnu/libtrilinos_xpetra.so.12 (0x00007f0ab98f5000)
libtrilinos_tpetraext.so.12 => /lib/x86_64-linux-gnu/libtrilinos_tpetraext.so.12 (0x00007f0ab9739000)
libtrilinos_tpetra.so.12 => /lib/x86_64-linux-gnu/libtrilinos_tpetra.so.12 (0x00007f0ab8bf1000)
libtrilinos_teuchosnumerics.so.12 => /lib/x86_64-linux-gnu/libtrilinos_teuchosnumerics.so.12 (0x00007f0ab8bd1000)
libtrilinos_galeri-epetra.so.12 => /lib/x86_64-linux-gnu/libtrilinos_galeri-epetra.so.12 (0x00007f0ab8b7e000)
libscotch-6.so => /lib/x86_64-linux-gnu/libscotch-6.so (0x00007f0ab8ae9000)
libtrilinos_trilinosss.so.12 => /lib/x86_64-linux-gnu/libtrilinos_trilinosss.so.12 (0x00007f0ab8ab9000)
libtrilinos_teuchosremainder.so.12 => /lib/x86_64-linux-gnu/libtrilinos_teuchosremainder.so.12 (0x00007f0ab8aaf000)
libdmumps-5.2.1.so => /lib/x86_64-linux-gnu/libdmumps-5.2.1.so (0x00007f0ab88a1000)
libtrilinos_triutils.so.12 => /lib/x86_64-linux-gnu/libtrilinos_triutils.so.12 (0x00007f0ab883b000)
libptscotch-6.so => /lib/x86_64-linux-gnu/libptscotch-6.so (0x00007f0ab875e000)
libscotcherr-6.so => /lib/x86_64-linux-gnu/libscotcherr-6.so (0x00007f0ab8759000)
libtrilinos_teuchosparser.so.12 => /lib/x86_64-linux-gnu/libtrilinos_teuchosparser.so.12 (0x00007f0ab86dc000)
libsz.so.2 => /lib/x86_64-linux-gnu/libsz.so.2 (0x00007f0ab86d7000)
libamd.so.2 => /lib/x86_64-linux-gnu/libamd.so.2 (0x00007f0ab86ca000)
libsuitesparseconfig.so.5 => /lib/x86_64-linux-gnu/libsuitesparseconfig.so.5 (0x00007f0ab86c5000)
libcholmod.so.3 => /lib/x86_64-linux-gnu/libcholmod.so.3 (0x00007f0ab85e2000)
libminizip.so.1 => /lib/x86_64-linux-gnu/libminizip.so.1 (0x00007f0ab83d7000)
libgslcblas.so.0 => /lib/x86_64-linux-gnu/libgslcblas.so.0 (0x00007f0ab8395000)
libnetcdf.so.15 => /lib/x86_64-linux-gnu/libnetcdf.so.15 (0x00007f0ab826e000)
libTKBO.so.7 => /lib/x86_64-linux-gnu/libTKBO.so.7 (0x00007f0ab800a000)
libTKPrim.so.7 => /lib/x86_64-linux-gnu/libTKPrim.so.7 (0x00007f0ab7fa2000)
libTKG2d.so.7 => /lib/x86_64-linux-gnu/libTKG2d.so.7 (0x00007f0ab7f40000)
libtbbmalloc.so.2 => /lib/x86_64-linux-gnu/libtbbmalloc.so.2 (0x00007f0ab7efe000)
libTKSTEPAttr.so.7 => /lib/x86_64-linux-gnu/libTKSTEPAttr.so.7 (0x00007f0ab7de9000)
libTKSTEP209.so.7 => /lib/x86_64-linux-gnu/libTKSTEP209.so.7 (0x00007f0ab7d3d000)
libTKSTEPBase.so.7 => /lib/x86_64-linux-gnu/libTKSTEPBase.so.7 (0x00007f0ab7aa1000)
libgfortran.so.5 => /lib/x86_64-linux-gnu/libgfortran.so.5 (0x00007f0ab77d9000)
libparpack.so.2 => /lib/x86_64-linux-gnu/libparpack.so.2 (0x00007f0ab7790000)
libHYPRE_core-2.18.2.so => /lib/x86_64-linux-gnu/libHYPRE_core-2.18.2.so (0x00007f0ab73b9000)
libklu.so.1 => /lib/x86_64-linux-gnu/libklu.so.1 (0x00007f0ab738a000)
libsuperlu.so.5 => /lib/x86_64-linux-gnu/libsuperlu.so.5 (0x00007f0ab731a000)
libsuperlu_dist.so.6 => /lib/x86_64-linux-gnu/libsuperlu_dist.so.6 (0x00007f0ab71e1000)
libfftw3.so.3 => /lib/x86_64-linux-gnu/libfftw3.so.3 (0x00007f0ab6fdb000)
libfftw3_mpi.so.3 => /lib/x86_64-linux-gnu/libfftw3_mpi.so.3 (0x00007f0ab6fc1000)
libOpenCL.so.1 => /lib/x86_64-linux-gnu/libOpenCL.so.1 (0x00007f0ab6db6000)
libmpi_mpifh.so.40 => /lib/x86_64-linux-gnu/libmpi_mpifh.so.40 (0x00007f0ab6d51000)
libevent-2.1.so.7 => /lib/x86_64-linux-gnu/libevent-2.1.so.7 (0x00007f0ab6cfb000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f0ab6cf6000)
libevent_pthreads-2.1.so.7 => /lib/x86_64-linux-gnu/libevent_pthreads-2.1.so.7 (0x00007f0ab6cef000)
libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f0ab6cc2000)
libltdl.so.7 => /lib/x86_64-linux-gnu/libltdl.so.7 (0x00007f0ab6cb7000)
libtrilinos_teko.so.12 => /lib/x86_64-linux-gnu/libtrilinos_teko.so.12 (0x00007f0ab68aa000)
libtrilinos_xpetra-sup.so.12 => /lib/x86_64-linux-gnu/libtrilinos_xpetra-sup.so.12 (0x00007f0ab67bb000)
libtrilinos_thyratpetra.so.12 => /lib/x86_64-linux-gnu/libtrilinos_thyratpetra.so.12 (0x00007f0ab6780000)
libtrilinos_thyraepetra.so.12 => /lib/x86_64-linux-gnu/libtrilinos_thyraepetra.so.12 (0x00007f0ab66e4000)
libtrilinos_thyracore.so.12 => /lib/x86_64-linux-gnu/libtrilinos_thyracore.so.12 (0x00007f0ab63ea000)
libtrilinos_ifpack2.so.12 => /lib/x86_64-linux-gnu/libtrilinos_ifpack2.so.12 (0x00007f0ab5d6e000)
libtrilinos_amesos2.so.12 => /lib/x86_64-linux-gnu/libtrilinos_amesos2.so.12 (0x00007f0ab5bfe000)
libtrilinos_zoltan2.so.12 => /lib/x86_64-linux-gnu/libtrilinos_zoltan2.so.12 (0x00007f0ab5b85000)
libtrilinos_isorropia.so.12 => /lib/x86_64-linux-gnu/libtrilinos_isorropia.so.12 (0x00007f0ab5af0000)
libtrilinos_shards.so.12 => /lib/x86_64-linux-gnu/libtrilinos_shards.so.12 (0x00007f0ab5ad4000)
libtrilinos_belostpetra.so.12 => /lib/x86_64-linux-gnu/libtrilinos_belostpetra.so.12 (0x00007f0ab56ae000)
libtrilinos_belos.so.12 => /lib/x86_64-linux-gnu/libtrilinos_belos.so.12 (0x00007f0ab54a9000)
libtrilinos_kokkoskernels.so.12 => /lib/x86_64-linux-gnu/libtrilinos_kokkoskernels.so.12 (0x00007f0ab5176000)
libtrilinos_teuchoskokkoscompat.so.12 => /lib/x86_64-linux-gnu/libtrilinos_teuchoskokkoscompat.so.12 (0x00007f0ab5171000)
libmumps_common-5.2.1.so => /lib/x86_64-linux-gnu/libmumps_common-5.2.1.so (0x00007f0ab5121000)
libptscotcherr-6.so => /lib/x86_64-linux-gnu/libptscotcherr-6.so (0x00007f0ab511c000)
libaec.so.0 => /lib/x86_64-linux-gnu/libaec.so.0 (0x00007f0ab5113000)
libcolamd.so.2 => /lib/x86_64-linux-gnu/libcolamd.so.2 (0x00007f0ab5108000)
libccolamd.so.2 => /lib/x86_64-linux-gnu/libccolamd.so.2 (0x00007f0ab50fb000)
libcamd.so.2 => /lib/x86_64-linux-gnu/libcamd.so.2 (0x00007f0ab50ef000)
libgomp.so.1 => /lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f0ab50ad000)
libhdf5_serial_hl.so.100 => /lib/x86_64-linux-gnu/libhdf5_serial_hl.so.100 (0x00007f0ab5086000)
libhdf5_serial.so.103 => /lib/x86_64-linux-gnu/libhdf5_serial.so.103 (0x00007f0ab4d07000)
libcurl-gnutls.so.4 => /lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007f0ab4c78000)
libquadmath.so.0 => /lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f0ab4c2e000)
libarpack.so.2 => /lib/x86_64-linux-gnu/libarpack.so.2 (0x00007f0ab4be6000)
libbtf.so.1 => /lib/x86_64-linux-gnu/libbtf.so.1 (0x00007f0ab4be0000)
libCombBLAS.so.1.16.0 => /lib/x86_64-linux-gnu/libCombBLAS.so.1.16.0 (0x00007f0ab4bc1000)
libtrilinos_stratimikos.so.12 => /lib/x86_64-linux-gnu/libtrilinos_stratimikos.so.12 (0x00007f0ab4b74000)
libtrilinos_ifpack2-adapters.so.12 => /lib/x86_64-linux-gnu/libtrilinos_ifpack2-adapters.so.12 (0x00007f0ab4aa2000)
libtrilinos_thyraepetraext.so.12 => /lib/x86_64-linux-gnu/libtrilinos_thyraepetraext.so.12 (0x00007f0ab4a0c000)
libtrilinos_rtop.so.12 => /lib/x86_64-linux-gnu/libtrilinos_rtop.so.12 (0x00007f0ab49be000)
libtrilinos_shylu_nodetacho.so.12 => /lib/x86_64-linux-gnu/libtrilinos_shylu_nodetacho.so.12 (0x00007f0ab49b7000)
libtrilinos_kokkoscontainers.so.12 => /lib/x86_64-linux-gnu/libtrilinos_kokkoscontainers.so.12 (0x00007f0ab49b2000)
libpord-5.2.1.so => /lib/x86_64-linux-gnu/libpord-5.2.1.so (0x00007f0ab4999000)
libnghttp2.so.14 => /lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007f0ab496e000)
libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f0ab494d000)
librtmp.so.1 => /lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f0ab492d000)
libssh.so.4 => /lib/x86_64-linux-gnu/libssh.so.4 (0x00007f0ab48bf000)
libpsl.so.5 => /lib/x86_64-linux-gnu/libpsl.so.5 (0x00007f0ab48ac000)
libnettle.so.7 => /lib/x86_64-linux-gnu/libnettle.so.7 (0x00007f0ab4872000)
libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f0ab469a000)
libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f0ab464d000)
libldap_r-2.4.so.2 => /lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f0ab45f7000)
liblber-2.4.so.2 => /lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f0ab45e6000)
libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007f0ab45d8000)
libtrilinos_stratimikosifpack.so.12 => /lib/x86_64-linux-gnu/libtrilinos_stratimikosifpack.so.12 (0x00007f0ab458b000)
libtrilinos_stratimikosml.so.12 => /lib/x86_64-linux-gnu/libtrilinos_stratimikosml.so.12 (0x00007f0ab453f000)
libtrilinos_stratimikosamesos.so.12 => /lib/x86_64-linux-gnu/libtrilinos_stratimikosamesos.so.12 (0x00007f0ab44ee000)
libtrilinos_stratimikosaztecoo.so.12 => /lib/x86_64-linux-gnu/libtrilinos_stratimikosaztecoo.so.12 (0x00007f0ab446f000)
libtrilinos_stratimikosamesos2.so.12 => /lib/x86_64-linux-gnu/libtrilinos_stratimikosamesos2.so.12 (0x00007f0ab441f000)
libtrilinos_stratimikosbelos.so.12 => /lib/x86_64-linux-gnu/libtrilinos_stratimikosbelos.so.12 (0x00007f0ab4211000)
libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007f0ab408d000)
libhogweed.so.5 => /lib/x86_64-linux-gnu/libhogweed.so.5 (0x00007f0ab4056000)
libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f0ab3fd2000)
libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f0ab3cfc000)
libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f0ab3bc4000)
libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f0ab3bae000)
libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f0ab3ad1000)
libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f0ab3aa0000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f0ab3a99000)
libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f0ab3a8a000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f0ab3a6e000)
libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f0ab3a4f000)
libgssapi.so.3 => /lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007f0ab3a0a000)
libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007f0ab39e7000)
libffi.so.7 => /lib/x86_64-linux-gnu/libffi.so.7 (0x00007f0ab39db000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f0ab39d2000)
libheimntlm.so.0 => /lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007f0ab39c6000)
libkrb5.so.26 => /lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007f0ab3933000)
libasn1.so.8 => /lib/x86_64-linux-gnu/libasn1.so.8 (0x00007f0ab388c000)
libhcrypto.so.4 => /lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007f0ab3854000)
libroken.so.18 => /lib/x86_64-linux-gnu/libroken.so.18 (0x00007f0ab3839000)
libwind.so.0 => /lib/x86_64-linux-gnu/libwind.so.0 (0x00007f0ab380f000)
libheimbase.so.1 => /lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007f0ab37fd000)
libhx509.so.5 => /lib/x86_64-linux-gnu/libhx509.so.5 (0x00007f0ab37af000)
libsqlite3.so.0 => /lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f0ab3686000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f0ab364b000)

Best wishes,

Kishore

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to a topic in the Google Groups "deal.II User Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dealii/gIW8VuiVd0A/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dealii+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/d623b6a9-e53e-4b3e-bc76-8badef7e5b66n%40googlegroups.com.

Bruno Turcksin

unread,
May 14, 2021, 10:42:58 AM5/14/21
to dea...@googlegroups.com
Kisher,

According to https://www.boost.org/doc/libs/1_76_0/more/getting_started/unix-variants.html#header-only-libraries
has functions that require the package to be compiled. However, I
don't see libboost_math.so.1.71.0 when you do ldd. So it looks like
you forgot to add math as a component in your CMakeLists.txt

Best,
> To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/CA%2BskKkNhja%3DDji%3Dw1T%3DTLZJsqQsshMcq8yUPW_P2-%2Bmq%2BLVK1Q%40mail.gmail.com.

Kishore Nori

unread,
May 14, 2021, 11:21:26 AM5/14/21
to deal.II User Group
Dear Bruno,

Thank you very much for the great lead. I have already included the specific .hpp file, in this case 
#include <boost/math/special_functions/spherical_harmonic.hpp> in the main file, and the function
I use is in this .hpp file, which works fine when I run the same function without deal.II in sample cpp file. 

I am using the simple CMakeLists.txt available with the step-1, may I know how can I
add the math as component in CMakeLists? 

Best wishes,

Kishore

Wolfgang Bangerth

unread,
May 14, 2021, 11:54:58 AM5/14/21
to dea...@googlegroups.com
On 5/14/21 8:17 AM, Bruno Turcksin wrote:
>
> Can you show the result of the command ldd, i.e. what do you see when you type
> ldd ./my_code

Could it be that you are linking against both the version of BOOST that comes
with deal.II and against an external one? That would explain why things
already go wrong while starting up the program. Try removing the FindBOOST
call from your own project's CMakeLists.txt.

Kishore Nori

unread,
May 14, 2021, 12:19:52 PM5/14/21
to deal.II User Group
Dear Prof. Bangerth,

Thank you for the reply, yes I was having some doubt on this. I removed the 
FIND_PACKAGE(Boost REQUIRED) in CMakeLists.txt but I still get the error.

Could it be because of the boost include file? #include <boost/math/special_functions/spherical_harmonic.hpp> 
Does deal.II come with boost library included? If yes, how can I use it for the access the above function? 

Best wishes,

Kishore

Kishore Nori

unread,
May 14, 2021, 1:17:36 PM5/14/21
to deal.II User Group
I have isolated the error to minimum (not-) working example: The error occurs 
when Point and Boost functions are used at once in a dealii program.
I have observed that in the Point class there is usage of some boost functions, 
could it be that there is clash with that boost version and the below combing 
from the boost include file? 

usingBoostindealii.cc :

#include <boost/math/special_functions/spherical_harmonic.hpp>
#include <iostream>
#include <vector>
#include <cmath>

#include <deal.II/grid/tria.h>

#include <deal.II/grid/grid_generator.h>

#include <deal.II/grid/tria_accessor.h>
#include <deal.II/grid/tria_iterator.h>

#include <deal.II/fe/fe_values.h>
#include <deal.II/fe/fe_nothing.h>
#include <deal.II/base/quadrature_lib.h>

#include <deal.II/base/timer.h>

using namespace dealii;  

int main()
{
Point<3> evalPoint(1.0, 2.0, 0.0);
Point<3> evalPoint2(1.0, 1.0, 1.0);
std::vector<double> atomPos{0.0, 0.0, 0.0};

std::cout << evalPoint.distance_square(evalPoint2) << '\n'; // comment this to test the below too 
double sphericalHarmonicVal{}; 
double r{}, theta{}, phi{}; 

// std::vector<double> relativeEvalPoint(3, 0.0);
// // *** even with the below there is same error ***
// for (int i = 0; i < 3; ++i)
// {
// relativeEvalPoint[i] = evalPoint(i) - atomPos[i]; 
// // relativeEvalPoint[i] = evalPoint[i] - atomPos[i];
// }

sphericalHarmonicVal = boost::math::spherical_harmonic_i(0, 0, 0.0, 0.0);

std::cout << sphericalHarmonicVal << '\n';

return 0;
}

CMakeLists.txt : 

##
#  CMake script for the usingBoostindealii program:
##

# Set the name of the project and target:
SET(TARGET "usingBoostindealii")

# Declare all source files the target consists of. Here, this is only
# the one step-X.cc file, but as you expand your project you may wish
# to add other source files as well. If your project becomes much larger,
# you may want to either replace the following statement by something like
#    FILE(GLOB_RECURSE TARGET_SRC  "source/*.cc")
#    FILE(GLOB_RECURSE TARGET_INC  "include/*.h")
#    SET(TARGET_SRC ${TARGET_SRC}  ${TARGET_INC})
# or switch altogether to the large project CMakeLists.txt file discussed
# in the "CMake in user projects" page accessible from the "User info"
# page of the documentation.
SET(TARGET_SRC
  ${TARGET}.cc
  )

# Usually, you will not need to modify anything beyond this point...

CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)

# FIND_PACKAGE(Boost REQUIRED)

FIND_PACKAGE(deal.II 9.2.0 QUIET
  HINTS ${deal.II_DIR} ${DEAL_II_DIR} ../ ../../ $ENV{DEAL_II_DIR}
  )
IF(NOT ${deal.II_FOUND})
  MESSAGE(FATAL_ERROR "\n"
    "*** Could not locate a (sufficiently recent) version of deal.II. ***\n\n"
    "You may want to either pass a flag -DDEAL_II_DIR=/path/to/deal.II to cmake\n"
    "or set an environment variable \"DEAL_II_DIR\" that contains this path."
    )
ENDIF()

DEAL_II_INITIALIZE_CACHED_VARIABLES()
PROJECT(${TARGET})
DEAL_II_INVOKE_AUTOPILOT()

Best wishes,

Kishore

Bruno Turcksin

unread,
May 14, 2021, 3:28:09 PM5/14/21
to dea...@googlegroups.com
Kishore,

In detailed.log you should be able see which version of Boost has been
picked up by deal.II. In your case you want to make sure that you are
not using the bundled version of Boost. The reason is that the bundled
Boost does not include all of Boost but only a subset of it.

Best,

Bruno
> --
> The deal.II project is located at http://www.dealii.org/
> For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
> ---
> You received this message because you are subscribed to a topic in the Google Groups "deal.II User Group" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/dealii/gIW8VuiVd0A/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to dealii+un...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/bf6946b0-8a7f-4c54-9c4a-efaf1bfafd59n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages