LINUX.ORG.RU

Сборка boost проблема


0

1

Мне позарез нужно скомпилировать плагин для ClamAV посредством cmake. Делал как описано тут https://github.com/Kerio/antivirus-sdk Собрал буст,но похоже что криво. При попытке собрать ClamAV плагин выдает это. Не может найти указанные библиотеки?

bash-4.2# cmake CMakeLists.txt
CMake Error at /usr/share/cmake-2.8/Modules FindBoost.cmake:1199 (message):
  Unable to find the requested Boost libraries.Boost version: 1.41.0
Boost include path: /usr/include Detected version of Boost is too old.  Requested version was 1.48 (or newer).

The following Boost libraries could not be found:

  boost_thread
  boost_filesystem
  boost_system
  boost_date_time
  boost_regex
  boost_chrono
 
  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:9 (find_package)


CMake Error at CMakeLists.txt:23 (SET_TARGET_PROPERTIES):set_target_properties Can not find target to add properties to: avir_clam

-- Configuring incomplete, errors occurred!
Дистр Slackware x64

Тебе же белым по английскому написали - нужен буст 1.48 или свежее, а у тебя 1.41.1

AF ★★★ ()

Boost is too old. Requested version was 1.48 (or newer)

хм?

anonymous ()

Собрал буст,но похоже что криво.

А зачем ты вообще такое старье собирал? На а если ты новый собирал и сам (а cmake нашел тот, что у тебя в системе), то можно cmake'y скормить -DBOOST_ROOT=/path/with/your/boost/build оно само все разрулит.

anonymous ()
Ответ на: комментарий от AF

Да одна фигня, он бы и старую съел, но с предупреждением. Вот новей версия 1.49.0 Всёравно библиотек не хватает.

bash-4.2# cmake CMakeCache.txt
CMake Error at /usr/share/cmake-2.8/Modules/FindBoost.cmake:1200 (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
          boost_filesystem
          boost_system
          boost_date_time
          boost_regex
          boost_chrono

  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:9 (find_package)


CMake Error at CMakeLists.txt:23 (SET_TARGET_PROPERTIES):
  set_target_properties Can not find target to add properties to: avir_clam


-- Configuring incomplete, errors occurred!
Данный буст из дистрибутива. Собирал версию даже 1.51.0 эфект тот же.

Humaxoid ()
Ответ на: комментарий от Humaxoid

значит скармливай -DBOOST_LIBRARYDIR=/usr/lib или где они там у тебя

а еще сделать -DBoost_DEBUG=1 чтоб он показал, где и что ищет

anonymous ()
Ответ на: комментарий от Humaxoid

Ну вот и посмотри глазами, есть ли у тебя вообще все эти:
boost_thread
boost_filesystem
boost_system
boost_date_time
boost_regex
boost_chrono

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

А библиотеки буста собраны разделяемыми или статическими? Если статическими, то cmake'у надо ещё передавать флаг -DBoost_USE_STATIC_LIBS=ON

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

Ну вот и посмотри глазами, есть ли у тебя вообще все эти:

boost_thread

boost_filesystem

boost_system

boost_date_time

boost_regex

boost_chrono

Вижу это, не оно?

dir /usr/lib64
libboost_thread.so
libboost_thread.so.1.54.0
libboost_filesystem.so
libboost_filesystem.so.1.54.0
libboost_system.so
libboost_system.so.1.54.0
libboost_date_time.so
libboost_date_time.so.1.54.0
libboost_regex.so
libboost_regex.so.1.54.0
libboost_chrono.so
libboost_chrono.so.1.54.0

anonymous ()
Ответ на: комментарий от anonymous

Это библиотеки буста 1.54.0
А перед этим ты писал про буст 1.49.0

Конечно запутаться можно!
Ставишь то хоть ч-з слакбилды или «make && make install»?

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

еще смотри путь /usr/lib64

И сделай, уже наконец, как сказали, Boost_DEBUG, он тебе все расскажет, где ищет и что ищет.

anonymous ()
Ответ на: комментарий от anonymous

еще смотри путь /usr/lib64

В смысле смотри, знает ли о нем cmake фик знает что там в слаке принято, что нет.

anonymous ()
Ответ на: комментарий от AF

Это библиотеки буста 1.54.0 А перед этим ты писал про буст 1.49.0

Да я уже обновил буст с момента последнего сообщения, просто забыл сказать. Но толку ноль ))

Ставишь то хоть ч-з слакбилды или «make && make install»?

