Ошибка сегментации приложения CppCMS под FreeBSD

Я пытался создать веб-страницу на основе CppCMS. Он компилируется и работает под Gentoo (GCC). Но у меня возникают проблемы при попытке собрать приложение под FreeBSD (учетная запись на хостинг-провайдере). Компилятором по умолчанию является Clang.

Я скачал пакет CppCMS и экспортировал несколько переменных:

export CC=gcc48
export CXX=g++48
export LD_LIBRARY_PATH=/usr/local/lib/gcc48

Тогда как обычно:

cmake -DCMAKE_INSTALL_PREFIX=/home/mrozigor/libs ..
make

И в этот момент что-то, вероятно, не так, потому что это не на всех тестах (make test) с ошибкой сегментации. Но я попытался построить свое приложение и использовал команду:

PATH=$HOME/libs/bin:$PATH CPATH=$HOME/libs/include:$CPATH LIBRARY_PATH=$HOME/libs/lib:$LIBRARY_PATH ./build.sh

и это построить. Но при попытке его выполнить (LD_LIBRARY_PATH=$HOME/libs/lib app) это также терпит неудачу с SEGFAULT.

Что также интересно, когда я пытался выполнить команду ldd libcppcms.so в каталоге сборки CppCMS происходит сбой ldd: libcppcms.so: Shared object "libcppcms.so" not found, required by "ldd", но при попытке выполнить ту же команду в каталоге установки lib она указывает на правильные объекты.

Это проблема со связыванием некоторых библиотек? Или, может быть, некоторые переменные env указывают на некоторые зависимости Clang и т. Д.?

[РЕДАКТИРОВАТЬ]

Пробовал с вариантами:
cmake -DCMAKE_BUILD_TYPE = Debug -DCMAKE_INSTALL_PREFIX = / home / mrozigor / libs -DCMAKE_C_COMPILER = gcc49 -DCMAKE_CXX_COMPILER = g ++ 49 -DCMAKE_LIBRARY_PATH = / usr / local / lib / local / lib / local / lib /
LD_LIBRARY_PATH = / usr / local / lib / gcc49 make
LD_LIBRARY_PATH = / USR / местные / Библиотека / gcc49

Все еще SEGFAULT с заданным обратным следом, основанным на файле дампа:

#0  0x0000000000000000 in ?? ()
#1  0x0000000802d3fc49 in __cxxabiv1::__dynamic_cast (src_ptr=0x80300f3c0 <(anonymous namespace)::ctype_c>, src_type=0x802ff35d0 <typeinfo for std::locale::facet>, dst_type=0x802ff3340 <typeinfo for std::ctype<char>>, src2dst=0) at /wrkdirs/usr/ports/lang/gcc/work/gcc-4.9.4/libstdc++-v3/libsupc++/dyncast.cc:60
#2  0x0000000802d76477 in std::has_facet<std::ctype<char> > (__loc=...) at /wrkdirs/usr/ports/lang/gcc/work/.build/x86_64-portbld-freebsd10.3/libstdc++-v3/include/bits/locale_classes.tcc:110
#3  0x0000000802d67658 in std::basic_ios<char, std::char_traits<char> >::_M_cache_locale (this=this@entry=0x606448 <std::cout@@GLIBCXX_3.4+8>, __loc=...) at /wrkdirs/usr/ports/lang/gcc/work/.build/x86_64-portbld-freebsd10.3/libstdc++-v3/include/bits/basic_ios.tcc:159
#4  0x0000000802d67824 in std::basic_ios<char, std::char_traits<char> >::init (this=this@entry=0x606448 <std::cout@@GLIBCXX_3.4+8>, __sb=0x80300d7c0 <__gnu_internal::buf_cout_sync>) at /wrkdirs/usr/ports/lang/gcc/work/.build/x86_64-portbld-freebsd10.3/libstdc++-v3/include/bits/basic_ios.tcc:132
#5  0x0000000802d56d51 in std::basic_ostream<char, std::char_traits<char> >::basic_ostream (__sb=<optimized out>, this=<optimized out>, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /wrkdirs/usr/ports/lang/gcc/work/.build/x86_64-portbld-freebsd10.3/libstdc++-v3/include/ostream:85
#6  std::ios_base::Init::Init (this=<optimized out>) at /wrkdirs/usr/ports/lang/gcc/work/gcc-4.9.4/libstdc++-v3/src/c++98/ios_init.cc:91
#7  0x000000080112c941 in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at /usr/local/lib/gcc49/include/c++/iostream:74
#8  0x000000080112c98c in _GLOBAL__sub_I_posix_time.cpp(void) () at /home/mrozigor/src/cppcms/booster/lib/ptime/src/posix_time.cpp:101
#9  0x000000080060ab77 in ?? () from /libexec/ld-elf.so.1
#10 0x000000080060a0ee in ?? () from /libexec/ld-elf.so.1
#11 0x0000000800608439 in ?? () from /libexec/ld-elf.so.1
#12 0x0000000000000000 in ?? ()

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector