I am building a Qt c++ app in a Docker on Travis. I am trying to update the base Docker image from Cosmic to Disco.
I did these updates: Travis dist: Trusty => Xenial Docker image: Cosmic => Disco
Now I get this error when building:
clang: error: no such file or directory: 'src/native/moc_qgsnative.cpp'
This seems to be a known issue in Qt 5.10+ which requires statx calls:
From the Qt release notes:
Qt uses the statx(2) system call for obtaining file information on kernels 4.12 and later. Some older container systems install system call protection rules that do not include this system call. If you experience problems running Qt applications inside containers (such as the report of a file not existing when it does), ensure the statx(2) is allowed in the container configuration.
I found some information saying that this could be solved by using the privileged mode when doing docker run. But in our case, th build is made within the Docker build (and not docker run). From the Docker docs, it seems that building has full capabilities.
mocwas invoked, and the correspondingmoc_*file was not (yet?) generated. This can be a bug or incompatibility in QGIS with your current env or Qt version. I'm not sure how it relates tostatxreally, if it does.