Bug 247994

Summary: x11-toolkits/qt5-gui problem with pkg-plist?
Product: Ports & Packages Reporter: CTS - FreeBSD Team <de-freebsd>
Component: Individual Port(s)Assignee: freebsd-kde (group) <kde>
Status: Closed FIXED    
Severity: Affects Only Me CC: dgeo, dominik.lisiak, feld, geraud, pi, tcberner, thomas, tremere
Priority: --- Flags: tcberner: maintainer-feedback+
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
qt5-gui-5.15.0.log.gz
none
Add X11 knob to fix building qt5-declarative with X11 disabled in /etc/make.conf
none
Add X11 knob to fix building qt5-declarative with X11 disabled in /etc/make.conf (fixed Makefile) tremere: maintainer-approval?

Description CTS - FreeBSD Team 2020-07-15 12:03:04 UTC
After the last portsnap update i no longer can build qt5-gui i constantly get errors at "Building package for qt5-gui-5.15.0" (i use poudriere on a FreeBSD-11.3 amd64 VM). Am i the only one?

```
===>  Building package for qt5-gui-5.15.0
pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/include/qt5/QtLinuxAccessibilitySupport/5.15.0/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.0/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.0/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.0/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.0/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.0/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.0/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/Qt5Gui/Qt5Gui_QXcbEglIntegrationPlugin.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/Qt5Gui/Qt5Gui_QXcbGlxIntegrationPlugin.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/Qt5Gui/Qt5Gui_QXcbIntegrationPlugin.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/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/cmake/Qt5XcbQpa/Qt5XcbQpaConfig.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/Qt5XcbQpa/Qt5XcbQpaConfigVersion.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/libQt5XcbQpa.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/libQt5XcbQpa.so:No such file or directory
pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/lib/qt5/libQt5XcbQpa.so.5:No such file or directory
pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/lib/qt5/libQt5XcbQpa.so.5.15:No such file or directory
pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/lib/qt5/libQt5XcbQpa.so.5.15.0: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
pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/lib/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:No such file or directory
pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/lib/qt5/plugins/platforms/libqxcb.so:No such file or directory
pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/lib/qt5/plugins/xcbglintegrations/libqxcb-egl-integration.so:No such file or directory
pkg-static: Unable to access file /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/stage/usr/local/lib/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so:No such file or directory
pkg-static: Warning: @exec is deprecated, please use @[pre|post][un]exec
*** Error code 1

Stop.
make: stopped in /usr/ports/x11-toolkits/qt5-gui
=>> Cleaning up wrkdir
===>  Cleaning for qt5-gui-5.15.0
build of x11-toolkits/qt5-gui | qt5-gui-5.15.0 ended at Tue Jul 14 19:52:37 CEST 2020
build time: 00:18:28
!!! build failure encountered !!!
```

Full build log from poudriere attached
Comment 1 CTS - FreeBSD Team 2020-07-15 12:06:06 UTC
Created attachment 216463 [details]
qt5-gui-5.15.0.log.gz

Full poudriere build log.gz (as it would be too big otherwise)
Comment 2 Tobias C. Berner freebsd_committer freebsd_triage 2020-07-15 16:28:38 UTC
Moin moin 

I cannot reproduce this in my 1103000 jail.


mfg Tobias
Comment 3 geraud 2020-07-16 04:54:58 UTC
Servus,

I experienced the same missing files while building qt5-gui yesterday after having stripped the X11 options from most of my ports.

After some tinkering, it seems that setting 'X11' to x11/libxkbcommon fixes the build for me.

Regards,

G.
Comment 4 Tobias C. Berner freebsd_committer freebsd_triage 2020-07-16 05:07:43 UTC
Moin moin

Unfortunately there is no clean way to make decicions based on other ports's options.

A possibility would be to add an xcb option to the qt5-gui port which would mask these files. It would still bw the users duty however to make sure xcb is present though.

Do you build gui only for use with an fb output?


mfg Tobias
Comment 5 geraud 2020-07-16 05:49:26 UTC
Servus,

Don't know about the OP, but for us qt5-gui is just a dependency for 'converters/wkhtmltopdf' that is used by some websites we're running to convert html pages to PDF files.

As such, we're trying to limit the use of the X11 option for our ports.

So, to answer your question, I don't think I'm using any graphical output at all.

Regards,

G.
Comment 6 CTS - FreeBSD Team 2020-07-16 09:57:38 UTC
(In reply to geraud from comment #5)

I totally agree with you. There is one client on one webserver i maintain that needs that wkhtmltopdf monster...

I just re-activated X11 option in x11/libxkbcommon and it builds for now. At least i can get the latest mysql patches out of the door now. THX!
Comment 7 Tobias C. Berner freebsd_committer freebsd_triage 2020-07-16 11:50:38 UTC
Moin moin

OK, I'll look into supporting an X11 flag in the port.


Mfg Tobias
Comment 8 Ralf van der Enden 2020-07-20 06:57:12 UTC
I'm experiencing the same issue. I have X11 unset in my make.conf for all ports and qt5-gui is a dependency for net-p2p/qbittorrent-nox.
Comment 9 Thomas Steen Rasmussen / Tykling 2020-07-22 18:37:11 UTC
Just a +1 from me.

I also use 'converters/wkhtmltopdf' to generate PDF files for websites, and I build in a poudriere with `OPTIONS_UNSET+= DOCS NLS X11 EXAMPLES` in make.conf.

Hoping for a fix soon! Thanks :)
Comment 10 Adriaan de Groot freebsd_committer freebsd_triage 2020-07-23 08:01:55 UTC
I think this just became moot with pi@'s commit (added to CC of this bug),

