#1136260 gambas3-gb-qt6-ext: requires non-existent gb.qt5 interface at runtime (upstream regression fixed in 3.20.3)

Package:
gambas3-gb-qt6-ext
Source:
gambas3-gb-qt6-ext
Description:
Gambas extended Qt GUI component
Submitter:
Alessandro Rinaldi
Date:
2026-05-26 20:35:03 UTC
Severity:
normal
Tags:
#1136260#5
Date:
2026-05-11 07:51:56 UTC
From:
To:
Dear Maintainer,

On Debian 13 (trixie), gambas3-gb-qt6-ext cannot be loaded at runtime
because it requests the gb.qt5 component interface -- which is not
present on systems that install only the Qt6 stack (as is the case on
trixie, where no gambas3-gb-qt5 package is provided).

Steps to reproduce
==================

1. Install gambas3, gambas3-gb-qt6 and gambas3-gb-qt6-ext on a clean
   Debian 13 system. Do NOT install any gb.qt5 component.

2. Create or open any Gambas 3 project whose .project declares:
       Component=gb.qt6
       Component=gb.qt6.ext

3. Run it (gbx3, or "Run" from the IDE). The runtime aborts with:

       ** OOPS! INTERNAL ERROR. Program aborting, sorry! :-(
       ** Cannot find interface of library 'gb.qt5'
       ** ERROR: #27: Cannot load component 'gb.qt5': cannot find component

The crash happens before any user code runs, on component load.

Diagnosis
=========

The .component metadata file shipped with the binary correctly states
the dependency:

    $ cat /usr/lib/gambas3/gb.qt6.ext.component
    [Component]
    Author=Benoit Minisini
    Require=gb.qt6

However, the compiled shared library hardcodes a request for the
gb.qt5 interface:

    $ strings /usr/lib/gambas3/gb.qt6.ext.so | grep '^gb\.'
    gb.qt5

This is a leftover from when gb.qt6.ext was created by copying the
sources of gb.qt5.ext: the .component file was updated, but the
GB.GetInterface() call in src/ext/main.cpp was not. The result is a
binary that -- on any system where gb.qt5 is absent -- is unusable.

Affected source location (upstream tree, tag 3.20.2):

    gb.qt6/src/ext/main.cpp:57
        GB.GetInterface("gb.qt5", QT_INTERFACE_VERSION, &QT);

Upstream fix
============

The issue was fixed upstream on 2025-04-02 in commit eb1318a1,
"Load the correct component interface and do not crash anymore.":

https://gitlab.com/gambas/gambas/-/commit/eb1318a1

The change is a one-line typo fix:

#1136260#10
Date:
2026-05-11 10:16:22 UTC
From:
To:
Okay, I will soon file a stable update request.
#1136260#19
Date:
2026-05-11 10:32:21 UTC
From:
To:
Please find the stable update request at #1136271.
#1136260#24
Date:
2026-05-26 20:32:06 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
gambas3, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1136260@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Bastian Germann <bage@debian.org> (supplier of updated gambas3 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Mon, 11 May 2026 12:21:23 +0200
Source: gambas3
Architecture: source
Version: 3.20.2-1+deb13u1
Distribution: trixie
Urgency: medium
Maintainer: Debian Gambas Team <team+debian-gambas@tracker.debian.org>
Changed-By: Bastian Germann <bage@debian.org>
Closes: 1136260
Changes:
 gambas3 (3.20.2-1+deb13u1) trixie; urgency=medium
 .
   * Team upload
   * Fix qt6 component trying to load non-existing qt5 dependency
     (Closes: #1136260)
Checksums-Sha1:
 a7946e0ebf35cdc642d709526064ded076a862a2 10626 gambas3_3.20.2-1+deb13u1.dsc
 fa9c498e4a11fe047a81960d5dbd373f33848c4e 29932 gambas3_3.20.2-1+deb13u1.debian.tar.xz
 af405ee6beed4ec09e4edd7c8b8d75ff9b21ce0a 19444 gambas3_3.20.2-1+deb13u1_source.buildinfo
Checksums-Sha256:
 c592fdb42b83b32d1377f33d311479abcb2bf637252a98fe9994e3ba1569cb20 10626 gambas3_3.20.2-1+deb13u1.dsc
 050f21d31752993b1f7d797c959dfd832527eb0d2844d65df0ad1546ca655557 29932 gambas3_3.20.2-1+deb13u1.debian.tar.xz
 fc9b8bf26c7a3056b44a9bf36e59132a52680d2e083bd25335e418977754f43b 19444 gambas3_3.20.2-1+deb13u1_source.buildinfo
Files:
 8e3eaada8754832bfd4002de5f70d781 10626 devel optional gambas3_3.20.2-1+deb13u1.dsc
 8ffc5792a07f84fb2f3894391bf69208 29932 devel optional gambas3_3.20.2-1+deb13u1.debian.tar.xz
 5eed80f8c239db4dc3dc4084612c7710 19444 devel optional gambas3_3.20.2-1+deb13u1_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQHEBAEBCgAuFiEEQGIgyLhVKAI3jM5BH1x6i0VWQxQFAmoUt4UQHGJhZ2VAZGVi
aWFuLm9yZwAKCRAfXHqLRVZDFFJWC/9A28OMXWT5X/3uhTy7l2JEmvQndiTQU7lr
iWZSyXP44GmgY7okdTa0JRuFi2je4io5BiZsbTRUZgr9vKNc5ICF/nygYkxRt9jE
LgjEoKhJMYvfT/lhXDhzA4gezkmMVzXJmXrFhu7yibFHAj/ZOHKoq2+6Xqwy0SMx
cGvLOjd+oIY5O9HgshqKfX0v4fsCU8i0quQV4+OMcBRKhMkWk6iWYFNvfIqjovb9
Z6Sq5ull1WLlTcWH9geOqYg/EE6l3xSmAUP79EqnxNTD40OcaC4FiKOB9XBmP83q
MDvpB46q4L6hIstUo4IaE1XRtcuhnq8HdfGteX4efK3OIAQgLgF4RHZRSj6xDs6n
RjjVYwvx/zSjCzT0uYgCZKxU5vVWETXJHOJhLD92BZ7/SNIcJdhrdsCauSerDjkX
H7xwQblZ3b3TdVR2WnGs7wkXIf61F3OWBWuCE7qJmvqPDbXmTcvqvNlfjhHFrezO
Wz3YaZP+fpkih6ViiywLXRkow7CIynQ=
=X2Wf
-----END PGP SIGNATURE-----