I was able to compile my libMesh application with CMake, but I am having problems when running it, specifically, I get this segfault:
Program received signal SIGSEGV, Segmentation fault. 0x00002aaab3f64eca in std::_Rb_tree_decrement(std::_Rb_tree_node_base*) () from /usr/lib64/libstdc++.so.6 Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.23-15.el6_6.2.x86_64 glpk-4.40-1.1.el6.x86_64 hdf5-1.8.5.patch1-9.el6.x86_64 hwloc-1.5-3.el6_5.x86_64 infinipath-psm-3.1c-3chaos.ch5.3.x86_64 keyutils-libs-1.4-5.el6.x86_64 krb5-libs-1.10.3-42.1chaos.ch5.4.x86_64 libX11-1.6.0-6.el6.x86_64 libXau-1.0.8-2.1.ch5.2.x86_64 libcom_err-1.41.12-22.el6.x86_64 libcurl-7.19.7-46.el6.x86_64 libgcc-4.4.7-16.el6.x86_64 libgfortran-4.4.7-16.el6.x86_64 libibverbs-1.1.8-4.el6.x86_64 libidn-1.18-2.el6.x86_64 libnl-1.1.4-2.el6.x86_64 librdmacm-1.0.19.1-1.1.el6_7.x86_64 libselinux-2.0.94-5.8.el6.x86_64 libssh2-1.4.2-1.el6_6.1.x86_64 libstdc++-4.4.7-16.el6.x86_64 libxcb-1.9.1-3.el6.x86_64 libxml2-2.7.6-20.el6_7.1.x86_64 nspr-4.10.8-2.el6_7.x86_64 nss-3.19.1-8.el6_7.x86_64 nss-softokn-freebl-3.14.3-23.el6_7.x86_64 nss-util-3.19.1-2.el6_7.x86_64 numactl-2.0.9-2.el6.x86_64 openldap-2.4.40-7.el6_7.x86_64 openssl-1.0.1e-42.el6_7.4.x86_64 pciutils-libs-3.1.10-4.el6.x86_64 zlib-1.2.3-29.el6.x86_64 (gdb) backtrace #0 0x00002aaab3f64eca in std::_Rb_tree_decrement(std::_Rb_tree_node_base*) () from /usr/lib64/libstdc++.so.6 #1 0x00002aaaabcf3d5d in std::_Rb_tree_iterator<unsigned char>::operator-- (this=0x7fffffffa450) at /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/s tl_tree.h:199 #2 0x00002aaaabce1af2 in std::_Rb_tree<unsigned char, unsigned char, std::_Identity<unsigned char>, std::less<unsigned char>, std::allocator<unsigned char> >::_M_insert_unique (this=0x7fffffffa5f8, __v=@0x7fffffffb300) at /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/s tl_tree.h:1179 #3 0x00002aaaabccf8b3 in std::set<unsigned char, std::less<unsigned char>, std::allocator<unsigned char> >::insert (this=0x7fffffffa5f8, __x=@0x7fffffffb300) at /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/s tl_set.h:411 #4 0x00002aaab5896dd5 in libMesh::MeshBase::MeshBase (this=0x7fffffffb298, comm_in=..., d=2 '\002') at src/mesh/mesh_base.C:59 #5 0x00002aaab589739a in libMesh::MeshBase::MeshBase (this=0x7fffffffb298) at src/mesh/mesh_base.C:45 #6 0x00002aaab5aa3084 in libMesh::UnstructuredMesh::UnstructuredMesh (this=0x7fffffffb298, comm_in=..., d=2 '\002') at src/mesh/unstructured_mesh.C:56 #7 0x00002aaab5aa3208 in libMesh::UnstructuredMesh::UnstructuredMesh (this=0x7fffffffb298) at src/mesh/unstructured_mesh.C:54 #8 0x00002aaab5a868be in libMesh::SerialMesh::SerialMesh (this=0x7fffffffb298, comm_in=..., d=2 '\002') at src/mesh/serial_mesh.C:123 #9 0x00000000004c858a in main (argc=1, argv=0x7fffffffd7d8) at /g/g92/miguel/code/AMR-vector/src/vector_fe_ex1.C:1088 I understand that this error is difficult to diagnose through email, but I would really appreciate help on how to debug it. The same application runs perfectly when I compile it with the usual Makefile. The linking step for the compilation with CMake is: /usr/local/tools/openmpi-intel-1.8.4/bin/mpicxx -std=gnu++11 -fopenmp -g -w1 -g -wd175 -wd1476 -wd1505 -wd1572 -DDEBUG CMakeFiles/vector_cmake.dir/src/MMA.C.o CMakeFiles/vector_cmake.dir/src/MMAchau.C.o CMakeFiles/vector_cmake.dir/src/TopOpt.C.o CMakeFiles/vector_cmake.dir/src/compliance.C.o CMakeFiles/vector_cmake.dir/src/compliance_traction.C.o CMakeFiles/vector_cmake.dir/src/femparameters.C.o CMakeFiles/vector_cmake.dir/src/linear_material.C.o CMakeFiles/vector_cmake.dir/src/ramp.C.o CMakeFiles/vector_cmake.dir/src/ramp_stress.C.o CMakeFiles/vector_cmake.dir/src/resder.C.o CMakeFiles/vector_cmake.dir/src/simp.C.o CMakeFiles/vector_cmake.dir/src/vector_fe_ex1.C.o CMakeFiles/vector_cmake.dir/src/volume.C.o CMakeFiles/vector_cmake.dir/src/vonmises.C.o CMakeFiles/vector_cmake.dir/src/stress_recovery_error_estimator.C.o -o vector_cmake -rdynamic -lcurl -lhdf5 -lglpk /usr/local/tools/vtk-6.1.0/lib/libvtkIOCore-6.1.so /usr/local/tools/vtk-6.1.0/lib/libvtkCommonCore-6.1.so /usr/local/tools/vtk-6.1.0/lib/libvtkCommonDataModel-6.1.so /usr/local/tools/vtk-6.1.0/lib/libvtkFiltersCore-6.1.so /usr/local/tools/vtk-6.1.0/lib/libvtkIOXML-6.1.so /usr/local/tools/vtk-6.1.0/lib/libvtkImagingCore-6.1.so /usr/local/tools/vtk-6.1.0/lib/libvtkIOImage-6.1.so /usr/local/tools/vtk-6.1.0/lib/libvtkImagingMath-6.1.so -lz /g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libpetsc.so /g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libcmumps.a /g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libdmumps.a /g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libsmumps.a /g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libzmumps.a /g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libmumps_common.a /g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libpord.a /g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libscalapack.a /g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libHYPRE.a /g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libml.a -llapack -lblas /g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libparmetis.so /g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libmetis.so -lX11 -lhwloc -lssl -lcrypto /usr/local/tools/openmpi-intel-1.8.4/lib/libmpi_usempif08.so /usr/local/tools/openmpi-intel-1.8.4/lib/libmpi_usempi_ignore_tkr.so /usr/local/tools/openmpi-intel-1.8.4/lib/libmpi_mpifh.so -lifport -lifcore -lm /usr/local/tools/openmpi-intel-1.8.4/lib/libmpi.so -limf -lsvml -lirng -Wl,-Bstatic -lipgo -ldecimal -Wl,-Bdynamic -lcilkrts -lstdc++ -lgcc_s -lirc -lpthread -Wl,-Bstatic -lirc_s -Wl,-Bdynamic -ldl /g/g92/miguel/code/libmesh_2D/lib/libmesh_dbg.so -Wl,-rpath,/usr/local/tools/vtk-6.1.0/lib:/g/g92/miguel/petsc-3.6.2/miguel- opt/lib:/usr/local/tools/openmpi-intel-1.8.4/lib:/g/g92/miguel/code/libmesh _2D/lib: while for the Makefile is: libtool: link: /usr/local/tools/openmpi-intel-1.8.4/bin/mpicxx -std=gnu++11 -w1 -g -wd175 -wd1476 -wd1505 -wd1572 -fopenmp MMA.x86_64-unknown-linux-gnu.dbg.o MMAchau.x86_64-unknown-linux-gnu.dbg.o TopOpt.x86_64-unknown-linux-gnu.dbg.o compliance.x86_64-unknown-linux-gnu.dbg.o compliance_traction.x86_64-unknown-linux-gnu.dbg.o femparameters.x86_64-unknown-linux-gnu.dbg.o linear_material.x86_64-unknown-linux-gnu.dbg.o ramp.x86_64-unknown-linux-gnu.dbg.o ramp_stress.x86_64-unknown-linux-gnu.dbg.o resder.x86_64-unknown-linux-gnu.dbg.o simp.x86_64-unknown-linux-gnu.dbg.o stress_recovery_error_estimator.x86_64-unknown-linux-gnu.dbg.o vector_fe_ex1.x86_64-unknown-linux-gnu.dbg.o volume.x86_64-unknown-linux-gnu.dbg.o vonmises.x86_64-unknown-linux-gnu.dbg.o -o example-dbg -Wl,-rpath -Wl,/lib -Wl,-rpath -Wl,/usr/local/tools/vtk-6.1.0/lib -Wl,-rpath -Wl,/g/g92/miguel/petsc-3.6.2/miguel-opt/lib -Wl,-rpath -Wl,/usr/local/tools/ic-14.0.174/lib -Wl,-rpath -Wl,/usr/local/tools/openmpi-intel-1.8.4/lib -Wl,-rpath -Wl,/usr/local/tools/ic-14.0.174/composer_xe_2013_sp1.3.174/compiler/lib/in tel64 -Wl,-rpath -Wl,/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -Wl,-rpath -Wl,/g/g92/miguel/code/libmesh_2D/lib -L/usr/lib -L/lib -L/usr/lib64 -L/usr/local/tools/vtk-6.1.0/lib -L/g/g92/miguel/petsc-3.6.2/miguel-opt/lib -L/usr/local/tools/openmpi-intel-1.8.4/lib -L/usr/local/tools/ic-14.0.174/composer_xe_2013_sp1.3.174/compiler/lib/inte l64 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -limf -lsvml -lirng -lipgo -ldecimal -lcilkrts -lstdc++ -lgcc_s -lirc_s -L/g/g92/miguel/code/libmesh_2D/lib /g/g92/miguel/code/libmesh_2D/lib/libmesh_dbg.so -lcurl -lhdf5 -lglpk -lvtkIOCore-6.1 -lvtkCommonCore-6.1 -lvtkCommonDataModel-6.1 -lvtkFiltersCore-6.1 -lvtkIOXML-6.1 -lvtkImagingCore-6.1 -lvtkIOImage-6.1 -lvtkImagingMath-6.1 -lz -lpetsc -lcmumps -ldmumps -lsmumps -lzmumps -lmumps_common -lpord -lscalapack -lHYPRE -lml -llapack -lblas -lparmetis -lmetis -lX11 -lhwloc -lssl -lcrypto /usr/local/tools/openmpi-intel-1.8.4/lib/libmpi_usempif08.so /usr/local/tools/openmpi-intel-1.8.4/lib/libmpi_usempi_ignore_tkr.so /usr/local/tools/openmpi-intel-1.8.4/lib/libmpi_mpifh.so -lifport -lifcore -lirc /usr/local/tools/openmpi-intel-1.8.4/lib/libmpi.so -lrdmacm -libverbs -lpsm_infinipath /usr/local/tools/openmpi-intel-1.8.4/lib/libopen-rte.so /usr/local/tools/openmpi-intel-1.8.4/lib/libopen-pal.so -lm /usr/lib64/libpmi.so /usr/lib64/libslurm.so -ldl -lpthread -lnuma -lrt -lutil -pthread -fopenmp -Wl,-rpath -Wl,/g/g92/miguel/code/libmesh_2D/lib -Wl,-rpath -Wl,/usr/local/tools/openmpi-intel-1.8.4/lib -Wl,-rpath -Wl,/usr/lib64 -Wl,-rpath -Wl,/g/g92/miguel/code/libmesh_2D/lib -Wl,-rpath -Wl,/usr/local/tools/openmpi-intel-1.8.4/lib -Wl,-rpath -Wl,/usr/lib64 I see differences in how the rpath is assigned to the linked libraries. Could it be this? Thanks Miguel On 4/4/16, 1:18 PM, "Salazar De Troya, Miguel" <salazardet...@llnl.gov> wrote: >Yup, that was it. Thanks > > > > >On 4/4/16, 12:28 PM, "Roy Stogner" <royst...@ices.utexas.edu> wrote: > >> >>On Mon, 4 Apr 2016, Roy Stogner wrote: >> >>> That definitely looks like the issue. _counts is declared if and only >>> if DEBUG is defined. If you define DEBUG when building your >>> application then you need to be linking against a dbg-mode libMesh >>> build too. >> >>And as I should have said earlier: the quickest way to get link data >>for a dbg-mode libMesh is to make sure METHOD=dbg is specified when >>you execute libmesh-config. >>--- >>Roy > > >-------------------------------------------------------------------------- >---- >_______________________________________________ >Libmesh-users mailing list >Libmesh-users@lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/libmesh-users ------------------------------------------------------------------------------ _______________________________________________ Libmesh-users mailing list Libmesh-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-users