pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/59096: qt6 apps with qt6-qtbase don't work on NetBSD/earmv7hf 10.1



>Number:         59096
>Category:       pkg
>Synopsis:       qt6 apps with qt6-qtbase don't work on NetBSD/earmv7hf 10.1
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Feb 24 10:15:01 +0000 2025
>Originator:     Izumi Tsutsui
>Release:        NetBSD 10.1
>Organization:
>Environment:
System: NetBSD armv7 10.1 NetBSD 10.1 (GENERIC) #0: Mon Dec 16 13:08:11 UTC 2024  mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/evbarm/compile/GENERIC evbarm
Architecture: earmv7hf
Machine: evbarm
>Description:
It looks all qt6 applications (like PC6001VX) get SIGABRT on loading
qt6 plugins during startup:

---
armv7-% PC6001VX
qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Abort (core dumped)
armv7-%
---

The following simple Qt6 applications (one window with a quit button)
also gets SIGABRT:

---
armv7-# PKG_PATH=https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/earmv7hf/10.1/All pkg_add -uv qt6-qtbase qt6-qttools
armv7-# exit
armv7$ cat > sample.pro <<EOF
QT += core gui

CONFIG += c++17

SOURCES += main.cpp

greaterThan(QT_MAJOR_VERSION, 5): QT += widgets
EOF
armv7$ cat > main.cpp <<EOF
#include <QApplication>
#include <QPushButton>
#include <QWidget>
#include <QVBoxLayout>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    QWidget window;
    window.setWindowTitle("Main Window");

    QVBoxLayout layout;
    QPushButton button("Quit");
    layout.addWidget(&button);
    QObject::connect(&button, &QPushButton::clicked, &app, &QApplication::quit);

    window.setLayout(&layout);
    window.resize(200, 100);
    window.show();

    return app.exec();
}
EOF
armv7$ /usr/pkg/qt6/bin/qmake sample.pro
Info: creating stash file /r/work/win/qt6-test/.qmake.stash
armv7$ make
c++ -c -O2 -O2 -D_NETBSD_SOURCE -I/usr/pkg/include -I/usr/include -I/usr/include/krb5 -I/usr/pkg/lib/dbus-1.0/include/dbus -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/harfbuzz -I/usr/pkg/include/freetype2 -I/usr/pkg/include/python3.12 -I/usr/X11R7/include -I/usr/X11R7/include/libdrm -Wall -Wextra -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -O2 -D_NETBSD_SOURCE -I/usr/pkg/include -I/usr/include -I/usr/include/krb5 -I/usr/pkg/lib/dbus-1.0/include/dbus -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/harfbuzz -I/usr/pkg/include/freetype2 -I/usr/pkg/include/python3.12 -I/usr/X11R7/include -I/usr/X11R7/include/libdrm -Wno-register -std=gnu++1z -Wall -Wextra -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I/usr/pkg/qt6/include -I/usr/pkg/qt6/include/QtWidgets -I/usr/pkg/qt6/include/QtGui -I/usr/pkg/qt6/include/QtCore -I. -I/u!
 sr/X11R7/include -I/usr/X11R7/include -I/usr/pkg/include -I/usr/pkg/qt6/mkspecs/netbsd-g++ -o main.o main.cpp
g++  -lexecinfo -Wl,-R/usr/pkg/qt6/lib -L/usr/pkg/lib -L/usr/lib -Wl,-R/usr/lib -Wl,-R/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib -latomic -Wl,-O1 -pthread -Wl,-rpath,/usr/pkg/qt6/lib -o sample  main.o   -L/usr/pkg/lib -L/usr/X11R7/lib /usr/pkg/qt6/lib/libQt6Widgets.so /usr/pkg/qt6/lib/libQt6Gui.so /usr/pkg/qt6/lib/libQt6Core.so -lGL
armv7$ ./sample
qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Abort (core dumped)
armv7$ 

---

Per debug messages by "QT_DEBUG_PLUGINS=1" it looks
all plugin files under /usr/pkg/qt6/plugins/platforms/ are not
recoginized properly?

---
armv7$ QT_DEBUG_PLUGINS=1 ./sample
qt.core.plugin.factoryloader: checking directory path "/usr/pkg/qt6/plugins/platforms" ...
qt.core.plugin.factoryloader: looking at "libqeglfs.so"
qt.core.plugin.loader: Failed to find metadata in lib /usr/pkg/qt6/plugins/platforms/libqeglfs.so: '/usr/pkg/qt6/plugins/platforms/libqeglfs.so' is not a Qt plugin (metadata not found)
qt.core.plugin.factoryloader: "Failed to extract plugin meta data from '/usr/pkg/qt6/plugins/platforms/libqeglfs.so': '/usr/pkg/qt6/plugins/platforms/libqeglfs.so' is not a Qt plugin (metadata not found)"
         not a plugin
qt.core.plugin.factoryloader: looking at "libqminimal.so"
qt.core.plugin.loader: Failed to find metadata in lib /usr/pkg/qt6/plugins/platforms/libqminimal.so: '/usr/pkg/qt6/plugins/platforms/libqminimal.so' is not a Qt plugin (metadata not found)
qt.core.plugin.factoryloader: "Failed to extract plugin meta data from '/usr/pkg/qt6/plugins/platforms/libqminimal.so': '/usr/pkg/qt6/plugins/platforms/libqminimal.so' is not a Qt plugin (metadata not found)"
         not a plugin
