LINUX.ORG.RU

сборка digikam

 , ,


0

3

Пытаюсь уже неделю собрать бета версию digikam(-9999 тоже пробовал). Проблема вроде очевидная, но как её решить не понимаю. Вот портянка gcc(сорри за русский в ошибках):

http://pastebin.ru/2YhLdw7V

Пробовал с gcc-4.9, c gcc-5.3 и даже clang'ом. В багтрекере ничего похожего не нашёл. Вообще обычно такая ошибка при неправильно подключенном glu или glut, но дигикам как я понял должен брать эти декларации из Qt.

Что делать? Куда копать?

PS: Собрать старый digikam не предлагать. Во-первых не спортивно, а во-вторых хочу вычистить старые кеды и кути уже.

Решено. Собственно проблема была в том что Qt5 собран с флагом gles2, который отменяет поддержку opengl. Флага opengl для digikam нет, поэтому пришлось патч колхозить. Opengl для него нужен только для presentation-утилиты, так что можно с чистой совестью выкидывать пока её не перепишут на gles2.

Вот патч:

From 65123310feacd2981d6dfaf2d85ba8fa3f4d7d42 Mon Sep 17 00:00:00 2001
From: Aleksandr Vysotskii 
Date: Sat, 16 Apr 2016 01:44:24 +0300
Subject: [PATCH] force disable opengl

---
 CMakeLists.txt | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7c4daf9..ff95bd7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -276,13 +276,7 @@ else()
     set(HAVE_X11 FALSE)
 endif()
 
-# decide if Presentation tool can be built with OpenGL
-if(OPENGL_FOUND AND OPENGL_GLU_FOUND AND Qt5OpenGL_FOUND)
-    set(HAVE_OPENGL TRUE)
-elseif()
-    set(HAVE_OPENGL FALSE)
-endif()
-
+set(HAVE_OPENGL FALSE)
 # -- To link under Solaris (see bug #274484) ------------------------------------------------------
 
 if(NOT WIN32)
-- 
2.8.1

★★★★★

таже фигня но с gnutls, тоже пробовал gcc4 и gcc5.

srptool-args.c:41:0: error: unterminated #ifndef
 #ifndef __doxygen__
 ^

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

хз, glibc-то собирается, но после обновления перестала собираться mesa (это на двух компах установлено), firefox (пока на одном). полагаю, что ещё некоторые пакеты могут не собираться.

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

У меня валится mesa и libdrm (implicit declaration of function major,minor,makedev)

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

это glibc-2.23 виновато, с ним/ней много чего не собирается

У меня 2.22-r4. Попробую обновить, но судя по ошибкам gl(glLoadIdentity), у меня что-то другое не так.

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

Кстати, спасибо! Откат на 2.22 решил все проблемы

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

Так вот почему у меня firefox не пересобирается! А я-то грешил на ccache.

equeim ★★ ()

Вообще есть подозрение, что проблема в том что у пакета qtopengl нет больше флага opengl, а есть только gles2. И у qtgui аналогично. Но почему тогда проблема не гуглится совсем?

Loki13 ★★★★★ ()

Решено. Собственно проблема была в том что Qt5 собран с флагом gles2, который отменяет поддержку opengl. Флага opengl для digikam нет, поэтому пришлось патч колхозить. Opengl для него нужен только для presentation-утилиты, так что можно с чистой совестью выкидывать пока её не перепишут на gles2.

Вот патч:

From 65123310feacd2981d6dfaf2d85ba8fa3f4d7d42 Mon Sep 17 00:00:00 2001
From: Aleksandr Vysotskii 
Date: Sat, 16 Apr 2016 01:44:24 +0300
Subject: [PATCH] force disable opengl

---
 CMakeLists.txt | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7c4daf9..ff95bd7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -276,13 +276,7 @@ else()
     set(HAVE_X11 FALSE)
 endif()
 
-# decide if Presentation tool can be built with OpenGL
-if(OPENGL_FOUND AND OPENGL_GLU_FOUND AND Qt5OpenGL_FOUND)
-    set(HAVE_OPENGL TRUE)
-elseif()
-    set(HAVE_OPENGL FALSE)
-endif()
-
+set(HAVE_OPENGL FALSE)
 # -- To link under Solaris (see bug #274484) ------------------------------------------------------
 
 if(NOT WIN32)
-- 
2.8.1

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