LINUX.ORG.RU

Ошибка при сборке Clementine

 , ,


0

1

Slackware-current, i486. Не получается собрать Clementine из SBo через sbopkg. Все нужные зависимости установлены, configure ok. Кусок лога:

[100%] Building CXX object src/CMakeFiles/clementine_lib.dir/qrc_data.cxx.o
[100%] Building CXX object src/CMakeFiles/clementine_lib.dir/qrc_translations.cxx.o
Linking CXX static library libclementine_lib.a
[100%] Built target clementine_lib
Scanning dependencies of target clementine
[100%] Building CXX object src/CMakeFiles/clementine.dir/main.cpp.o
/tmp/SBo/clementine-1.1.1/src/main.cpp: В функции «int main(int, char**)»:
/tmp/SBo/clementine-1.1.1/src/main.cpp:268:3: ошибка: «void g_type_init()» is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Werror=deprecated-declarations]
   g_type_init();
   ^
/tmp/SBo/clementine-1.1.1/src/main.cpp:268:15: ошибка: «void g_type_init()» is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Werror=deprecated-declarations]
   g_type_init();
               ^
cc1plus: all warnings being treated as errors
make[2]: *** [src/CMakeFiles/clementine.dir/main.cpp.o] Ошибка 1
make[1]: *** [src/CMakeFiles/clementine.dir/all] Ошибка 2
make: *** [all] Ошибка 2
Помогите решить проблему. Другие плееры не предлагать. Откатиться на 14.0 нет возможности.

Помогите решить проблему

Какое слово перевести?

anonymous
()

Текущий GIT? Наверное, сломали сборку очередным коммитом, а в следующем исправили.

ZenitharChampion ★★★★★
()

ZenitharChampion, дело в том, что на 14.0 эта же версия собиралась без проблем, на карренте не собирается, и непонятно, из-за чего

bormant, Прости, не понимаю.

root@Jarlaxle:~# ls /var/log/packages/ |grep gob
gobject-introspection-1.36.0-i486-1
pygobject-2.28.6-i486-2
root@Jarlaxle:~#
Что мне нужно сделать, чтобы собралось?

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

Что мне нужно сделать, чтобы собралось?

Избавиться от ошибок компиляции. Возможных путей, как обычно, несколько.
Чтобы избавиться от ошибок вида:

ошибка: «void g_type_init()» is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Werror=deprecated-declarations]
достаточно 1) в исходниках удалить вызовы «g_type_init();» ибо в документации по gobject недвусмысленно написано, что начиная с версии 2.36 система типов инициализируется автоматически и наличие отдельного вызова объявлено устаревшим. Такое место, если верить «grep -Rn g_type_init ./», всего одно:
src/main.cpp:268:  g_type_init();
Делаем патч, добавляем его применение при сборке в SlackBuild.

либо

2) в сценарии сборки избавиться от директивы, дающей эффект -Werror=deprecated-declarations. В данном конкретном случае это, если верить «grep Werror -Rn .»:

src/CMakeLists.txt:5:option(BUILD_WERROR "Build with -Werror" ON)
Поэтому либо как и выше делаем патч и вписываем применение в слакбилд, либо проще: добавляем в clementine.SlackBuild в вызов cmake параметр -DBUILD_WERROR=OFF, например так:
  cmake \
	-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
	-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
	-DCMAKE_INSTALL_PREFIX=/usr \
	-DLIB_SUFFIX=${LIBDIRSUFFIX} \
	-DMAN_INSTALL_DIR=/usr/man \
	-DCMAKE_BUILD_TYPE=Release \
	-DBUILD_WERROR=OFF \
	..

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

Спасибо, за помощь, собралось и запустилось. Лови плюсик в карму :)

GreenTea ★★
() автор топика

Ошибка при сборке

Я даже не стал смотреть, кто автор топика, это предсказуемо.

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