The accessibility/at-spi2-core port has an option ATKONLY which disables spi. The qt5-gui port builds just fine with at-spi2-core built with ATKONLY=on, but fails in the package phase as it assumes certain files to be available: [...] =======================<phase: package >============================ ===> Building package for qt5-gui-5.15.8p157_1 pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/include/qt5/QtLinuxAccessibilitySupport/5.15.8/QtLinuxAccessibilitySupport/private/application_p.h:No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/include/qt5/QtLinuxAccessibilitySupport/5.15.8/QtLinuxAccessibilitySupport/private/atspiadaptor_p.h:No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/include/qt5/QtLinuxAccessibilitySupport/5.15.8/QtLinuxAccessibilitySupport/private/bridge_p.h:No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/include/qt5/QtLinuxAccessibilitySupport/5.15.8/QtLinuxAccessibilitySupport/private/cache_p.h:No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/include/qt5/QtLinuxAccessibilitySupport/5.15.8/QtLinuxAccessibilitySupport/private/constant_mappings_p.h:No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/include/qt5/QtLinuxAccessibilitySupport/5.15.8/QtLinuxAccessibilitySupport/private/dbusconnection_p.h:No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/include/qt5/QtLinuxAccessibilitySupport/5.15.8/QtLinuxAccessibilitySupport/private/struct_marshallers_p.h:No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/include/qt5/QtLinuxAccessibilitySupport/QtLinuxAccessibilitySupport:No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/include/qt5/QtLinuxAccessibilitySupport/QtLinuxAccessibilitySupportDepends:No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/include/qt5/QtLinuxAccessibilitySupport/QtLinuxAccessibilitySupportVersion:No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/include/qt5/QtLinuxAccessibilitySupport/qtlinuxaccessibilitysupportversion.h:No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/lib/cmake/Qt5LinuxAccessibilitySupport/Qt5LinuxAccessibilitySupportConfig.cmake:No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/lib/cmake/Qt5LinuxAccessibilitySupport/Qt5LinuxAccessibilitySupportConfigVersion.cmake:No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/lib/qt5/libQt5LinuxAccessibilitySupport.a:No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/lib/qt5/libQt5LinuxAccessibilitySupport.prl:No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/lib/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri:No such file or directory *** Error code 1 I am not sure how to handle this (or if this can/should be handled)?
Created attachment 243986 [details] Add ATK_BRIDGE option for qt5-gui Add an ATK_BRIDGE option for qt5-gui, parallel to the same option in gtk30. When this option is unset, qt5-gui packages correctly when ATKONLY=on is set in accessibility/at-spi2-core .
Created attachment 243987 [details] Add ATK_BRIDGE option for qt5-widgets This, similarly, adds an ATK_BRIDGE option to qt5-widgets, working similarly to the one for qt5-gui.
Thanks! I tested it and it builds fine now. One thing though, I think the Makefiles need a ATK_BRIDGE_DESC variable, otherwise the ATK_BRIDGE option in the options dialog lacks a description.
Created attachment 244229 [details] Add ATK_BRIDGE option for qt5-gui, with DESC
Created attachment 244230 [details] Add ATK_BRIDGE option for qt5-widgets, with DESC
Moin moin Please convert your patches to https://docs.freebsd.org/en/books/porters-handbook/makefiles/#options-vars mfg Tobias
(In reply to Tobias C. Berner from comment #6) When I attempt to use the option vars formulation then x11-toolkits/qt5-gui fails to configure. The error is `Project ERROR: Unknown module(s) in QT_PRIVATE: dbus`. Adding a `CONFIGURE_ENV` to also pass the customized QT_CONFIG and QT_DEFINES did not help. I'm not entirely clear on what is going wrong. It seems like `ATK_BRIDGE_USE_QT= dbus` is no longer being recognized by the USE_QT machinery when using `ATK_BRIDGE_VARS(_OFF)?` to customize QT_CONFIG and QT_DEFINES.
(In reply to Corey Halpin from comment #7) Oh! Ugh. Nevermind. I see now what I was doing wrong. I'll have updated patches after a few more `testport` runs complete.
Created attachment 244391 [details] Add ATK_BRIDGE option for qt5-gui, option vars version
Created attachment 244392 [details] Add ATK_BRIDGE option for qt5-widgets, option vars version
Both option vars versions pass `poudriere testport` for 13.2/amd64 both with and without the ATK_BRIDGE option set.
(In reply to Corey Halpin from comment #11) Thanks for your work, unfortunately I think that patch needs updating for qt5-gui 5.15.12p148 (I've ran into this issue yet again after recent update).
(In reply to jakub_lach from comment #12) What specifically is the problem you are seeing? With a ports tree updated from git this morning, both the above patches still apply and the ports still build correctly in poudriere. I'm now building on 14.0/amd64 rather than 13.2/amd64, but offhand I can't think of a reason that would make any difference.
*** Bug 276026 has been marked as a duplicate of this bug. ***
(In reply to Corey Halpin from comment #13) --- sub-ibus-all --- ./qibustypes.h:152:8: error: unknown type name 'QDBusArgument' inline QDBusArgument &operator<<(QDBusArgument &argument, const QIBusAttribute &attribute) ^ ./qibustypes.h:152:34: error: unknown type name 'QDBusArgument' inline QDBusArgument &operator<<(QDBusArgument &argument, const QIBusAttribute &attribute) ^ ./qibustypes.h:154:14: error: unknown type name 'QDBusArgument' inline const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusAttribute &attribute) ^ ./qibustypes.h:154:46: error: unknown type name 'QDBusArgument' inline const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusAttribute &attribute) ^ ./qibustypes.h:157:8: error: unknown type name 'QDBusArgument' inline QDBusArgument &operator<<(QDBusArgument &argument, const QIBusAttributeList &attributeList) ^ ./qibustypes.h:157:34: error: unknown type name 'QDBusArgument' inline QDBusArgument &operator<<(QDBusArgument &argument, const QIBusAttributeList &attributeList) ^ ./qibustypes.h:159:14: error: unknown type name 'QDBusArgument' inline const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusAttributeList &attributeList) ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. *** [.obj/qibustypes.o] Error code 1 make[3]: stopped in /usr/obj/usr/ports/x11-toolkits/qt5-gui/work/kde-qtbase-5.15.12p148/src/plugins/platforminputcontexts/ibus 1 error make[3]: stopped in /usr/obj/usr/ports/x11-toolkits/qt5-gui/work/kde-qtbase-5.15.12p148/src/plugins/platforminputcontexts/ibus *** [sub-ibus-all] Error code 2 make[2]: stopped in /usr/obj/usr/ports/x11-toolkits/qt5-gui/work/kde-qtbase-5.15.12p148/src/plugins/platforminputcontexts --- sub-compose-all --- *** [sub-compose-all] Error code 6 make[2]: stopped in /usr/obj/usr/ports/x11-toolkits/qt5-gui/work/kde-qtbase-5.15.12p148/src/plugins/platforminputcontexts 2 errors make[2]: stopped in /usr/obj/usr/ports/x11-toolkits/qt5-gui/work/kde-qtbase-5.15.12p148/src/plugins/platforminputcontexts *** Error code 2
(In reply to jakub_lach from comment #15) Error messages without any context about how you got them are pretty difficult to debug. Could you please specify: - What version of FreeBSD you are using and on what architecture? - How you are building the port (e.g., ports directly, `portmaster`, `poudriere`, etc)? - What options you are using for the port? (For what it's worth, if you haven't unset the ATK_BRIDGE option for these two ports, but you have set ATKONLY in accessibility/at-spi2-core, then it wouldn't be expected to work. The new options added in this patch must be unset in combination with the ATKONLY=on in accessibility/at-spi2-core - that is the situation for the successful builds in poudriere under 14.0/amd64 that I mentioned earlier.)
(In reply to Corey Halpin from comment #16) Hello, Sorry for the cryptic message, I'm still running some (portmaster) rebuilds to be 100% sure, though the above was with patch "Add ATK_BRIDGE option for qt5-gui, option vars version" applied and ATK_BRIDGE set to off, ATKONLY set to on (both portswide), 14.0-STABLE #0 stable/14-0a6b61a89 amd64. Previously had the same packaging error as you.
(In reply to jakub_lach from comment #17) Thank you for the additional information - it is very helpful. Unfortunately, I'm still not able to replicate the error your are getting. I created a 14.0 jail, pulled ports from git, applied the patches from this bug, and added the following to make.conf: ``` OPTIONS_UNSET+= ATK_BRIDGE OPTIONS_UNSET+= DBUS accessibility_at-spi2-core_SET+= ATKONLY ``` With these settings in place, portmaster correctly builds `x11-toolkits/qt5-gui`. I suspect that either 1) there's something installed on your system that's confusing `configure` so that it depends on dbus despite `-DQT_NO_DBUS` in the build, or 2) there's some other port on your system built against dbus that implicitly forces the dbus dependency. Can you do (as root): ``` cd /usr/ports/x11-toolkits/qt5-gui make clean make configure | tee ~/qt5-gui-config.log ``` Then please attach the `qt5-gui-config.log` from root's homedir to this bug? Thank you.
(In reply to Corey Halpin from comment #18) Thanks for reply, I will test again later, though for fwiw it occurred to me that I didn't really need ATKONLY=on in accessibility/at-spi2-core so for now I just recompiled/updated all affected ports without additional patches.
Created attachment 247856 [details] qt5-gui-config.log after applying patch and build error qt5-gui-config.log after applying patch and build error