LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   errors while building all-deps plasma from sources (https://www.linuxquestions.org/questions/slackware-14/errors-while-building-all-deps-plasma-from-sources-4175665064/)

nobodino 11-28-2019 01:14 AM

errors while building all-deps plasma from sources
 
I try to build all-deps in plasma from source, on slackware64-current and 2 packages failed to build. Here are the errors:
------------------
qt-gstreamer errors:
-------------------------------
[ 13%] Built target QtGStreamer_autogen
[ 13%] Building CXX object src/QGst/CMakeFiles/QtGStreamer.dir/caps.cpp.o
In file included from /usr/include/gstreamer-1.0/gst/gstbuffer.h:30,
from /usr/include/gstreamer-1.0/gst/gstpad.h:70,
from /usr/include/gstreamer-1.0/gst/gstelement.h:87,
from /usr/include/gstreamer-1.0/gst/gstbin.h:27,
from /usr/include/gstreamer-1.0/gst/gst.h:35,
from /tmp/qt-gstreamer-1.2.0/src/QGst/caps.cpp:22:
/tmp/qt-gstreamer-1.2.0/src/QGst/caps.cpp: In member function ‘void QGst::Caps::append(const CapsPtr&)’:
/usr/include/gstreamer-1.0/gst/gstminiobject.h:33:65: error: invalid cast from type ‘const CapsPtr’ {aka ‘const QGlib::RefPointer<QGst::Caps>’} to type ‘GstMiniObject*’ {aka ‘_GstMiniObject*’}
33 | #define GST_MINI_OBJECT_CAST(obj) ((GstMiniObject*)(obj))
| ^
/usr/include/gstreamer-1.0/gst/gstcaps.h:35:47: note: in definition of macro ‘GST_CAPS_CAST’
35 | #define GST_CAPS_CAST(obj) ((GstCaps*)(obj))
| ^~~
/usr/include/gstreamer-1.0/gst/gstcaps.h:249:29: note: in expansion of macro ‘GST_CAPS’
249 | #define gst_caps_copy(caps) GST_CAPS (gst_mini_object_copy (GST_MINI_OBJECT_CAST (caps)))
| ^~~~~~~~
/usr/include/gstreamer-1.0/gst/gstcaps.h:249:61: note: in expansion of macro ‘GST_MINI_OBJECT_CAST’
249 | #define gst_caps_copy(caps) GST_CAPS (gst_mini_object_copy (GST_MINI_OBJECT_CAST (caps)))
| ^~~~~~~~~~~~~~~~~~~~
/tmp/qt-gstreamer-1.2.0/src/QGst/caps.cpp:57:40: note: in expansion of macro ‘gst_caps_copy’
57 | gst_caps_append(object<GstCaps>(), gst_caps_copy(caps2));
| ^~~~~~~~~~~~~
make[2]: *** [src/QGst/CMakeFiles/QtGStreamer.dir/build.make:132: src/QGst/CMakeFiles/QtGStreamer.dir/caps.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:523: src/QGst/CMakeFiles/QtGStreamer.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
qt-gstreamer failed to build.
------------------------------
grantlee errors
------------------------------
/usr/include/qt5/QtCore/qvariant.h:779:141: required from here
/usr/include/qt5/QtCore/qmetatype.h:1160:20: error: ‘const class QVariant’ has no member named ‘second’
1160 | return it->second;
| ~~~~^~~~~~
In file included from /usr/include/qt5/QtCore/qvariant.h:47,
from /usr/include/qt5/QtCore/qlocale.h:43,
from /usr/include/qt5/QtCore/QLocale:1,
from /tmp/grantlee-5.1.0/templates/lib/abstractlocalizer.h:26,
from /tmp/grantlee-5.1.0/templates/lib/context.h:24,
from /tmp/grantlee-5.1.0/templates/lib/node.h:26,
from /tmp/grantlee-5.1.0/templates/lib/template.h:26,
from /tmp/grantlee-5.1.0/templates/lib/engine.h:24,
from /tmp/grantlee-5.1.0/build/templates/lib/Grantlee_Templates_autogen/EWIEGA46WW/moc_engine.cpp:10,
from /tmp/grantlee-5.1.0/build/templates/lib/Grantlee_Templates_autogen/mocs_compilation.cpp:2:
/usr/include/qt5/QtCore/qmap.h: In instantiation of ‘void QMapNode<Key, T>::destroySubTree() [with Key = QString; T = QVariant]’:
/usr/include/qt5/QtCore/qmap.h:248:13: required from ‘void QMapData<Key, T>::destroy() [with Key = QString; T = QVariant]’
/usr/include/qt5/QtCore/qmap.h:339:43: required from ‘QMap<K, V>::~QMap() [with Key = QString; T = QVariant]’
/usr/include/qt5/QtCore/qvariant.h:826:29: required from here
/usr/include/qt5/QtCore/qmap.h:127:34: error: ‘callDestructorIfNecessary’ was not declared in this scope
127 | callDestructorIfNecessary(key);
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/qt5/QtCore/qmap.h:128:34: error: ‘callDestructorIfNecessary’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
128 | callDestructorIfNecessary(value);
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
make[2]: *** [templates/lib/CMakeFiles/Grantlee_Templates.dir/build.make:63: templates/lib/CMakeFiles/Grantlee_Templates.dir/Grantlee_Templates_autogen/mocs_compilation.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:374: templates/lib/CMakeFiles/Grantlee_Templates.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
grantlee failed to build.
--------------------------------
There is also extra-cmakes-modules which appears twice, once in all-deps and once in kde/frameworks but not with the same version: 5.32.0 and 5.64.0, is the first version wrong and be replaced by the one in the framework?

Alien Bob 11-28-2019 12:15 PM

The fix for the qt-gstreamer error can be found here: https://bugs.kde.org/show_bug.cgi?id=406676#c2
However, I realize that qt-gstreamer was only used by KDE Telepathy (ktp-call-ui) and I will remove qt-gstreamer from my ktown repository.

For grantlee, I think that applying the qt-5.13 patch from https://git.archlinux.org/svntogit/p...kages/grantlee is going to help.

Alien Bob 11-28-2019 12:21 PM

Quote:

Originally Posted by nobodino (Post 6062627)
There is also extra-cmakes-modules which appears twice, once in all-deps and once in kde/frameworks but not with the same version: 5.32.0 and 5.64.0, is the first version wrong and be replaced by the one in the framework?

The extra-cmake-modules package is a dependency of other packages in 'deps': phonon and the telepathy packages. Since I removed telepathy the only remaining dependency is phonon. It does not really matter that the deps directory contains an older version of extra-cmake-modules, the version in Frameworks however is usually the minimum version required by the rest of KDE Plasma 5.

nobodino 11-28-2019 12:43 PM

thanks for the answer, with this I think I'll be able to complete the all-deps packages build.

nobodino 11-29-2019 12:33 AM

Finally I got all-deps build correctly, but only with extra-cmake-modules-5.64.0, otherwise phonon gives errors. So you might tranfer the package from kde/framework to deps and remove the extra one in kde/framework.
The patches:
- 0001-Fix-build-with-GStreamer-1.16.0.patch for qt-gstreamer
- grantlee-qt-5.13.patch and grantlee-qt-5.13.patch for grantlee

solve the building problems.

The list for all-deps.SlackBuild can be reduced to this list (some packages are in slackware-current):
extra-cmake-modules \
sni-qt \
SDL_sound \
OpenAL \
libxkbcommon \
brotli \
woff2 \
hyphen \
qt5 \
qt5-webkit \
qca-qt5 \
libdbusmenu-qt5 \
qt-gstreamer \
phonon \
phonon-gstreamer \
phonon-qt4 \
phonon-qt4-gstreamer \
python-enum34 \
pcaudiolib \
espeak-ng \
dotconf \
flite \
sip \
PyQt \
PyQt5 \
QScintilla \
polkit-qt5-1 \
grantlee \
grantlee-qt4 \
libdbusmenu-gtk \
libindicator \
libappindicator \
cfitsio \
libdmtx \
qrencode \
hack-font-ttf \
noto-font-ttf \
noto-cjk-font-ttf \
gpgme \
lensfun \
opencv \
dvdauthor \
vid.stab \
frei0r-plugins \
mlt \
cracklib \
libpwquality \
accountsservice \
libburn \
qtav \
ddcutil \
id3lib \
cryptopp \
cryfs \
python3-random2 \
perl-path-tiny \
perl-template-toolkit \
freecell-solver \
drumstick \
libsass \
sassc \
rttr \
quazip \

Alien Bob 11-29-2019 09:30 AM

Quote:

Originally Posted by nobodino (Post 6062949)
Finally I got all-deps build correctly, but only with extra-cmake-modules-5.64.0, otherwise phonon gives errors. So you might tranfer the package from kde/framework to deps and remove the extra one in kde/framework.

Well, 'extra-cmake-modules' is part of KDE Frameworks and that's where it's going to stay. If you want to do a full build from scratch you will have to add a package-build for extra-cmake-modules early on in the 'deps' stage yourself.

nobodino 11-29-2019 10:24 AM

ok, thanks for your piece of advice.

nobodino 12-01-2019 09:09 AM

I thought everythibng was ok, it's not:
libdbusmenu-gtk doesn't build properly:
-----------------------------------
../../libdbusmenu-glib/client.c:360:13: error: G_ADD_PRIVATE [-Werror]
360 | self->priv = G_TYPE_INSTANCE_GET_PRIVATE ((self), DBUSMENU_TYPE_CLIENT, DbusmenuClientPrivate);
| ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[3]: *** [Makefile:721: libdbusmenu_glib_la-menuitem.lo] Error 1
cc1: all warnings being treated as errors
make[3]: *** [Makefile:742: libdbusmenu_glib_la-server.lo] Error 1
cc1: all warnings being treated as errors
make[3]: *** [Makefile:770: libdbusmenu_glib_la-client.lo] Error 1
make[3]: Leaving directory '/tmp/libdbusmenu-16.04.0/build-gtk2/libdbusmenu-glib'
make[2]: *** [Makefile:579: all] Error 2
make[2]: Leaving directory '/tmp/libdbusmenu-16.04.0/build-gtk2/libdbusmenu-glib'
make[1]: *** [Makefile:486: all-recursive] Error 1
make[1]: Leaving directory '/tmp/libdbusmenu-16.04.0/build-gtk2'
make: *** [Makefile:417: all] Error 2
make all-recursive
make[1]: Entering directory '/tmp/libdbusmenu-16.04.0/build-gtk2'
Making all in libdbusmenu-glib
make[2]: Entering directory '/tmp/libdbusmenu-16.04.0/build-gtk2/libdbusmenu-glib'
make[2]: Circular ../../libdbusmenu-glib/dbus-menu-clean.xml <- ../../libdbusmenu-glib/dbus-menu-clean.xml.c dependency dropped.
Makefile:1164: Recipe for file 'dbus-menu-clean.xml' was found by implicit rule search,
Makefile:1164: but 'dbus-menu-clean.xml' is now considered the same file as '../../libdbusmenu-glib/dbus-menu-clean.xml'.
Makefile:1164: Recipe for '../../libdbusmenu-glib/dbus-menu-clean.xml' will be ignored in favor of the one for 'dbus-menu-clean.xml'.
make all-am
make[3]: Entering directory '/tmp/libdbusmenu-16.04.0/build-gtk2/libdbusmenu-glib'
make[3]: Circular ../../libdbusmenu-glib/dbus-menu-clean.xml <- ../../libdbusmenu-glib/dbus-menu-clean.xml.c dependency dropped.
CC libdbusmenu_glib_la-defaults.lo
../../libdbusmenu-glib/defaults.c: In function ‘dbusmenu_defaults_class_init’:
../../libdbusmenu-glib/defaults.c:67:2: warning: ‘g_type_class_add_private’ is deprecated [-Wdeprecated-declarations]
67 | g_type_class_add_private (klass, sizeof (DbusmenuDefaultsPrivate));
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/glib-2.0/gobject/gobject.h:24,
from /usr/include/glib-2.0/gobject/gbinding.h:29,
from /usr/include/glib-2.0/glib-object.h:23,
from ../../libdbusmenu-glib/defaults.h:33,
from ../../libdbusmenu-glib/defaults.c:35:
/usr/include/glib-2.0/gobject/gtype.h:1308:10: note: declared here
1308 | void g_type_class_add_private (gpointer g_class,
| ^~~~~~~~~~~~~~~~~~~~~~~~
../../libdbusmenu-glib/defaults.c: In function ‘dbusmenu_defaults_init’:
../../libdbusmenu-glib/defaults.c:77:13: error: G_ADD_PRIVATE [-Werror]
77 | self->priv = DBUSMENU_DEFAULTS_GET_PRIVATE(self);
| ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[3]: *** [Makefile:707: libdbusmenu_glib_la-defaults.lo] Error 1
make[3]: Leaving directory '/tmp/libdbusmenu-16.04.0/build-gtk2/libdbusmenu-glib'
make[2]: *** [Makefile:579: all] Error 2
make[2]: Leaving directory '/tmp/libdbusmenu-16.04.0/build-gtk2/libdbusmenu-glib'
make[1]: *** [Makefile:486: all-recursive] Error 1
make[1]: Leaving directory '/tmp/libdbusmenu-16.04.0/build-gtk2'
make: *** [Makefile:417: all] Error 2
---------------------------------------

Alien Bob 12-01-2019 01:06 PM

You'll probably have to apply https://gitweb.gentoo.org/repo/gento...225e644cd98f3f to get rid of the "-Werror" and fix the build.

nobodino 12-02-2019 12:27 AM

that's ok. Thanks once more.

nobodino 12-04-2019 05:43 AM

3 last packages don't build properly: libindicator, libappindicator and ddcutils:
---------------------

libindicator:
--------------------------
../../libindicator/indicator-object.c: In function 'indicator_object_class_init':
../../libindicator/indicator-object.c:129:2: warning: 'g_type_class_add_private' is deprecated [-Wdeprecated-declarations]
129 | g_type_class_add_private (klass, sizeof (IndicatorObjectPrivate));
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/glib-2.0/gobject/gobject.h:24,
from /usr/include/glib-2.0/gobject/gbinding.h:29,
from /usr/include/glib-2.0/glib-object.h:23,
from /usr/include/glib-2.0/gio/gioenums.h:28,
from /usr/include/glib-2.0/gio/giotypes.h:28,
from /usr/include/glib-2.0/gio/gio.h:26,
from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
from /usr/include/gtk-2.0/gdk/gdk.h:32,
from /usr/include/gtk-2.0/gtk/gtk.h:32,
from ../../libindicator/indicator.h:26,
from ../../libindicator/indicator-object.c:28:
/usr/include/glib-2.0/gobject/gtype.h:1308:10: note: declared here
1308 | void g_type_class_add_private (gpointer g_class,
| ^~~~~~~~~~~~~~~~~~~~~~~~
../../libindicator/indicator-object.c: In function 'indicator_object_init':
../../libindicator/indicator-object.c:305:13: error: G_ADD_PRIVATE [-Werror]
305 | IndicatorObjectPrivate * priv = G_TYPE_INSTANCE_GET_PRIVATE (self, INDICATOR_OBJECT_TYPE, IndicatorObjectPrivate);
| ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[3]: *** [Makefile:545: libindicator_la-indicator-object.lo] Error 1
make[3]: Leaving directory '/tmp/libindicator-12.10.1/build-gtk2/libindicator'
make[2]: *** [Makefile:417: all] Error 2
make[2]: Leaving directory '/tmp/libindicator-12.10.1/build-gtk2/libindicator'
make[1]: *** [Makefile:358: all-recursive] Error 1
make[1]: Leaving directory '/tmp/libindicator-12.10.1/build-gtk2'
make: *** [Makefile:288: all] Error 2
libindicator failed to build.
------------------------
libappindicator:
------------------------
../../src/app-indicator.c: In function 'app_indicator_class_init':
../../src/app-indicator.c:212:2: warning: 'g_type_class_add_private' is deprecated [-Wdeprecated-declarations]
212 | g_type_class_add_private (klass, sizeof (AppIndicatorPrivate));
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/glib-2.0/gobject/gobject.h:24,
from /usr/include/glib-2.0/gobject/gbinding.h:29,
from /usr/include/glib-2.0/glib-object.h:23,
from /usr/include/libdbusmenu-glib-0.4/libdbusmenu-glib/menuitem.h:33,
from ../../src/app-indicator.c:34:
/usr/include/glib-2.0/gobject/gtype.h:1308:10: note: declared here
1308 | void g_type_class_add_private (gpointer g_class,
| ^~~~~~~~~~~~~~~~~~~~~~~~
../../src/app-indicator.c: In function 'app_indicator_init':
../../src/app-indicator.c:584:13: error: G_ADD_PRIVATE [-Werror]
584 | AppIndicatorPrivate * priv = APP_INDICATOR_GET_PRIVATE(self);
| ^~~~~~~~~~~~~~~
../../src/app-indicator.c: In function 'app_indicator_set_secondary_activate_target':
../../src/app-indicator.c:2199:28: error: assignment to 'GtkWidget *' {aka 'struct _GtkWidget *'} from incompatible pointer type 'GObject *' {aka 'struct _GObject *'} [-Werror=incompatible-pointer-types]
2199 | priv->sec_activate_target = g_object_ref(G_OBJECT(menuitem));
| ^
cc1: all warnings being treated as errors
make[2]: *** [Makefile:657: libappindicator_la-app-indicator.lo] Error 1
make[2]: Leaving directory '/tmp/libappindicator-12.10.0/build-gtk2/src'
make[1]: *** [Makefile:409: all-recursive] Error 1
make[1]: Leaving directory '/tmp/libappindicator-12.10.0/build-gtk2'
make: *** [Makefile:339: all] Error 2
libappindicator failed to build.
------------------------
ddcutils:
------------------------
device_id_util.c: In function ‘devid_usage_code_id_name’:
device_id_util.c:920:39: error: ‘snprintf’ output may be truncated before the last format character [-Werror=format-truncation=]
920 | snprintf(resultbuf, 10, "ENUM_%d", usage_simple_id);
| ^
device_id_util.c:920:7: note: ‘snprintf’ output between 7 and 11 bytes into a destination of size 10
920 | snprintf(resultbuf, 10, "ENUM_%d", usage_simple_id);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[3]: *** [Makefile:536: device_id_util.lo] Error 1
make[3]: Leaving directory '/tmp/ddcutil-0.8.5/src/util'
make[2]: *** [Makefile:1743: all-recursive] Error 1
make[2]: Leaving directory '/tmp/ddcutil-0.8.5/src'
make[1]: *** [Makefile:619: all-recursive] Error 1
make[1]: Leaving directory '/tmp/ddcutil-0.8.5'
make: *** [Makefile:486: all] Error 2
ddcutil failed to build.
--------------------------

Alien Bob 12-04-2019 06:58 AM

All of this has to do with the use of '-Werror' resulting in errors that are no errors: "cc1: all warnings being treated as errors".

For libappindicator, something like this may work: https://sources.debian.org/data/main...ror-deprecated

nobodino 12-09-2019 12:09 PM

solved the last 3 building packages from deps:
- ddcutil
- libindicator
- libappindicator

see link for the patches: https://github.com/nobodino/slackwar...test_kde5/deps


All times are GMT -5. The time now is 07:49 PM.