IDE, VCS и прочее
Модератор: Модераторы разделов
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux
Сообщение
Bizdelnick » 09.11.2011 15:49
Пытаюсь собрать darktable с динамической линковкой. В итоге получается, что бинарник не находит библиотеку, лежащую в /usr/lib/darktable:
Shell
$ ldd /usr/bin/darktable
linux-gate.so.1 => (0xffffe000)
libdarktable.so => not found
libpthread.so.0 => /lib/i686/libpthread.so.0 (0xb7768000)
libc.so.6 => /lib/i686/libc.so.6 (0xb75eb000)
/lib/ld-linux.so.2 (0xb779b000)
Я так понимаю, ответственен за это безобразие слудующий кусок CMakeLists:
Код: Выделить всё
#
# build darktable executable
#
add_executable(darktable ${SUBSYSTEM_MACOSX} ${SUBSYSTEM_WIN32} main.c ${RESOURCE_OBJECT})
set_target_properties(darktable PROPERTIES CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
set_target_properties(darktable PROPERTIES CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
set_target_properties(darktable PROPERTIES INSTALL_RPATH $ORIGIN/../${LIB_INSTALL}/darktable)
set_target_properties(darktable PROPERTIES LINKER_LANGUAGE C)
target_link_libraries(darktable ${LIBS})
install(TARGETS darktable DESTINATION bin)
Однако же что тут надо исправить - никак не соображу. До чёрта этих переменных блабла_RPATH, какая за что отвечает - без поллитры не разберёшься... Подскажите, кто в теме.
Пишите правильно:
в консоли
вк у́пе (с чем-либо)
в о бщем
воо бще в течение (часа)
новичо к
ню анс
по у молчанию приемле мо
проблем а
пробо вать
траф ик
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux
Сообщение
Bizdelnick » 10.11.2011 14:14
Внимание, правильный ответ:
Код: Выделить всё
add_executable(darktable ${SUBSYSTEM_MACOSX} ${SUBSYSTEM_WIN32} main.c ${RESOURCE_OBJECT})
set_target_properties(darktable PROPERTIES CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
set_target_properties(darktable PROPERTIES CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
set_target_properties(darktable PROPERTIES LINKER_LANGUAGE C)
target_link_libraries(darktable ${LIBS})
install(TARGETS darktable DESTINATION bin)
Пишите правильно:
в консоли
вк у́пе (с чем-либо)
в о бщем
воо бще в течение (часа)
новичо к
ню анс
по у молчанию приемле мо
проблем а
пробо вать
траф ик