Да по разному пробовал и пакет из дистрибутива ставил и сам собирал из слакбилдов и из исходников ставил. Картина одинаковая.

Humaxoid ()
Ответ на: комментарий от anonymous

И сделай, уже наконец, как сказали, Boost_DEBUG, он тебе все расскажет, где ищет и что ищет.

bash-4.2# cmake -CDBoost_DEBUG=1              
loading initial cache file DBoost_DEBUG=1
CMake Error: Error processing file:DBoost_DEBUG=1
-- The C compiler identification is GNU 4.7.1
-- The CXX compiler identification is GNU 4.7.1
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
CMake Error at /usr/share/cmake-2.8/Modules/FindBoost.cmake:1200 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.54.0

  Boost include path: /usr/include

  The following Boost libraries could not be found:

          boost_thread
          boost_filesystem
          boost_system
          boost_date_time
          boost_regex
          boost_chrono

  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:9 (find_package)

CMake Error at CMakeLists.txt:23 (SET_TARGET_PROPERTIES):
  set_target_properties Can not find target to add properties to: avir_clam

-- Configuring incomplete, errors occurred!

И еще на всякий случай содержимое файла CMakeLists.txt

PROJECT(avir_clam)
cmake_minimum_required(VERSION 2.8)
set(Boost_DETAILED_FAILURE_MSG TRUE)
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
set(Boost_ADDITIONAL_VERSIONS "1.54.0")

find_package(Boost ${Boost_ADDITIONAL_VERSIONS} COMPONENTS thread filesystem system date_time regex chrono REQUIRED)

IF (WIN32)
  ADD_DEFINITIONS(-D_WIN32_WINNT=0x0501 -D_CRT_SECURE_NO_WARNINGS)
ENDIF(WIN32)

if(Boost_FOUND)
    include_directories(${Boost_INCLUDE_DIRS})
	INCLUDE_DIRECTORIES("." "../api/")
	ADD_LIBRARY(avir_clam SHARED avPlugin.cpp ClamPlugin.cpp ClamPlugin.hpp avName.h ../api/avPlugin.h ../api/avCommon.h ../api/avCommon.c ../api/avApi.h)
	SET_TARGET_PROPERTIES(avir_clam PROPERTIES PREFIX "" COMPILE_FLAGS "-Wall")
    target_link_libraries(avir_clam ${Boost_LIBRARIES})
endif()

