Opened 10 months ago

Closed 9 months ago

#70850 closed defect (fixed)

qt5-qtwebengine @5.15.16_2 : converts to incompatible function type on sequoia

Reported by: m0nt0 (Pietro Montorfano) Owned by: markemer (Mark Anderson)
Priority: Normal Milestone:
Component: ports Version: 2.10.1
Keywords: sequoia Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), markemer (Mark Anderson)
Port: qt5-qtwebengine

Description

while installing openconect-sso qt-webengine is a dependency. The build fails on sequoia

--->  Building qt5-qtwebengine
Error: Failed to build qt5-qtwebengine: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt5/qt5-qtwebengine/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port openconnect-sso failed

the error seems to be

:info:build ../../3rdparty/chromium/third_party/harfbuzz-ng/src/src/hb-ft.cc:759:73: error: cast from 'void (*)(FT_Face)' (aka 'void (*)(FT_FaceRec_ *)') to 'FT_Generic_Finalizer' (aka 'void (*)(void *)') converts to incompatible function type [-Werror,-Wcast-function-type-strict]
:info:build   759 |   if (unlikely (!ft_face->generic.data || ft_face->generic.finalizer != (FT_Generic_Finalizer) hb_ft_face_finalize))
:info:build       |                                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:info:build ../../3rdparty/chromium/third_party/harfbuzz-ng/src/src/hb.hh:234:46: note: expanded from macro 'unlikely'
:info:build   234 | #define unlikely(expr) (__builtin_expect (!!(expr), 0))
:info:build       |                                              ^~~~
:info:build ../../3rdparty/chromium/third_party/harfbuzz-ng/src/src/hb-ft.cc:765:34: error: cast from 'void (*)(FT_Face)' (aka 'void (*)(FT_FaceRec_ *)') to 'FT_Generic_Finalizer' (aka 'void (*)(void *)') converts to incompatible function type [-Werror,-Wcast-function-type-strict]
:info:build   765 |     ft_face->generic.finalizer = (FT_Generic_Finalizer) hb_ft_face_finalize;
:info:build       |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:info:build ../../3rdparty/chromium/third_party/harfbuzz-ng/src/src/hb-ft.cc:1035:32: error: cast from 'void (*)(FT_Face)' (aka 'void (*)(FT_FaceRec_ *)') to 'FT_Generic_Finalizer' (aka 'void (*)(void *)') converts to incompatible function type [-Werror,-Wcast-function-type-strict]
:info:build  1035 |   ft_face->generic.finalizer = (FT_Generic_Finalizer) _release_blob;
:info:build       |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:info:build 3 errors generated.

standard macport installation

Attachments (1)

main.log (4.8 MB) - added by m0nt0 (Pietro Montorfano) 10 months ago.
build log

Change History (12)

Changed 10 months ago by m0nt0 (Pietro Montorfano)

Attachment: main.log added

build log

comment:1 Changed 10 months ago by markemer (Mark Anderson)

This is also happening on the CI on macOS 12, 13, 14 as well.

comment:2 Changed 10 months ago by markemer (Mark Anderson)

Summary: qt5-qtwebengine @5.15.16_2 : converts to incompatible function type on sequoiaqt5-qtwebengine @5.15.16_2 : converts to incompatible function type

comment:3 Changed 9 months ago by markemer (Mark Anderson)

Cc: markemer added

comment:4 Changed 9 months ago by markemer (Mark Anderson)

I fixed your problem here PR-25973, but so many more keep popping up.

comment:5 Changed 9 months ago by markemer (Mark Anderson)

Keywords: sequoia added
Summary: qt5-qtwebengine @5.15.16_2 : converts to incompatible function typeqt5-qtwebengine @5.15.16_2 : converts to incompatible function type on sequoia

Ok, I'm wrong about 12,13,14 - the CI builds are failing for other reasons.

comment:6 Changed 9 months ago by ryandesign (Ryan Carsten Schmidt)

Your proposed fix silences the warnings. Instead, can we fix the problems the warnings are pointing out? For example, the harfbuzz problem is fixed by this upstream commit I think:

https://github.com/harfbuzz/harfbuzz/commit/d88269c827895b38f99f7cf741fa60210d4d5169

comment:7 in reply to:  6 Changed 9 months ago by markemer (Mark Anderson)

Replying to ryandesign:

Your proposed fix silences the warnings. Instead, can we fix the problems the warnings are pointing out? For example, the harfbuzz problem is fixed by this upstream commit I think:

https://github.com/harfbuzz/harfbuzz/commit/d88269c827895b38f99f7cf741fa60210d4d5169

Awesome - yeah I can do that - thought of making that fix having not seen this, but wasn't sure if that would cause new problems, but fixing is always better than hiding.

comment:8 Changed 9 months ago by markemer (Mark Anderson)

I'm wondering how we pick the chromium - we seem to use a random SHA that I don't understand - a lot of these fixes have been fixed upstream, and I'm wondering if we can update rather than patch. Bumping to 5.15.17(webengine only) was trivial, but I don't know how and if I can bump that SHA.

Version 0, edited 9 months ago by markemer (Mark Anderson) (next)

comment:10 Changed 9 months ago by markemer (Mark Anderson)

I think I mostly have it - but for some reason the patches in PR-25973 are failing on the CIs and on my fresh mac VMs. Gonna need to figure out why.

comment:11 Changed 9 months ago by markemer (Mark Anderson)

Owner: set to markemer
Resolution: fixed
Status: newclosed

In a9ba31ffe6bdd86b9c13737aa583e7c003f1fb58/macports-ports (master):

qt5-qtwebengine: fix build errors on macOS 15

  • Turn off following warnings qt5-qtwebengine:
    • -Wenum-constexpr-conversion
    • -Wunused-but-set-variable
  • Fix -Wcast-function-type-struct errors in harfbuzz
  • Add missing dependencies in ninja files

Fixes: #70850

Note: See TracTickets for help on using tickets.