5

otrzymuję następujący błąd tylko wtedy, gdy debugować za pomocą gdb na moim kod skompilowany z flagą debugowaniadebugowania winy seg w boost :: matematyki :: lanczos z libpcl_surface

Program received signal SIGSEGV, Segmentation fault. 
0x00007fffc79a7ff0 in boost::math::lanczos::lanczos_initializer<boost::math::lanczos::lanczos17m64, long double>::init::init()() 
from /usr/lib/libpcl_surface.so.1.7 

OS: unbutu 14,04

I mieć najnowszą bibliotekę pcl (1.7 Sprikelhof) i bibliotekę boost (1.54)

Uwaga, nie ma segfaulta podczas działania poza gdb.

+0

Mam taki sam problem z biblioteką GTSAM. Dostaję segfault za każdym razem, niezależnie od tego, czy uruchamiam GDB. Opublikuj odpowiedź, jeśli ją znajdziesz. – rcv

+1

wpadł na ten sam problem, w jakiś sposób działa, jeśli wyłączę C++ 11. – sled

+0

Ten sam problem tutaj w przypadku sferycznego Bessela Funkcje pierwszego i drugiego rodzaju (sph_bessel) z boostu 1.58.0: błąd segmentacji, jeśli włączono C++ 11. – domini1000

Odpowiedz

6

miałem podobny problem przy kompilacji używając -std=c++11 ale tylko w trybie Debug: set(CMAKE_BUILD_TYPE Debug). W trybie Release lub RelWithDebInfo wszystko działało zgodnie z oczekiwaniami.

Rozwiązałem problem optymalizujący skompilowany kod (w trybie Debug) za pomocą opcji -O1. tj. set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O1").

Nie wiem, dlaczego to działa, ale działa dla mnie.