SET_TARGET_PROPERTIES(avir_clam PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32")

Humaxoid ()
Ответ на: комментарий от anonymous

не не cmake -DBoost_DEBUG=1 Без всяких 'C'

cmake -DBoost_DEBUG=1
-- The C compiler identification is GNU 4.7.1
-- The CXX compiler identification is GNU 4.7.1
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:526 ] Boost not in cache
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:529 ] _boost_TEST_VERSIONS = 1.54.0
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:531 ] Boost_USE_MULTITHREADED = ON
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:533 ] Boost_USE_STATIC_LIBS = ON
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:535 ] Boost_USE_STATIC_RUNTIME = OFF
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:537 ] Boost_ADDITIONAL_VERSIONS = 1.54.0
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:539 ] Boost_NO_SYSTEM_PATHS = 
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:607 ] Declared as CMake or Environmental Variables:
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:609 ]   BOOST_ROOT = 
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:611 ]   BOOST_INCLUDEDIR = 
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:613 ]   BOOST_LIBRARYDIR = 
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:615 ] _boost_TEST_VERSIONS = 1.54.0
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:668 ] Include debugging info:
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:670 ]   _boost_INCLUDE_SEARCH_DIRS = C:/boost/include;C:/boost;/boost/include;/boost;/sw/local/include
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:672 ]   _boost_PATH_SUFFIXES = boost-1_54_0;boost_1_54_0
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:697 ] location of version.hpp: /usr/include/boost/version.hpp
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:716 ] version.hpp reveals boost 1.54.0
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:809 ] guessed _boost_COMPILER = -gcc47
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:819 ] _boost_MULTITHREADED = -mt
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:862 ] _boost_RELEASE_ABI_TAG = -
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:864 ] _boost_DEBUG_ABI_TAG = -d
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:907 ] _boost_LIBRARY_SEARCH_DIRS = /usr/include/lib;/usr/include/../lib;/usr/include/stage/lib;C:/boost/lib;C:/boost;/boost/boost_1_54_0/lib;/boost/boost_1_54/lib;/boost/lib;/boost;/sw/local/lib
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:978 ] Searching for THREAD_LIBRARY_RELEASE: boost_thread-gcc47-mt-1_54;boost_thread-gcc47-mt;boost_thread-mt-1_54;boost_thread-mt;boost_thread
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:1010 ] Searching for THREAD_LIBRARY_DEBUG: boost_thread-gcc47-mt-d-1_54;boost_thread-gcc47-mt-d;boost_thread-mt-d-1_54;boost_thread-mt-d;boost_thread-mt;boost_thread
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:978 ] Searching for FILESYSTEM_LIBRARY_RELEASE: boost_filesystem-gcc47-mt-1_54;boost_filesystem-gcc47-mt;boost_filesystem-mt-1_54;boost_filesystem-mt;boost_filesystem
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:1010 ] Searching for FILESYSTEM_LIBRARY_DEBUG: boost_filesystem-gcc47-mt-d-1_54;boost_filesystem-gcc47-mt-d;boost_filesystem-mt-d-1_54;boost_filesystem-mt-d;boost_filesystem-mt;boost_filesystem
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:978 ] Searching for SYSTEM_LIBRARY_RELEASE: boost_system-gcc47-mt-1_54;boost_system-gcc47-mt;boost_system-mt-1_54;boost_system-mt;boost_system
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:1010 ] Searching for SYSTEM_LIBRARY_DEBUG: boost_system-gcc47-mt-d-1_54;boost_system-gcc47-mt-d;boost_system-mt-d-1_54;boost_system-mt-d;boost_system-mt;boost_system
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:978 ] Searching for DATE_TIME_LIBRARY_RELEASE: boost_date_time-gcc47-mt-1_54;boost_date_time-gcc47-mt;boost_date_time-mt-1_54;boost_date_time-mt;boost_date_time
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:1010 ] Searching for DATE_TIME_LIBRARY_DEBUG: boost_date_time-gcc47-mt-d-1_54;boost_date_time-gcc47-mt-d;boost_date_time-mt-d-1_54;boost_date_time-mt-d;boost_date_time-mt;boost_date_time
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:978 ] Searching for REGEX_LIBRARY_RELEASE: boost_regex-gcc47-mt-1_54;boost_regex-gcc47-mt;boost_regex-mt-1_54;boost_regex-mt;boost_regex
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:1010 ] Searching for REGEX_LIBRARY_DEBUG: boost_regex-gcc47-mt-d-1_54;boost_regex-gcc47-mt-d;boost_regex-mt-d-1_54;boost_regex-mt-d;boost_regex-mt;boost_regex
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:978 ] Searching for CHRONO_LIBRARY_RELEASE: boost_chrono-gcc47-mt-1_54;boost_chrono-gcc47-mt;boost_chrono-mt-1_54;boost_chrono-mt;boost_chrono
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:1010 ] Searching for CHRONO_LIBRARY_DEBUG: boost_chrono-gcc47-mt-d-1_54;boost_chrono-gcc47-mt-d;boost_chrono-mt-d-1_54;boost_chrono-mt-d;boost_chrono-mt;boost_chrono
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:1120 ] Boost_FOUND = FALSE
CMake Error at /usr/share/cmake-2.8/Modules/FindBoost.cmake:1200 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.54.0

  Boost include path: /usr/include

  The following Boost libraries could not be found:

          boost_thread
          boost_filesystem
          boost_system
          boost_date_time
          boost_regex
          boost_chrono

  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:9 (find_package)

CMake Error at CMakeLists.txt:23 (SET_TARGET_PROPERTIES):
  set_target_properties Can not find target to add properties to: avir_clam

-- Configuring incomplete, errors occurred!
Humaxoid ()
Ответ на: комментарий от Humaxoid

ну вот и добрались до истины

Смотри:

_boost_LIBRARY_SEARCH_DIRS = /usr/include/lib;/usr/include/../lib;/usr/include/stage/lib;C:/boost/lib;C:/boost;/boost/boost_1_54_0/lib;/boost/boost_1_54/lib;/boost/lib;/boost;/sw/local/lib

нет тут lib64 (как я понял ты именно ее хочешь), вообще.

Поэтому он тебе предлагает добавить BOOST_LIBRARYDIR, то есть

-DBOOST_LIBRARYDIR=/usr/lib64 (или где они у тебя)

Но тут можнт встать еще один вопрос. например имена, которые он ожидает, перечислены в списке:

Систем например:

Searching for SYSTEM_LIBRARY_RELEASE: boost_system-gcc47-mt-1_54;boost_system-gcc47-mt;boost_system-mt-1_54;boost_system-mt;boost_system

