【问题标题】:Project ERROR: Unknown module(s) in QT: x11extras项目错误:QT 中的未知模块:x11extras
【发布时间】:2021-03-11 12:29:06
【问题描述】:

我正在尝试为当前机器(x86_64 系统)构建包含 Qt5 和 PyQt5 的 pyqtdeploy-sysroot。 我在使用 pyqtdeploy 3.0、3.1 和 3.1.1 的 Fedora 30(也尝试过 31 和 32 以及 Debian 10 和 Ubuntu 18.04)系统上尝试了 Qt5 版本 5.15.0、5.15.1 或 5.15.2。 在所有系统上,我都安装了我能想到的所有构建依赖项:

python python3 python3-pip libssl-dev zlib1g-dev pyqt5-dev libqt5x11extras5-dev libgles2-mesa-dev

我尝试安装*x11*-dev*gl*-dev(分别为-devel):)

我总是遇到以下问题:

Running 'sip-install --qmake /home/frans/_HOME/2011_pyqt/docker_home/demo/sysroot-linux-64/Qt/bin/qmake --no-distinfo --concatenate 2 --no-docstrings --verbose'.
Querying qmake about your Qt installation...
/home/frans/_HOME/2011_pyqt/docker_home/demo/sysroot-linux-64/Qt/bin/qmake -query
This is the GPL version of PyQt 5.15.0 (licensed under the GNU General Public License) for Python 3.7.7 on linux.
Found the license file 'pyqt-gpl.sip'.
These bindings will be built: QtCore, QtNetwork, QtGui, QtWidgets, QtX11Extras.
Generating the QtCore bindings...
Generating the QtNetwork bindings...
Generating the QtGui bindings...
Generating the QtWidgets bindings...
Generating the QtX11Extras bindings...
Generating the .pro file for the QtCore module...
Generating the .pro file for the QtNetwork module...
Generating the .pro file for the QtGui module...
Generating the .pro file for the QtWidgets module...
Generating the .pro file for the QtX11Extras module...
Generating the top-level .pro file...
Generating the Makefiles...
/home/frans/_HOME/2011_pyqt/docker_home/demo/sysroot-linux-64/Qt/bin/qmake -recursive PyQt5.pro
sip-install: '/home/frans/_HOME/2011_pyqt/docker_home/demo/sysroot-linux-64/Qt/bin/qmake -recursive PyQt5.pro' failed returning 3
Info: creating stash file /tmp/tmp1_ng3eyh/.qmake.stash
Reading /tmp/tmp1_ng3eyh/QtCore/QtCore.pro
Reading /tmp/tmp1_ng3eyh/QtNetwork/QtNetwork.pro
Reading /tmp/tmp1_ng3eyh/QtGui/QtGui.pro
Reading /tmp/tmp1_ng3eyh/QtWidgets/QtWidgets.pro
Reading /tmp/tmp1_ng3eyh/QtX11Extras/QtX11Extras.pro
Project ERROR: Unknown module(s) in QT: x11extras
pyqtdeploy-sysroot: execution of 'sip-install' failed: returned exit code 1

我正在尝试与这个人基本相同的事情:https://www.riverbankcomputing.com/pipermail/pyqt/2020-September/043203.html - 但似乎他已经放弃并切换到 iOS..

知道我可以做些什么来调查这种行为吗?我没有修改任何关于 pyqtdeploy、Qt5 或演示的内容,我所做的只是

pip3 install pyqtdeploy sip PyQt-builder
wget https://files.pythonhosted.org/packages/ab/8c/1416eaed51c87a5ac934ee982e5c6e0a9dcab8d9b0b0461d4b8b259db5f6/pyqtdeploy-3.1.0.tar.gz
tar xf pyqtdeploy-3.1.0.tar.gz
cd pyqtdeploy-3.1.0/demo
python3 build-demo.py --verbose

【问题讨论】:

    标签: linux qt pyqt qt5 qt5.5


    【解决方案1】:

    您显然在这里遗漏了一些步骤,因为在 Ubutu 18.04 LTS 和 20.04 LTS 的全新安装中,我无法深入了解您为实际尝试构建 Qt 所做的工作。

    这是我可以告诉你的。在一个干净的 Ubuntu 18.04 LTS VM 中,我运行它并且可以构建 CopperSpice(Qt 4.8 分支)或 Qt 代码。

    #
    sudo apt-get install libfreetype6-dev libfontconfig1-dev libglib2.0-dev \
                libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libice-dev \
                libaudio-dev libgl1-mesa-dev libc6-dev libsm-dev libxcursor-dev \
                libxext-dev libxfixes-dev libxi-dev libxinerama-dev \
                libxrandr-dev libxrender-dev libxkbcommon-dev \
                libxkbcommon-x11-dev libx11-dev
    
    sudo apt-get install libxcb1-dev libx11-xcb-dev libxcb-glx0-dev \
                libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev \
                libxcb-render0-dev libxcb-render-util0-dev \
                libxcb-randr0-dev libxcb-shape0-dev libxcb-shm0-dev \
                libxcb-sync-dev libxcb-xfixes0-dev \
                libxcb-xinerama0-dev libxcb-xkb-dev
    
    sudo apt-get install g++ gperf ninja-build cmake
    sudo apt-get install libpulse-dev libasound2-dev libssl-dev libcups2-dev \
                libxml++2.6-dev postgresql-server-dev-10 
    
    sudo apt-get install git
    
    # extra for diamond
    sudo apt-get install hunspell libhunspell-dev astyle
    

    在一个干净的 Ubuntu 20.04 LTS VM 中,我运行这个脚本并且可以执行相同的操作。

    #
    sudo apt-get install libfreetype6-dev libfontconfig1-dev libglib2.0-dev \
                libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libice-dev \
                libaudio-dev libgl1-mesa-dev libc6-dev libsm-dev libxcursor-dev \
                libxext-dev libxfixes-dev libxi-dev libxinerama-dev \
                        libxrandr-dev libxrender-dev libxkbcommon-dev \
                libxkbcommon-x11-dev libx11-dev
    
    sudo apt-get install libxcb1-dev libx11-xcb-dev libxcb-glx0-dev \
                libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev \
                libxcb-render0-dev libxcb-render-util0-dev \
                libxcb-randr0-dev libxcb-shape0-dev libxcb-shm0-dev \
                libxcb-sync-dev libxcb-xfixes0-dev \
                libxcb-xinerama0-dev libxcb-xkb-dev
    
    sudo apt-get install g++ gperf ninja-build cmake
    sudo apt-get install libpulse-dev libasound2-dev libssl-dev libcups2-dev \
                libxml++2.6-dev postgresql-server-dev-12
    
    sudo apt-get install git
    
    # extra for diamond
    sudo apt-get install hunspell libhunspell-dev astyle
    

    所以,我建议你选择一个虚拟机,打开一个终端,

    sudo apt-get 更新 sudo apt-get 升级

    然后运行相应的脚本。我怀疑你因为 XCB 的东西而摔倒了。您应该很快就可以在适当的 VM 中运行其中一个脚本来尝试此操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-20
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多