[Bug 271111] www/qt6-webengine: fails to build, no member named 'kPpapi' in 'sandbox::mojom::Sandbox'

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Jun 26 07:32:11 BST 2023


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271111

Kai Knoblich <kai at FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #243002|                            |maintainer-approval+
              Flags|                            |

--- Comment #6 from Kai Knoblich <kai at FreeBSD.org> ---
Created attachment 243002
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=243002&action=edit
qt6-webengine-fix-build-with-CUPS-unset-v1.patch

(In reply to Benjamin Takacs from comment #4)
(In reply to echoxxzz from comment #5)

Thanks for the attached log which helped a lot to track down the root cause. 
At the same time, when finding the actual cause, comment #5 also confirmed
this, thank you very much for that as well.

I was able to reproduce issue as reported in comment #0 for qt6-webengine (with
either ALSA/PULSEAUDIO/SNDIO set) and OPTIONS_UNSET+= CUPS in the make.conf:

However, the above settings would have to have worked for a good while until
CUPS was made optional for devel/qt6-base in ports 12c193069e33.  That would
fit at least in terms of the time period (= date of commit vs. date of this bug
report).

If CUPS is re-enabled for devel/qt6-base by adding an additional line, the
issue doesn't occur (as it comment #5 also confirms):

> devel_qt6-base_OPTIONS_SET_FORCE= CUPS


Can you please try the attached patch, if it works for you at runtime (with
focus on PDF related stuff), if the CUPS option is unset? (I've left out the
PORTREVISION bump for now to avoid rebases.)



Some more technical details:

If Cups is not present some GN arguments are set to false during the
configuration stage:

> -- extend_gn_list(gnArgArg enable_basic_printing;enable_print_preview;enable_pdf CONDITION QT_FEATURE_webengine_printing_and_pdf ...): Evaluated to false
> -- extend_gn_list(gnArgArg use_cups CONDITION QT_FEATURE_webengine_printing_and_pdf;AND;NOT;WIN32 ...): Evaluated to false
> -- extend_gn_list(gnArgArg enable_plugins CONDITION QT_FEATURE_webengine_pepper_plugins ...): Evaluated to false


Adding "QT_FEATURE_webengine_pepper_plugins" to CMAKE_ON to explicitly enable
the "enable_ppapi" option leads to an assertion error:

> CMake Error at /wrkdirs/usr/ports/www/qt6-webengine/work-sndio/qtwebengine-everywhere-src-6.4.2/cmake/Gn.cmake:72 (message):
> 
>  -- GN FAILED
> 
>  ERROR at //content/browser/BUILD.gn:2784:5: Assertion failed.
> 
>      assert(enable_basic_printing)
>      ^-----
> 
>  See //content/public/browser/BUILD.gn:490:5: which caused the file to be
>  included.
> 
>      "//content/browser",  # Must not be public_deps!
>      ^------------------

So it seems that the "enable_ppapi" option depends on the actual setting of
"QT_FEATURE_webengine_printing_and_pdf". However adding
"-DQT_FEATURE_webengine_print_and_pdf:BOOL=OFF" along with a patch that makes
"sandbox::mojom::Sandbox::kPpapi" conditional didn't work as the build failed
in a late stage when compiling the "QtPdf" module with the error reporting in
comment #0.

Adding the additional parameter "-DQT_FEATURE_qtpdf_build:BOOL=OFF" to disable
the build of the QtPdf module seems to the fix the whole build issue:

>  Build QtPdf Modules:
>    Build QtPdfWidgets ................... no
>    Build QtPdfQuick ..................... no

poudriere -> OK (13.2-RELEASE, with either ALSA/PULSEAUDIO/SNDIO and CUPS set) 
poudriere -> OK (13.2-RELEASE, with either ALSA/PULSEAUDIO/SNDIO and CUPS
unset)

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the kde-freebsd mailing list