qt.core.plugin.factoryloader: looking at "libqminimalegl.so"
qt.core.plugin.loader: Failed to find metadata in lib /usr/pkg/qt6/plugins/platforms/libqminimalegl.so: '/usr/pkg/qt6/plugins/platforms/libqminimalegl.so' is not a Qt plugin (metadata not found)
qt.core.plugin.factoryloader: "Failed to extract plugin meta data from '/usr/pkg/qt6/plugins/platforms/libqminimalegl.so': '/usr/pkg/qt6/plugins/platforms/libqminimalegl.so' is not a Qt plugin (metadata not found)"
         not a plugin
qt.core.plugin.factoryloader: looking at "libqoffscreen.so"
qt.core.plugin.loader: Failed to find metadata in lib /usr/pkg/qt6/plugins/platforms/libqoffscreen.so: '/usr/pkg/qt6/plugins/platforms/libqoffscreen.so' is not a Qt plugin (metadata not found)
qt.core.plugin.factoryloader: "Failed to extract plugin meta data from '/usr/pkg/qt6/plugins/platforms/libqoffscreen.so': '/usr/pkg/qt6/plugins/platforms/libqoffscreen.so' is not a Qt plugin (metadata not found)"
         not a plugin
qt.core.plugin.factoryloader: looking at "libqvnc.so"
qt.core.plugin.loader: Failed to find metadata in lib /usr/pkg/qt6/plugins/platforms/libqvnc.so: '/usr/pkg/qt6/plugins/platforms/libqvnc.so' is not a Qt plugin (metadata not found)
qt.core.plugin.factoryloader: "Failed to extract plugin meta data from '/usr/pkg/qt6/plugins/platforms/libqvnc.so': '/usr/pkg/qt6/plugins/platforms/libqvnc.so' is not a Qt plugin (metadata not found)"
         not a plugin
qt.core.plugin.factoryloader: looking at "libqxcb.so"
qt.core.plugin.loader: Failed to find metadata in lib /usr/pkg/qt6/plugins/platforms/libqxcb.so: '/usr/pkg/qt6/plugins/platforms/libqxcb.so' is not a Qt plugin (metadata not found)
qt.core.plugin.factoryloader: "Failed to extract plugin meta data from '/usr/pkg/qt6/plugins/platforms/libqxcb.so': '/usr/pkg/qt6/plugins/platforms/libqxcb.so' is not a Qt plugin (metadata not found)"
         not a plugin
qt.core.plugin.factoryloader: checking directory path "/r/work/win/qt6-test/platforms" ...
qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Abort (core dumped)
armv7$

---

The same sample program works fine on NetBSD/i386 10.1:

---
i386$ QT_DEBUG_PLUGINS=1 ./sample
qt.core.plugin.factoryloader: checking directory path "/usr/pkg/qt6/plugins/platforms" ...
qt.core.plugin.factoryloader: looking at "libqeglfs.so"
qt.core.plugin.loader: Found metadata in lib /usr/pkg/qt6/plugins/platforms/libqeglfs.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "eglfs"
        ]
    },
    "archlevel": 0,
    "className": "QEglFSIntegrationPlugin",
    "debug": false,
    "version": 395264
}


qt.core.plugin.factoryloader: Got keys from plugin meta data QList("eglfs")
qt.core.plugin.factoryloader: looking at "libqminimal.so"
qt.core.plugin.loader: Found metadata in lib /usr/pkg/qt6/plugins/platforms/libqminimal.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimal"
        ]
    },
    "archlevel": 0,
    "className": "QMinimalIntegrationPlugin",
    "debug": false,
    "version": 395264
}


qt.core.plugin.factoryloader: Got keys from plugin meta data QList("minimal")
qt.core.plugin.factoryloader: looking at "libqminimalegl.so"
qt.core.plugin.loader: Found metadata in lib /usr/pkg/qt6/plugins/platforms/libqminimalegl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimalegl"
        ]
    },
    "archlevel": 0,
    "className": "QMinimalEglIntegrationPlugin",
    "debug": false,
    "version": 395264
}


qt.core.plugin.factoryloader: Got keys from plugin meta data QList("minimalegl")
qt.core.plugin.factoryloader: looking at "libqoffscreen.so"
qt.core.plugin.loader: Found metadata in lib /usr/pkg/qt6/plugins/platforms/libqoffscreen.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "offscreen"
        ]
    },
    "archlevel": 0,
    "className": "QOffscreenIntegrationPlugin",
    "debug": false,
    "version": 395264
}


qt.core.plugin.factoryloader: Got keys from plugin meta data QList("offscreen")
qt.core.plugin.factoryloader: looking at "libqvnc.so"
qt.core.plugin.loader: Found metadata in lib /usr/pkg/qt6/plugins/platforms/libqvnc.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "vnc"
        ]
    },
    "archlevel": 0,
    "className": "QVncIntegrationPlugin",
    "debug": false,
    "version": 395264
}

 :



---

>How-To-Repeat:
See above.

>Fix:
No idea.

---
Izumi Tsutsui



Home | Main Index | Thread Index | Old Index