RCC: ошибка в 'resource.qrc': не удается найти файл '* .png' - PullRequest
0 голосов
/ 05 июля 2018

У меня проблемы с компиляцией файла ресурсов с использованием rt qt на контейнере Docker (archlinux). Я пытаюсь сделать кросс-компиляцию для машины mingw --host

$ 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'

та же команда отлично работает на моем хост-компьютере OSX. ((

Любая помощь будет оценена

1 Ответ

0 голосов
/ 29 августа 2018

Я столкнулся с подобной проблемой; Оказывается, это сочетание нескольких факторов. Qt 5.10+ хочет использовать системный вызов statx, однако:

  • Докер до версии 18.04 не включает этот системный вызов в свой белый список системных вызовов для libseccomp (так что вам нужно будет указать собственную конфигурацию seccomp)
  • Даже при использовании Docker 18.04 или новее вам по-прежнему нужна последняя версия libseccomp (2.3.3 или новее, которая, например, не поставляется с текущими версиями Debian или Ubuntu), поскольку более старые версии не понимают запись системного вызова statx в белом списке.

Если обновление какого-либо из этих компонентов невозможно, вы можете попробовать следующий обходной путь, если доверяете среде сборки внутри контейнера Docker: Добавьте параметр --security-opt seccomp:unconfined в командную строку docker.

Ресурсы для дальнейшего чтения:

...