Project ERROR: Unknown module(s) in QT: waylandclient-private
-
Ok, I've missed something, you have the dev branch checked out. There's been a big rework of the build handling.
I'm not yet used to the internal details but I think you need to use something like:QMAKE_LIBDIR_XCOMPOSITE+=/path/to/xcomposite/libs/ QMAKE_INCDIR_XCOMPOSITE+=/path/to/xcomposite/includes/
in place of the INCLUDEPATH and LIBS variables.
-
I've built xcomposite from source and installed in ~/install/lib.
I am indeed on the dev branch of qtwayland. I've pulled the latest HEAD.
My qtwayland.pro contains:
requires(linux:!android) load(qt_parts) INCLUDEPATH += /home/ybakos/install/include LIBS +=-L/home/ybakos/install/lib QMAKE_INCDIR_XCOMPOSITE+=/home/ybakos/install/include QMAKE_LIBDIR_XCOMPOSITE+=/home/ybakos/install/lib
Yet I still see the same errors in the General Messages panel.
I also get the same results when commenting out
INCLUDEPATH
andLIBS
and just using theQMAKE*
config vars.I also get the same results when using the 5.8 branch.
I've now also tried building qtwayland without using QtCreator. The output of just
qmake
(no additional options passed) is:Info: creating cache file /home/ybakos/projects/qtwayland/.qmake.cache Running configuration tests... Checking for Wayland client library... yes Checking for Wayland cursor library... yes Checking for wayland-scanner... yes Checking for DRM EGL Server... yes Checking for libhybris EGL Server... no Checking for Wayland EGL library... yes Checking for XComposite... yes Checking for GLX... yes Checking for wayland-server... yes Done running configuration tests. Configure summary: Qt Wayland Drivers: EGL .................................... yes Rasberry Pi ............................ no XComposite EGL ......................... yes XComposite GLX ......................... yes DRM EGL ................................ yes libhybris EGL .......................... no Qt Wayland Client ........................ yes Qt Wayland Compositor .................... yes
However, running
make
results in a linker error: http://pastebin.com/3bL8c7JyThank you for any tips, @SGaist .
-
Do you have the dev package from libxkbcommon installed ? If so which version ?
-
All right. I have now installed the libxkbcommon-devel package, version 0.6.1.
$ rpm -q libxkbcommon-devel libxkbcommon-devel-0.6.1-1.fc23.x86_64
I also pulled the latest xkbcommon, built and reinstalled in ~/install/lib.
When rebuilding qtwayland, I see the same error.
The contents of my ~/install/lib are listed in a pastebin here.
Thanks again, @SGaist .
-
Did you check in the build log that you are using your own build of libxkbcommon ?
-
qwaylandxkb.cpp only includes
#include <xkbcommon/xkbcommon-keysyms.h>
Yet
xkb_keysym_to_utf32
is defined in xkbcommon/xkbcommon.h.But even if I include that header in qwaylandxkb.cpp, I still get the same error.
Grrrr!
I do notice that in my config.cache there is no mention of xkbcommon, unlike the other dependencies.
-
Ah, but qwaylandxkb.cpp does include qwaylandxkb.h, which in turn includes xkbcommon/xkbcommon.h.
I've perhaps noticed another clue. During a
make clean
I see the error:Project ERROR: Library 'xkbcommon_evdev' is not defined.
I've also found the possibly relevant bugs:
-
I've filed a new bug report:
https://bugreports.qt.io/browse/QTBUG-58839 -
Thanks for sharing your findings and the link !
-
I'm not yet used to the new feature build, so there might be a
-lxkbcommon
generation line missing somewhere but I don't know yet where to exactly look for it. -
I found a similar build issue in another project to see if I could find some clues. It too mentions something about a
-lxkbcommon
issue.On my machine, the output of
pkg-config --libs xkbcommon
-L/home/ybakos/install/lib -lxkbcommon
I've tried building with:
LDFLAGS="-L/home/ybakos/install/lib -lxkbcommon" CFLAGS="-I/home/ybakos/install/include" make
But still have the same error.
The output of
uname -a
is:Linux hades-fedora-localdomain 4.7.3-100.fc23.x86_64 #1 SMP Wed Sep 7 17:26:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
-
Try rather at the
qmake
level:qmake LIBS+="-L/home/ybakos/install/lib -I/home/ybakos/install/include -lxkbcommon"
-
-
I've just now tried opening the qtwayland project in Qt Creator again for the first time since trying to build from the command line.
The good (?) news is that the only error I am seeing in the General Messages are:
[Inexact] Project MESSAGE: perl -w /home/ybakos/Qt/5.8/gcc_64/bin/syncqt.pl -module QtWaylandClient -version 5.8.1 -outdir /home/ybakos/projects/build-qtwayland-Desktop_Qt_5_8_0_GCC_64bit-Debug /home/ybakos/projects/qtwayland [Inexact] Project MESSAGE: perl -w /home/ybakos/Qt/5.8/gcc_64/bin/syncqt.pl -module QtWaylandCompositor -version 5.8.1 -outdir /home/ybakos/projects/build-qtwayland-Desktop_Qt_5_8_0_GCC_64bit-Debug /home/ybakos/projects/qtwayland Project ERROR: Library 'xkbcommon_evdev' is not defined.
To my knowledge, xkbcommon_evdev isn't a separate library... how can I squelch this error? I feel like this is somehow related to my build issue.