LINUX.ORG.RU

openSuse, cmake не находит boost

 , , ,


0

2

Такая вот проблема в openSuse 12.3, я прямо растерялся. Cmake не находит ни boost, ни libucu. Хотя и то, и другое установлены. Про boost_root знаю. Но что-то мне кажется, это не пофиксит проблему. Имхо, она в cmake, а не в boost. Погуглил маленько, cmake в openSuse, кажись, всегда не находил boost, прям родовое проклятие какое-то, что 10, что в 11 и вот теперь в 12-й тоже. То решение, которое есть для 11-й, не применимо для 12-й версии openSuse. Что, блин, делать-то?

Сам я фанат Debian, так что с радостью бы снес этот openSuse к чертям, но на работе нужен именно он.

★★★★★

Последнее исправление: hibou (всего исправлений: 1)

Что конкретно cmake пишет? У самого 12.3 - все в порядке. Может капслоком в find_package аргументы прописал?

Amp ★★★
()
Последнее исправление: Amp (всего исправлений: 1)
Ответ на: комментарий от Amp

Reset

CMake Error at /usr/share/cmake/Modules/FindBoost.cmake:1192 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.49.0

  Boost include path: /usr/include

  The following Boost libraries could not be found:

          boost_thread

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  CMakeLists.txt:153 (find_package)

...
hibou ★★★★★
() автор топика
Ответ на: комментарий от Reset
	find_package(Boost COMPONENTS thread REQUIRED)
	find_package(Boost COMPONENTS system REQUIRED)
	find_package(Boost COMPONENTS filesystem REQUIRED)
	find_package(Boost COMPONENTS program_options REQUIRED)
	find_package(Boost COMPONENTS unit_test_framework REQUIRED)  
	find_library(BOOST_LOCALE libboost_locale.a)
	find_library(ICU_DATA libicudata.a)
	find_library(ICU_I18N libicui18n.a)
	find_library(ICU_UC libicuuc.a)
hibou ★★★★★
() автор топика

Reset Amp

Есть гипотеза, что нужны статические библиотеки, т.е. пакет boost-devel-static, которого в openSuse я не нашел, но который есть для SLE[D|S]. Для SLE версия буста 1.34. У нас должна быть 1.49. Т.е. выход - либо компилять boost из исходников, либо искать где-то пакет со статическими либами.

hibou ★★★★★
() автор топика
Ответ на: комментарий от hibou

Нет, всё должно работать и так. Давай логи cmake.

CMakeFiles/CMakeOutput.log, CMakeFiles/CMakeError.log

Reset ★★★★★
()

Проблему решил компиляцией буста из сорцов, с построением статических либ.

hibou ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.