Cross compilation and "Qt5 Super Module" : Unknown Module: location on build
-
Hello,
I want to cross-compile for Raspberrypi 3 using the same Qt version as raspbian (5.3.x) so I do not use "sysroot".
I tried to use Qt Git qtbase (branch 5.3) and various modules (quick1, location, declarative, etc. on 5.3 branch) but got no success so I tried the "Super Module" repository which have all modules in submodules and nothing better.
What I have done to build is:
mkdir raspi && cd raspi git clone of the qt5 latest git repos git clone -b 5.3 http://code.qt.io/qt/qt5.git qt5_sm cd qt5_sm cp -r ../latest-qt5-git-repos/mkspecs/devices/linux-rpi3-* qtbase/mkspecs/devices/ ./init-repository -f module-subset=qtbase,qtconnectivity,qtdeclarative,qtimageformats,qtlocation,qtmultimedia,qtquick1,qtquickcontrols,qtscript,qtsensors,qtserialport,qtsvg,qttranslations,qtxmlpatterns ./configure -opengl no -device linux-rpi3-g++ -device-option CROSS_COMPILE=/home/dashie/raspi/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf- -opensource -confirm-license -make libs -alsa -widgets -qpa linuxfb -developer-build make
In Qt Creator the kit is ok (using qmake at ~/raspi/qt5_sm/qtbase/bin/qmake) and I can build without issues but I still got
Project ERROR: Unknown module(s) in QT: location
if I want to use QtLocation.Side notes:
- I do not plan/want to use EGLFS or GL or X so I use linuxfb
- no sysroot because I do not plan to use another Qt version (for the moment if I can stick with this one)
- -developer-build permit to use in-source without make install (so no extprefix or prefix here)
- I use the latest linux-rpi3-* mkspecs to have the correct flags/things for the Pi3 since theses files aren't included in 5.3 (only up to rpi2 it seems)
Any ideas what I have missed in the build steps or to have Qt Location enabled ?
I planned to use Qt Quick/QML too but same issue as QtLocation (can't find some headers etc.).
-
Hi,
Might be a silly question but did you check that your clone does indeed have QtLocation properly checked out ?
A side note, developer-build are meant for people hacking on Qt not using it. If you want an "in-place" build you should use the prefix option for that.
-
Hi,
Might be a silly question but did you check that your clone does indeed have QtLocation properly checked out ?
A side note, developer-build are meant for people hacking on Qt not using it. If you want an "in-place" build you should use the prefix option for that.
-
Did you check that the module was built and installed ? If not, then you can do it by hand.
-
Did you check that the module was built and installed ? If not, then you can do it by hand.
@SGaist I don't really know how to check. Some qt*/ have a config.log with failed tests or not (should be ok then, it will just skip some parts like GL or optional dependencies for QtLocation)
I already used the method of building them by hand (before trying the Super Module) and it install somes files but not all it seems, at least not what should be sufficient to be used.
When building by hand I used the qmake on$prefix-used-in-configure-for-qtbase/bin/qmake
so it use the right Qt5 kit paths.The Super Module should build them etc. but I have not found much informations about that other that "just use init-repository, configure, make, make install and that's all".
-
I'll check the content of the lib folder to see if there's anything missing there, then I'd check the qtlocation build dir,
-
I just realised, if you disable OpenGL there are likely things that are going to be disabled.