oyranos-cms / oyranos

Colour Management System
https://gitlab.com/oyranos/oyranos
Other
19 stars 6 forks source link

Can't compile on Arch Linux #61

Closed jasuka closed 3 years ago

jasuka commented 3 years ago

Hello,

Oyranos fails to build on Arch Linux when Qt enabled.

Qt version: 5.15.0

I've attached the build error. oyranos.txt

beku commented 3 years ago

Here a patch for the issue. Hope this helps for you.

From 38b721844703a267bb2721cbcef471ee3aa33fb9 Mon Sep 17 00:00:00 2001 From: Kai-Uwe Behrmann ku.b@gmx.de Date: Tue, 4 Feb 2020 14:03:06 +0100 Subject: * [tools]: fix Qt-5.14 compile error with X11::None

Error (openSUSE-Tumbleweed, gcc): /usr/include/qt5/QtWidgets/qactiongroup.h:64:9: error: expected identifier before numeric constant 64 | None, | ^~~~

X11 and Qt headers contain 'None' declarations: /usr/include/X11/X.h:#define None 0L / universal null resource or null atom / versus /usr/include/qt5/QtWidgets/qactiongroup.h: enum class ExclusionPolicy { /usr/include/qt5/QtWidgets/qactiongroup.h: None,

diff --git a/src/tools/qcmsevents/qcmsevents.cpp b/src/tools/qcmsevents/qcmsevents.cpp index b0130a11..08a139d4 100644 --- a/src/tools/qcmsevents/qcmsevents.cpp +++ b/src/tools/qcmsevents/qcmsevents.cpp @@ -21,6 +21,11 @@

include <X11/Xcm/Xcm.h>

+#ifdef None +// is defined in X11 as 0L, which collides with various "enum class None" declarations in Qt +#undef None +#endif +

include

include

include

jasuka commented 3 years ago

Thank you. It works perfectly :+1:

arifzeeshan commented 2 years ago

This patch gives me an error

Starting prepare()...
patching file src/tools/qcmsevents/qcmsevents.cpp
patch unexpectedly ends in middle of line
patch: **** unexpected end of file in patch
==> ERROR: A failure occurred in prepare().