вот и проверь заодно, есть ли такие файлы, с такими именами у тебя.

anonymous ()
Ответ на: комментарий от anonymous

Указывал -DBOOST_LIBRARYDIR=/usr/lib64, ничего не изменилось. А вот когда указал Boost_USE_STATIC_RUNTIME = OFF в файле CMakeLists.txt, то получил следующее!

cmake -DBoost_DEBUG=1
-- The C compiler identification is GNU 4.7.1
-- The CXX compiler identification is GNU 4.7.1
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:526 ] Boost not in cache
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:529 ] _boost_TEST_VERSIONS = 1.54.0
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:531 ] Boost_USE_MULTITHREADED = ON
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:533 ] Boost_USE_STATIC_LIBS = OFF
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:535 ] Boost_USE_STATIC_RUNTIME = OFF
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:537 ] Boost_ADDITIONAL_VERSIONS = 1.54.0
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:539 ] Boost_NO_SYSTEM_PATHS = 
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:607 ] Declared as CMake or Environmental Variables:
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:609 ]   BOOST_ROOT = 
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:611 ]   BOOST_INCLUDEDIR = 
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:613 ]   BOOST_LIBRARYDIR = 
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:615 ] _boost_TEST_VERSIONS = 1.54.0
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:668 ] Include debugging info:
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:670 ]   _boost_INCLUDE_SEARCH_DIRS = C:/boost/include;C:/boost;/boost/include;/boost;/sw/local/include
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:672 ]   _boost_PATH_SUFFIXES = boost-1_54_0;boost_1_54_0
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:697 ] location of version.hpp: /usr/include/boost/version.hpp
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:716 ] version.hpp reveals boost 1.54.0
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:809 ] guessed _boost_COMPILER = -gcc47
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:819 ] _boost_MULTITHREADED = -mt
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:862 ] _boost_RELEASE_ABI_TAG = -
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:864 ] _boost_DEBUG_ABI_TAG = -d
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:907 ] _boost_LIBRARY_SEARCH_DIRS = /usr/include/lib;/usr/include/../lib;/usr/include/stage/lib;C:/boost/lib;C:/boost;/boost/boost_1_54_0/lib;/boost/boost_1_54/lib;/boost/lib;/boost;/sw/local/lib
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:978 ] Searching for THREAD_LIBRARY_RELEASE: boost_thread-gcc47-mt-1_54;boost_thread-gcc47-mt;boost_thread-mt-1_54;boost_thread-mt;boost_thread
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:1010 ] Searching for THREAD_LIBRARY_DEBUG: boost_thread-gcc47-mt-d-1_54;boost_thread-gcc47-mt-d;boost_thread-mt-d-1_54;boost_thread-mt-d;boost_thread-mt;boost_thread
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:978 ] Searching for FILESYSTEM_LIBRARY_RELEASE: boost_filesystem-gcc47-mt-1_54;boost_filesystem-gcc47-mt;boost_filesystem-mt-1_54;boost_filesystem-mt;boost_filesystem
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:1010 ] Searching for FILESYSTEM_LIBRARY_DEBUG: boost_filesystem-gcc47-mt-d-1_54;boost_filesystem-gcc47-mt-d;boost_filesystem-mt-d-1_54;boost_filesystem-mt-d;boost_filesystem-mt;boost_filesystem
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:978 ] Searching for SYSTEM_LIBRARY_RELEASE: boost_system-gcc47-mt-1_54;boost_system-gcc47-mt;boost_system-mt-1_54;boost_system-mt;boost_system
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:1010 ] Searching for SYSTEM_LIBRARY_DEBUG: boost_system-gcc47-mt-d-1_54;boost_system-gcc47-mt-d;boost_system-mt-d-1_54;boost_system-mt-d;boost_system-mt;boost_system
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:978 ] Searching for DATE_TIME_LIBRARY_RELEASE: boost_date_time-gcc47-mt-1_54;boost_date_time-gcc47-mt;boost_date_time-mt-1_54;boost_date_time-mt;boost_date_time
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:1010 ] Searching for DATE_TIME_LIBRARY_DEBUG: boost_date_time-gcc47-mt-d-1_54;boost_date_time-gcc47-mt-d;boost_date_time-mt-d-1_54;boost_date_time-mt-d;boost_date_time-mt;boost_date_time
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:978 ] Searching for REGEX_LIBRARY_RELEASE: boost_regex-gcc47-mt-1_54;boost_regex-gcc47-mt;boost_regex-mt-1_54;boost_regex-mt;boost_regex
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:1010 ] Searching for REGEX_LIBRARY_DEBUG: boost_regex-gcc47-mt-d-1_54;boost_regex-gcc47-mt-d;boost_regex-mt-d-1_54;boost_regex-mt-d;boost_regex-mt;boost_regex
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:978 ] Searching for CHRONO_LIBRARY_RELEASE: boost_chrono-gcc47-mt-1_54;boost_chrono-gcc47-mt;boost_chrono-mt-1_54;boost_chrono-mt;boost_chrono
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:1010 ] Searching for CHRONO_LIBRARY_DEBUG: boost_chrono-gcc47-mt-d-1_54;boost_chrono-gcc47-mt-d;boost_chrono-mt-d-1_54;boost_chrono-mt-d;boost_chrono-mt;boost_chrono
-- [ /usr/share/cmake-2.8/Modules/FindBoost.cmake:1120 ] Boost_FOUND = TRUE
-- Boost version: 1.54.0
-- Found the following Boost libraries:
--   thread
--   filesystem
--   system
--   date_time
--   regex
--   chrono
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/src/antivirus-sdk-master/clam