New Revision: 542904
URL: https://svnweb.freebsd.org/changeset/ports/542904

Log:
  converters/wkhtmltopdf: update 0.12.5 -> 0.12.6, fix build
  - remove dependency on www/qt5-webkit

I *think* this moves the responsibility for the no-X11 case over to wkhtmltopdf. It also replaces one copy of a fork of an unmaintained web browser (www/qt5-webkit) by another copy of a fork of an unmaintained web browser (the webkit bundled in wkhtmltopdf) -- I don't know if that's a good thing or not.
Comment 11 Tobias C. Berner freebsd_committer freebsd_triage 2020-07-23 17:11:44 UTC
(In reply to Adriaan de Groot from comment #10)
Yeah, I agree. Unless x people show up and demand FB only support for GUI, the option is not worth the additional work :D
Comment 12 Tobias C. Berner freebsd_committer freebsd_triage 2020-07-26 09:11:36 UTC
Moin moin 

Please feel free to re-open this if you really need to have qt5-gui support without X11 -- if you only required it for wkhtmltopdf, you should be all set by now.
Comment 13 Ralf van der Enden 2020-07-27 08:11:17 UTC
Created attachment 216795 [details]
Add X11 knob to fix building qt5-declarative with X11 disabled in /etc/make.conf


Building net-p2p/qbittorrent@nox requires x11-toolkits/qt5-declarative, which in turn pulls in x11-toolkits/qt5-gui. This fails with the same errors as the previously attached logfile.

My patch adds a X11 knob, which is enabled by default, so I don't break anything.

Only tested with qbittorrent-nox, so might need additional testing.
Comment 14 Dominik Lisiak 2020-07-30 09:14:35 UTC
(In reply to Tobias C. Berner from comment #12)

Can this issue be reopened? This is still a problem for "net-p2p/qbittorrent@nox". I cannot reopen it myself.
Comment 15 Tobias C. Berner freebsd_committer freebsd_triage 2020-07-30 14:31:56 UTC
Let's reopen this...
Comment 16 Mark Felder freebsd_committer freebsd_triage 2020-10-09 17:31:51 UTC
(In reply to Tobias C. Berner from comment #15)

Any updates? I haven't been able to build qt5-gui in my tree with OPTIONS_UNSET=X11 for months now
Comment 17 Ralf van der Enden 2020-10-09 18:09:08 UTC
(In reply to Mark Felder from comment #16)

My patch should solve it for you. I've built qbittorent-nox without any issues with it.

Unfortunately there's seems no desire to commit it to the port.
Comment 18 Tobias C. Berner freebsd_committer freebsd_triage 2020-10-10 18:18:09 UTC
(In reply to Ralf van der Enden from comment #17)
> Unfortunately there's seems no desire to commit it to the port.

Please always assume that timeouts happen not because of desinterest, but because of stuff simply falling of the todo-list :)

So, please feel free to ping in the future, if something gets lost in all the shuffle.



That being said, your patch needs some work -- X11=on is broken, as you removed all the QT_* variables.



mfg Tobias
Comment 19 Ralf van der Enden 2020-10-10 20:57:19 UTC
(In reply to Tobias C. Berner from comment #18)

Actually I didn't remove them, but pulled the Makefile through portfmt, so stuff got reordered (as suggested by portclippy). The QT_* variables are now more to the top of the Makefile.
Comment 20 Tobias C. Berner freebsd_committer freebsd_triage 2020-10-11 11:01:06 UTC
(In reply to Ralf van der Enden from comment #19)
Ah right, failed to see that among all the changes :-) -- the problem still persists nevertheless.
Comment 21 Ralf van der Enden 2020-10-13 06:36:47 UTC
Created attachment 218706 [details]
Add X11 knob to fix building qt5-declarative with X11 disabled in /etc/make.conf (fixed Makefile)


I finally found the issue with my modifications. I changed MORE_WORKSRC to _MORE_WORKSRC to quiet portfmt's portclippy tool. Unfortunately I missed a few occurences which broke the X11=on build. I've built with X11=on and X11=off and it's not throwing any errors anymore.

Sorry for my screwup.
Comment 22 Tobias C. Berner freebsd_committer freebsd_triage 2020-10-23 17:18:22 UTC
Committed. Thanks.
Comment 23 commit-hook freebsd_committer freebsd_triage 2020-10-23 17:18:43 UTC
A commit references this bug:

Author: tcberner
Date: Fri Oct 23 17:18:14 UTC 2020
New revision: 553117
URL: https://svnweb.freebsd.org/changeset/ports/553117

Log:
  x11-toolkits/qt5-gui: add X11 option

  This change makes it possible to build Qt5 without a big dependency on X11,
  which you might want to do when only requiring Qt for wkhtmltopdf or similar
  "headless" setups.

  - Some additional port formatting

  PR:		247994
  Submitted by:	Ralf van der Enden <tremere@cainites.net>
  Reported by:	Markus Mann <freebsd-public@it64.de>

Changes:
  head/x11-toolkits/qt5-gui/Makefile
  head/x11-toolkits/qt5-gui/pkg-plist