Summary: | x11-toolkits/qt5-gui: fails to package when ATKONLY=on in accessibility/at-spi2-core | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | Tassilo Philipp <tphilipp> |
Component: | Individual Port(s) | Assignee: | freebsd-ports-bugs (Nobody) <ports-bugs> |
Status: | Open --- | ||
Severity: | Affects Some People | CC: | chalpin, desktop, fernape, igor.arabesc.pavlov, jakub_lach, kde, tcberner |
Priority: | --- | Flags: | tcberner:
maintainer-feedback+
|
Version: | Latest | ||
Hardware: | Any | ||
OS: | Any | ||
Attachments: |
Description
Tassilo Philipp
2023-05-23 11:26:17 UTC
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
|