Humaxoid ()
Ответ на: комментарий от Humaxoid

Теперь другой гемор. Вот что при сборке выдало.

bash-4.2# make
[ 33%] Building CXX object CMakeFiles/avir_clam.dir/avPlugin.cpp.o
In file included from /usr/include/features.h:382:0,
                 from /usr/include/string.h:27,
                 from /usr/src/antivirus-sdk-master/clam/avPlugin.cpp:11:
/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/avir_clam.dir/avPlugin.cpp.o] Error 1
make[1]: *** [CMakeFiles/avir_clam.dir/all] Error 2
make: *** [all] Error 2
Humaxoid ()
Ответ на: комментарий от Humaxoid

А вот когда указал Boost_USE_STATIC_RUNTIME = OFF

Это значит у тебя нет статических сборок буста. Это либо ставить отдельно, либо собирать буст с пометкой статического рантайма.

anonymous ()

А вообще этот ваш CMake та еще наркомания.
В QMake всё просто:
clam.pro:

#-------------------------------------------------
#
# Project created by QtCreator 2014-05-23T18:40:15
#
#-------------------------------------------------

CONFIG -= qt
TARGET = avir_clam
TEMPLATE = lib

INCLUDEPATH += .
INCLUDEPATH += ../api/

LIBS += -lboost_thread -lboost_filesystem -lboost_system

HEADERS +=  ../api/avCommon.h \
            ../api/avAPI.h \
            ../api/avPlugin.h \
            avName.h \
            ClamPlugin.hpp

SOURCES +=  ../api/avCommon.c \
            avPlugin.cpp \
            ClamPlugin.cpp

qmake clam.pro
make

http://rghost.net/55694834

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

и qmake наверное тоже под венду работает как надо? и студийные солюшины умеет создавать, да? И для всяких армов и экзотических железок тоже прожекты на нем можно поддерживать?

anonymous ()
Ответ на: комментарий от EXL

ClamAV у тебя 32-Х битный? Вытри из CMakeLists.txt -m32

Да 32 битный. Заменил -m32 на -m64. Собралось без ошибок. Всем ну просто огромное человеческое спасибо!

Humaxoid ()
Ответ на: комментарий от Humaxoid

Вот тебе Makefile, без зависимостей от CMake и QMake, вдруг пригодится:

#############################################################################
# Makefile for building: libavir_clam.so.1.0.0
# Generated by qmake (2.01a) (Qt 4.8.4) on: Fri May 23 19:11:21 2014
# Project:  clam.pro
# Template: lib
# Command: /usr/lib/x86_64-linux-gnu/qt4/bin/qmake -o Makefile clam.pro
#############################################################################

####### Compiler, tools and options

CC            = gcc
CXX           = g++
CFLAGS        = -m64 -pipe -O2 -Wall -W -fPIC $(DEFINES)
CXXFLAGS      = -m64 -pipe -O2 -Wall -W -fPIC $(DEFINES)
INCPATH       = -I. -I../api
LINK          = g++
LFLAGS        = -m64 -Wl,-O1 -shared -Wl,-soname,libavir_clam.so.1
LIBS          = $(SUBLIBS) -L/usr/lib/x86_64-linux-gnu -lboost_thread -lboost_filesystem -lboost_system
AR            = ar cqs
DEL_FILE      = rm -f

