Opened 8 weeks ago

Closed 4 weeks 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) 8 weeks ago.
build log

Change History (12)

Changed 8 weeks ago by m0nt0 (Pietro Montorfano)

Attachment: main.log added

build log

comment:1 Changed 8 weeks ago by markemer (Mark Anderson)

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

comment:2 Changed 8 weeks 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 7 weeks ago by markemer (Mark Anderson)

Cc: markemer added

comment:4 Changed 7 weeks ago by markemer (Mark Anderson)

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

comment:5 Changed 7 weeks 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 7 weeks 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 7 weeks 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 7 weeks 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. I'm saying this, because this diff doesn't exactly work and I kinda don't want to guess what it's up to, but I'm investigating.

Last edited 7 weeks ago by markemer (Mark Anderson) (previous) (diff)

comment:10 Changed 6 weeks 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 4 weeks 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.