I'm having trouble compiling a resource file using Qt's rcc on a docker container (archlinux). I'm trying to cross compile for a mingw --host machine
$ cat resource.qrc
<!DOCTYPE RCC><RCC version="1.0">
<qresource >
<file>images/small.png</file>
</qresource>
</RCC>
$ ls -lR
.:
total 8
drwxr-xr-x 2 devel devel 4096 Jul 5 15:32 images
-rw-r--r-- 1 devel devel 106 Jul 5 15:35 resource.qrc
./images:
total 20
-rw-r--r-- 1 devel devel 15511 Apr 28 2010 small.png
$ rcc resource.qrc
RCC: Error in 'resource.qrc': Cannot find file 'images/small.png'
The same command works fine on my OSX host machine.
I had encountered a similar issue; It turns out that this is a combination of several factors. Qt 5.10+ wants to use the statx
syscall, however:
statx
syscall entry in the whitelist.If upgrading either of those components is not an option, you can try the following workaround if you trust the build environment inside your Docker container: Add the parameter --security-opt seccomp:unconfined
to your docker
command line.
Resources for further reading:
statx
syscall to the Docker whitelist, including the mention of the required seccomp version: https://github.com/moby/moby/pull/36417