####### Output directory

OBJECTS_DIR   = ./

####### Files

SOURCES       = ../api/avCommon.c \
		avPlugin.cpp \
		ClamPlugin.cpp 
OBJECTS       = avCommon.o \
		avPlugin.o \
		ClamPlugin.o
		
QMAKE_TARGET  = avir_clam
DESTDIR       = 
TARGET        = libavir_clam.so.1.0.0
TARGETA       = libavir_clam.a
TARGETD       = libavir_clam.so.1.0.0
TARGET0       = libavir_clam.so
TARGET1       = libavir_clam.so.1
TARGET2       = libavir_clam.so.1.0

first: all
####### Implicit rules

.SUFFIXES: .o .c .cpp .cc .cxx .C

.cpp.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.cc.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.cxx.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.C.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.c.o:
	$(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"

####### Build rules

all: Makefile  $(TARGET)

$(TARGET):  $(OBJECTS) $(SUBLIBS) $(OBJCOMP)  
	-$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)
	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
	-ln -s $(TARGET) $(TARGET0)
	-ln -s $(TARGET) $(TARGET1)
	-ln -s $(TARGET) $(TARGET2)

staticlib: $(TARGETA)

$(TARGETA):  $(OBJECTS) $(OBJCOMP) 
	-$(DEL_FILE) $(TARGETA) 
	$(AR) $(TARGETA) $(OBJECTS)

clean: 
	-$(DEL_FILE) $(OBJECTS) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) $(TARGETA)
	-$(DEL_FILE) *~ core *.core

####### Compile

avCommon.o: ../api/avCommon.c ../api/avApi.h \
		../api/avCommon.h \
		avName.h \
		../api/avPlugin.h
	$(CC) -c $(CFLAGS) $(INCPATH) -o avCommon.o ../api/avCommon.c

avPlugin.o: avPlugin.cpp ../api/avApi.h \
		../api/avCommon.h \
		../api/avPlugin.h \
		ClamPlugin.hpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o avPlugin.o avPlugin.cpp

ClamPlugin.o: ClamPlugin.cpp ../api/avCommon.h \
		../api/avApi.h \
		ClamPlugin.hpp \
		../api/avPlugin.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ClamPlugin.o ClamPlugin.cpp

####### Install

install:   FORCE

uninstall:   FORCE

FORCE:

Просто помести его в директорию antivirus-sdk/clam/ и make

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

и qmake наверное тоже под венду работает как надо?

Да.

и студийные солюшины умеет создавать, да?

Не нужно, как и сам MSVC.

И для всяких армов и экзотических железок тоже прожекты на нем можно поддерживать?

Почему нет? Вполне. Все работает, все кросс-платформенно. Видел QMake-проекты для Dingoo A320, к примеру.

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

Да.

4.2. прикручивание сторонних либ - сущий адЪ. Если с системой сборки приходится мудохаться весь день, чтоб собрать простую дровину - то такая система идет по известному адресу.

Не нужно, как и сам MSVC.

Спорное утверждение, особенно для заказчиков, у которых студия куплена, вместе с каким-нить билдсервером, который пользует студийные фишки для сборок проектов. У меня сейчас океанологи есть из одной очень северной страны, которые до сих пор свой софт собирают студией 9кой для оффтопика.

anonymous ()
Ответ на: комментарий от anonymous

прикручивание сторонних либ - сущий адЪ. Если с системой сборки приходится мудохаться весь день, чтоб собрать простую дровину - то такая система идет по известному адресу.

Это ты про CMake?

Humaxoid ★
Мне позарез нужно скомпилировать плагин для ClamAV посредством cmake.
9:48:01

Humaxoid ★
Собралось без ошибок.
16:23:49

ТС вон с ним полдня мудохался.

А в QMake с прикручиванием сторонних либ и в Windows особо мучиться не нужно. Если возникнет затык, то так же, как и в Makefile - LIBS += -L"c:\mingw32\lib" -library и все должно пройти.

Спорное утверждение, особенно для заказчиков, у которых студия куплена, вместе с каким-нить билдсервером, который пользует студийные фишки для сборок проектов. У меня сейчас океанологи есть из одной очень северной страны, которые до сих пор свой софт собирают студией 9кой для оффтопика.

Для каждого случая подходит своя система сборки. И у каждого свои предпочтения. Лично я не понимаю, почему для такого небольшого проекта нужно использовать такую штуку, как CMake, тем более с захордкоженной 32-битной архитектурой.

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