#73026 closed defect (fixed)
qt5-qtwebkit @5.9.2_9 fails to build on macOS 26/arm64
| Reported by: | jaredwsmith (Jared Smith) | Owned by: | reneeotten (Renee Otten) |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.11.5 |
| Keywords: | arm64 | Cc: | Dave-Allured (Dave Allured), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
| Port: | qt5-qtwebkit |
Description
On macOS 26.0 on Apple Silicon, qt5-qtwebkit fails to build. All ports up to date and cleaned.
Here's the relevant portion of the build log that seems to point to the trouble:
:info:build Undefined symbols for architecture arm64: :info:build "_xmlByteConsumed", referenced from: :info:build WebCore::XMLDocumentParser::appendFragmentSource(WTF::String const&) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlCreateMemoryParserCtxt", referenced from: :info:build WebCore::XMLParserContext::createMemoryParser(_xmlSAXHandler*, void*, WTF::CString const&) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlCreatePushParserCtxt", referenced from: :info:build WebCore::XMLParserContext::createStringParser(_xmlSAXHandler*, void*) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlCtxtGetLastError", referenced from: :info:build WebCore::XMLDocumentParser::appendFragmentSource(WTF::String const&) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlCtxtUseOptions", referenced from: :info:build WebCore::XMLParserContext::createStringParser(_xmlSAXHandler*, void*) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::XMLParserContext::createMemoryParser(_xmlSAXHandler*, void*, WTF::CString const&) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlDictLookup", referenced from: :info:build WebCore::XMLParserContext::createMemoryParser(_xmlSAXHandler*, void*, WTF::CString const&) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::XMLParserContext::createMemoryParser(_xmlSAXHandler*, void*, WTF::CString const&) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::XMLParserContext::createMemoryParser(_xmlSAXHandler*, void*, WTF::CString const&) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlFreeDoc", referenced from: :info:build WebCore::XMLParserContext::~XMLParserContext() in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlFreeParserCtxt", referenced from: :info:build WebCore::XMLParserContext::~XMLParserContext() in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlGetDocEntity", referenced from: :info:build WebCore::getEntityHandler(void*, unsigned char const*) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlGetPredefinedEntity", referenced from: :info:build WebCore::getEntityHandler(void*, unsigned char const*) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlInitParser", referenced from: :info:build WebCore::XMLParserContext::createStringParser(_xmlSAXHandler*, void*) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::XMLParserContext::createMemoryParser(_xmlSAXHandler*, void*, WTF::CString const&) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlParseChunk", referenced from: :info:build WebCore::XMLDocumentParser::doWrite(WTF::String const&) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::XMLDocumentParser::doEnd() in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::parseAttributes(WTF::String const&, bool&) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlParseContent", referenced from: :info:build WebCore::XMLDocumentParser::appendFragmentSource(WTF::String const&) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlRegisterInputCallbacks", referenced from: :info:build WebCore::XMLParserContext::createStringParser(_xmlSAXHandler*, void*) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::XMLParserContext::createMemoryParser(_xmlSAXHandler*, void*, WTF::CString const&) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlRegisterOutputCallbacks", referenced from: :info:build WebCore::XMLParserContext::createStringParser(_xmlSAXHandler*, void*) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::XMLParserContext::createMemoryParser(_xmlSAXHandler*, void*, WTF::CString const&) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlSAX2EndDocument", referenced from: :info:build WebCore::endDocumentHandler(void*) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlSAX2EntityDecl", referenced from: :info:build WebCore::entityDeclarationHandler(void*, unsigned char const*, int, unsigned char const*, unsigned char const*, unsigned char*) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlSAX2InternalSubset", referenced from: :info:build WebCore::internalSubsetHandler(void*, unsigned char const*, unsigned char const*, unsigned char const*) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlSAX2StartDocument", referenced from: :info:build WebCore::startDocumentHandler(void*) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlStopParser", referenced from: :info:build WebCore::XMLDocumentParser::stopParsing() in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlStrdup", referenced from: :info:build WebCore::PendingCallbacks::appendStartElementNSCallback(unsigned char const*, unsigned char const*, unsigned char const*, int, unsigned char const**, int, int, unsigned char const**) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::PendingCallbacks::appendStartElementNSCallback(unsigned char const*, unsigned char const*, unsigned char const*, int, unsigned char const**, int, int, unsigned char const**) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::PendingCallbacks::appendStartElementNSCallback(unsigned char const*, unsigned char const*, unsigned char const*, int, unsigned char const**, int, int, unsigned char const**) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::PendingCallbacks::appendStartElementNSCallback(unsigned char const*, unsigned char const*, unsigned char const*, int, unsigned char const**, int, int, unsigned char const**) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::PendingCallbacks::appendStartElementNSCallback(unsigned char const*, unsigned char const*, unsigned char const*, int, unsigned char const**, int, int, unsigned char const**) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::PendingCallbacks::appendErrorCallback(WebCore::XMLErrors::ErrorType, unsigned char const*, WTF::OrdinalNumber, WTF::OrdinalNumber) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::PendingCallbacks::appendProcessingInstructionCallback(unsigned char const*, unsigned char const*) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::PendingCallbacks::appendProcessingInstructionCallback(unsigned char const*, unsigned char const*) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build ... :info:build "_xmlStrndup", referenced from: :info:build WebCore::PendingCallbacks::appendStartElementNSCallback(unsigned char const*, unsigned char const*, unsigned char const*, int, unsigned char const**, int, int, unsigned char const**) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::PendingCallbacks::appendCharactersCallback(unsigned char const*, int) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::PendingCallbacks::appendCDATABlockCallback(unsigned char const*, int) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build "_xmlSwitchEncoding", referenced from: :info:build WebCore::XMLParserContext::createStringParser(_xmlSAXHandler*, void*) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::XMLDocumentParser::doWrite(WTF::String const&) in libWebCore.a[706](XMLDocumentParserLibxml2.o) :info:build WebCore::startDocumentHandler(void*) in libWebCore.a[706](XMLDocumentParserLibxml2.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)
Full build log attached.
Attachments (1)
Change History (12)
Changed 4 months ago by jaredwsmith (Jared Smith)
| Attachment: | main.log.zip added |
|---|
comment:1 Changed 4 months ago by Dave-Allured (Dave Allured)
| Cc: | Dave-Allured added |
|---|
comment:2 follow-up: 4 Changed 4 months ago by Dave-Allured (Dave Allured)
Please see #73008 for workaround.
Also: wiki:TahoeProblems#MetaltoolchainisnolongerbundledinXcode
comment:3 Changed 4 months ago by jmroot (Joshua Root)
| Cc: | MarcusCalhoun-Lopez added |
|---|---|
| Owner: | set to reneeotten |
| Status: | new → assigned |
comment:4 follow-up: 5 Changed 4 months ago by reneeotten (Renee Otten)
Replying to Dave-Allured:
Please see #73008 for workaround.
Also: wiki:TahoeProblems#MetaltoolchainisnolongerbundledinXcode
Dave-Allured: why do you think this is related to the Metal toolchain? I have looked briefly at the errors yesterday but couldn't figure out where they originate from. Also, I -of course- did install the Metal toolchain locally but that didn't make any difference...
jaredwsmith: sorry for the trouble, but webkit has been deprecated for quite some time now and nothing has changed to this subport for the last 8 years. So if it fails now (it does on Intel as well) then it's likely due to some dependencies and/or changes in the compiler toolchain on Tahoe. I haven't been able to figure out the cause and/or solution.
comment:5 Changed 4 months ago by Dave-Allured (Dave Allured)
Replying to reneeotten:
Dave-Allured: why do you think this is related to the Metal toolchain? I have looked briefly at the errors yesterday but couldn't figure out where they originate from. Also, I -of course- did install the Metal toolchain locally but that didn't make any difference...
reneeotten: I was mistaken, sorry. I made a hasty call based on the Tahoe problem list and similarity between port names qt5-qtwebkit and qt6-qtwebengine. I did not carefully compare the symptoms. Sorry for the noise.
I will take a closer look at the error messages on this ticket, and see if I can come up with something helpful.
comment:6 Changed 4 months ago by reneeotten (Renee Otten)
To be honest I'd consider dropping the qt5-qtwebkit subport completely. The code is so old and no longer supported; every actively developed software package should have moved away from using it by now in favor of qt5-qtwebengine.
I know there are some dependents still in MacPorts
fontmatrix goldendict kchmviewer libopenshot metview mythtv-core.28 owncloud-client qgis3 qgis3-ltr recoll smtube trojita wkhtmltopdf
, but the number is very limited so it might be worthwile to see if we can get rid of it.
What is your specific use-case?
comment:7 follow-up: 8 Changed 4 months ago by Dave-Allured (Dave Allured)
The undefined symbols above are from libxml2. So this looks like failure to correctly link with libxml2. That is all I have so far.
comment:8 Changed 4 months ago by reneeotten (Renee Otten)
Replying to Dave-Allured:
The undefined symbols above are from libxml2. So this looks like failure to correctly link with libxml2. That is all I have so far.
Yeah, that's the obvious part from a quick Google. I'm trying to resolve that, but building takes a while so it's not very fast ;) It seems that the build isn't adding -lxml2 so that's what I am doing now. However, none of this can be (easily) explained as it all worked on earlier OS versions. We'll have to wait and see...
comment:9 Changed 4 months ago by reneeotten (Renee Otten)
Hah... that actually worked ;) I'll push the change shortly!
comment:10 Changed 4 months ago by reneeotten (Renee Otten)
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
comment:11 Changed 4 months ago by Dave-Allured (Dave Allured)
Yes I had independently just found the missing -lxml2. Thanks for the quick fix! I am still wondering why Tahoe OS would cause that library to be dropped from a link command that works fine for several other OS versions.

Zipped main.log