Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
5.15.0
-
None
-
ARMv7
Docker
Description
Hi, I've had a repository setup for a while to compile Qt from source to then be integrated into a Docker image for CI/CD purposes. My environment is relatively easily reproducible if familiar with Docker. I am using the official Debian armv7 Docker image:
arm32v7/debian:buster
You could run this on a Rpi, or emulate on x86 with QEMU. I do the latter and enable Docker QEMU emulation with the following command from [here|https://blog.hypriot.com/post/docker-intel-runs-arm-containers/]:
docker run --rm --privileged hypriot/qemu-register
The following command(s) are run upon container boot to install the required Qt deps:
apt-get update -qq && apt-get upgrade -y && apt-get install -y --no-install-recommends git wget python build-essential libfontconfig1-dev libdbus-1-dev libfreetype6-dev libicu-dev libinput-dev libxkbcommon-dev libsqlite3-dev libssl-dev libpng-dev libjpeg-dev libglib2.0-dev libraspberrypi-dev libpq-dev libmariadbclient-dev
As of Qt 5.15.0, the configure script for setting up the sources no longer works, with the following error while running the configure script:
Creating qmake... <g++ compiler calls to create QMake> Cannot find directory: Cannot read /build/qt-everywhere-src-5.15.0: No such file or directory Error processing project file: /qt-everywhere-src-5.15.0
These exact steps have been working on every release version of Qt since 5.12.0, but not on 5.15.0. So I don't believe it's my steps. It almost appears like QMake is trying to open the wrong directory while looking for qt.pro inside of the source tree. I am doing a shadow build as well with a build directory, which could be the problem?
Also to note to show I've narrowed it down to this usecase:
- I've performed the steps below on Docker on the official Ubuntu x86 image; works fine on Qt 5.15.0.
- I've also performed the steps below on native Raspbian Buster on an Rpi 4; works fine on Qt 5.15.0.
It's only within Docker on armv7 for Qt 5.15.0 that I can reproduce the issue. An extremely narrow scope. :/
Here's a full copy-pastable excerpt from my build steps:
apt-get update -qq && apt-get upgrade -y && apt-get install -y --no-install-recommends git wget python build-essential libfontconfig1-dev libdbus-1-dev libfreetype6-dev libicu-dev libinput-dev libxkbcommon-dev libsqlite3-dev libssl-dev libpng-dev libjpeg-dev libglib2.0-dev libraspberrypi-dev libpq-dev libmariadbclient-dev wget http://download.qt.io/official_releases/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.tar.xz tar -xf qt-everywhere-src-5.15.0.tar.xz rm qt-everywhere-src-5.15.0.tar.xz mkdir build && cd build ../qt-everywhere-src-5.15.0/configure -static -platform linux-g++ -v -opengl es2 -eglfs -no-gtk -opensource -confirm-license -release -reduce-exports -force-pkg-config -nomake examples -no-compile-examples -skip qtwayland -skip qtwebengine -no-feature-geoservices_mapboxgl -qt-pcre -no-pch -ssl -evdev -system-freetype -fontconfig -glib -prefix /opt/Qt5.15 -qpa eglfs make -j$(nproc) && make install