Opened 4 years ago

Closed 3 years ago

#62059 closed defect (fixed)

qt5-qtwebengine @5.15.2: does not yet build on arm64

Reported by: kencu (Ken) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version:
Keywords: arm64 Cc: abruto, chrstphrchvz (Christopher Chavez), JulianGro (Julian Groß), abey79 (Antoine Beyeler)
Port: qt5-qtwebengine

Description

<https://bugreports.qt.io/browse/QTBUG-85537>

I thought I would put this here before anyone else does.

Change History (13)

comment:1 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: abruto added
Keywords: arm64 added
Summary: qt5-qtwebengine 5.15.2: does not yet build on arm64qt5-qtwebengine @5.15.2: does not yet build on arm64

Has duplicate #63434.

The referenced upstream issue has been closed. Perhaps that means we can now fix this problem in MacPorts.

comment:2 Changed 3 years ago by abruto

Cc: abruto removed

comment:3 Changed 3 years ago by abruto

Cc: abruto added

comment:4 Changed 3 years ago by chrstphrchvz (Christopher Chavez)

Unlike the rest of Qt 5.15, QtWebEngine 5.15.x releases continue to publicly tagged in its git repository (although not as tarballs to the current master_sites). I would suggest switching qt5-qtwebengine to these newer releases (possibly using tarballs generated by the qtwebengine and qtwebengine-chromium mirror repositories on GitHub), as it may not be trivial to backport the Chromium fixes both for security issues and for supporting macOS on ARM.

comment:5 Changed 3 years ago by chrstphrchvz (Christopher Chavez)

Cc: chrstphrchvz added

comment:6 Changed 3 years ago by chrstphrchvz (Christopher Chavez)

PR opened with an attempt to update to 5.15.7: https://github.com/macports/macports-ports/pull/12595

I have only tested the patch phase. I leave it to others with full Xcode and/or Apple Silicon Macs to verify the update actually works.

Last edited 3 years ago by chrstphrchvz (Christopher Chavez) (previous) (diff)

comment:7 Changed 3 years ago by JulianGro (Julian Groß)

Cc: JulianGro added

comment:8 Changed 3 years ago by JulianGro (Julian Groß)

Cc: JulianGro removed

comment:9 Changed 3 years ago by JulianGro (Julian Groß)

Cc: JulianGro added

comment:10 in reply to:  6 Changed 3 years ago by chrstphrchvz (Christopher Chavez)

Replying to chrstphrchvz:

PR opened with an attempt to update to 5.15.7: https://github.com/macports/macports-ports/pull/12595

Thanks to a volunteer tester, some progress has been made. Currently it is stuck on an error during linking, which I have located essentially no discussion of elsewhere:

:info:build [14010/23637] TOOL_VERSION=1634667167 ../../3rdparty/chromium/build/toolchain/mac/linker_driver.py -Wcrl,strippath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip ../../../../../../../../../../../../Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -B /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/  -Wcrl,dsym,. -Wcrl,dsymutilpath,../../../../../../../../../../../../Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil  -Wl,-fatal_warnings -stdlib=libc++ -arch arm64 -mcpu=apple-a12 -Wl,-no_data_in_code_info -Wl,-no_function_starts -isysroot ../../../../../../../../../../../../Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk -mmacosx-version-min=12.0 -Wl,-ObjC -Wcrl,strip,-x,-S -o "./transport_security_state_generator" -Wl,-filelist,"./transport_security_state_generator.rsp" -framework ApplicationServices -framework AppKit -framework CoreFoundation -framework IOKit -framework OpenDirectory -framework Security -framework Foundation  -lbsm -lpmenergy -lpmsample
:info:build FAILED: transport_security_state_generator transport_security_state_generator.dSYM/Contents/Info.plist transport_security_state_generator.dSYM/Contents/Resources/DWARF/transport_security_state_generator 
:info:build TOOL_VERSION=1634667167 ../../3rdparty/chromium/build/toolchain/mac/linker_driver.py -Wcrl,strippath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip ../../../../../../../../../../../../Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -B /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/  -Wcrl,dsym,. -Wcrl,dsymutilpath,../../../../../../../../../../../../Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil  -Wl,-fatal_warnings -stdlib=libc++ -arch arm64 -mcpu=apple-a12 -Wl,-no_data_in_code_info -Wl,-no_function_starts -isysroot ../../../../../../../../../../../../Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk -mmacosx-version-min=12.0 -Wl,-ObjC -Wcrl,strip,-x,-S -o "./transport_security_state_generator" -Wl,-filelist,"./transport_security_state_generator.rsp" -framework ApplicationServices -framework AppKit -framework CoreFoundation -framework IOKit -framework OpenDirectory -framework Security -framework Foundation  -lbsm -lpmenergy -lpmsample
:info:build Undefined symbols for architecture arm64:
:info:build   "std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> >::shrink_to_fit()", referenced from:
:info:build       base::UTF8ToUTF16(char const*, unsigned long, std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> >*) in libbase.a(base_jumbo_20.o)
:info:build       base::WideToUTF16(wchar_t const*, unsigned long, std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> >*) in libbase.a(base_jumbo_20.o)
:info:build ld: symbol(s) not found for architecture arm64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build Traceback (most recent call last):
:info:build   File "../../3rdparty/chromium/build/toolchain/mac/linker_driver.py", line 307, in <module>
:info:build     Main(sys.argv)
:info:build   File "../../3rdparty/chromium/build/toolchain/mac/linker_driver.py", line 97, in Main
:info:build     subprocess.check_call(compiler_driver_args, env=env)
:info:build   File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 190, in check_call
:info:build     raise CalledProcessError(retcode, cmd)
:info:build subprocess.CalledProcessError: Command '['../../../../../../../../../../../../Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++', '-B', '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/', '-Wl,-fatal_warnings', '-stdlib=libc++', '-arch', 'arm64', '-mcpu=apple-a12', '-Wl,-no_data_in_code_info', '-Wl,-no_function_starts', '-isysroot', '../../../../../../../../../../../../Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk', '-mmacosx-version-min=12.0', '-Wl,-ObjC', '-o', './transport_security_state_generator', '-Wl,-filelist,./transport_security_state_generator.rsp', '-framework', 'ApplicationServices', '-framework', 'AppKit', '-framework', 'CoreFoundation', '-framework', 'IOKit', '-framework', 'OpenDirectory', '-framework', 'Security', '-framework', 'Foundation', '-lbsm', '-lpmenergy', '-lpmsample']' returned non-zero exit status 1

Is something missing from system libc++? (Is that even a likely scenario?)

Edit: this is the error #63725 described

Last edited 3 years ago by chrstphrchvz (Christopher Chavez) (previous) (diff)

comment:11 Changed 3 years ago by abey79 (Antoine Beyeler)

Cc: abey79 added

comment:12 Changed 3 years ago by chrstphrchvz (Christopher Chavez)

In 6899a98cef46d1e22c54f25201059713facc2cab/macports-ports (master):

qt5-qtwebengine: does not build on arm64, macOS 12

[skip ci]

See: #62059
See: #63725

comment:13 Changed 3 years ago by chrstphrchvz (Christopher Chavez)

Resolution: fixed
Status: assignedclosed

In bd858ac96b4181de1d388f8e355b852577264dcd/macports-ports (master):

qt5-qtwebengine: update to 5.15.7 (https://github.com/macports/macports-ports/pull/12595)

[skip ci]

Newer QtWebEngine 5.15.x releases are tagged on git repository
Fetch archives from GitHub mirrors
Requires headers generated by syncqt.pl:
apply from patch to avoid build dependency on perl

Requires build dependency Node.js as of 5.15.3;
specify LTS version nodejs16 as fallback

Drop patch-qtwebengine_sdk.diff in favor of upstream approach

Rebase patch-qtwebengine_chromium_static_page_size.diff
(still needed for macOS 11 SDK even on x86_64)

macOS on ARM64 supported as of 5.15.3
Fixes: #62059

Workaround Undefined symbols error on macOS 12 Monterey
Fixes: #63725

Note: See TracTickets for help on using tickets.