Opened 4 weeks ago

Last modified 10 days ago

#63877 assigned defect

qt5-qtwebkit fails to build with Xcode 13.1 Big Sur and Monterey 12.0.1

Reported by: 6aKa Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: Cc: jhoyt4
Port: qt5-qtwebkit

Description

Error: Failed to build qt5-qtwebkit: 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-qtwebkit/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port wkhtmltopdf failed

Attachments (1)

main.log (5.0 MB) - added by 6aKa 4 weeks ago.
main.log

Change History (12)

Changed 4 weeks ago by 6aKa

Attachment: main.log added

main.log

comment:1 Changed 4 weeks ago by jmroot (Joshua Root)

Owner: set to MarcusCalhoun-Lopez
Status: newassigned

comment:2 Changed 3 weeks ago by jhoyt4

I'm seeing the same problem. From looking into the compile error, it looks like qt5-qtwebkit needs to be build with a non-c++11 compiler.

Alternatively, someone could patch all of the virtual function casts adding in an explicit override.

Similar too: https://github.com/lxqt/qterminal/issues/564

Last edited 3 weeks ago by jhoyt4 (previous) (diff)

comment:3 Changed 3 weeks ago by jhoyt4

Cc: jhoyt4 added

comment:4 Changed 3 weeks ago by jhoyt4

those warning were just a red herring.

I see that webkit is now up to 5.212 - it may be worth updating the portfile to build the more recent version. I imagine getting that working may take some time.

[edit] - webkit 5.212 changed a ton of things and switch to cmake - I decided to get 5.9.2 working instead.

Last edited 2 weeks ago by jhoyt4 (previous) (diff)

comment:5 Changed 3 weeks ago by jhoyt4

I believe the real culprit for qtwebkit 5.9.2 is (at least when trying with macports-clang-11 and Monterey's default clang...):

In file included from ../WTF/wtf/HashFunctions.h:24:
../WTF/wtf/RefPtr.h:62:35: error: no matching function for call to 'derefIfNotNull'
        ALWAYS_INLINE ~RefPtr() { derefIfNotNull(m_ptr); }
                                  ^~~~~~~~~~~~~~

Last edited 3 weeks ago by jhoyt4 (previous) (diff)

comment:6 Changed 3 weeks ago by jhoyt4

or possibly this:

loader/FrameLoader.cpp:130:10: warning: non-portable path to file '"archive.h"'; specified path differs in case from file name on disk [-Wnonportable-include-path]
#include "Archive.h"
         ^~~~~~~~~~~
         "archive.h"

comment:7 Changed 3 weeks ago by jhoyt4

I got further by patching Archive.h to archive/Archive.h. Then I ran into this nasty bit:

/opt/local/bin/clang++-mp-11 -c -pipe -stdlib=libc++ -I/opt/local/include -Wno-inconsistent-missing-override -Wno-null-dereference -Wno-undefined-bool-conversion -Wno-implicit-int-float-conversion -Werror=nonportable-include-path -Werror=nonportable-system-include-path -iwithsysroot /usr/include/libxslt -iwithsysroot /usr/include/libxml2 -fno-strict-aliasing -Os -fPIC -std=gnu++11  -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=12.0 -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -MD -DQT_NO_LINKED_LIST -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0 -DBUILDING_QT__=1 -DNDEBUG -DENABLE_3D_RENDERING=1 -DENABLE_ACCELERATED_2D_CANVAS=1 -DENABLE_BLOB=1 -DENABLE_CANVAS_PATH=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_COMPOSITING=1 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_CSS_FILTERS=1 -DENABLE_CSS_IMAGE_SET=1 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_SHAPES=1 -DENABLE_CSS_STICKY_POSITION=1 -DENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED=1 -DENABLE_DATALIST_ELEMENT=1 -DENABLE_DETAILS_ELEMENT=1 -DENABLE_DEVICE_ORIENTATION=1 -DENABLE_DOWNLOAD_ATTRIBUTE=1 -DENABLE_FAST_MOBILE_SCROLLING=1 -DENABLE_FILTERS=1 -DENABLE_FTPDIR=1 -DENABLE_FULLSCREEN_API=1 -DENABLE_GEOLOCATION=1 -DENABLE_GESTURE_EVENTS=1 -DENABLE_ICONDATABASE=1 -DENABLE_IFRAME_SEAMLESS=1 -DENABLE_INDEXED_DATABASE=1 -DENABLE_INPUT_TYPE_COLOR=1 -DENABLE_INSPECTOR=1 -DENABLE_INSPECTOR_SERVER=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_LEGACY_VIEWPORT_ADAPTION=1 -DENABLE_LEGACY_VENDOR_PREFIXES=1 -DENABLE_LEGACY_WEB_AUDIO=1 -DENABLE_LINK_PREFETCH=1 -DENABLE_METER_ELEMENT=1 -DENABLE_MHTML=1 -DENABLE_NOTIFICATIONS=1 -DENABLE_ORIENTATION_EVENTS=1 -DENABLE_PAGE_VISIBILITY_API=1 -DENABLE_PROGRESS_ELEMENT=1 -DENABLE_RESOLUTION_MEDIA_QUERY=1 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_SHARED_WORKERS=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_SQL_DATABASE=1 -DENABLE_SUBPIXEL_LAYOUT=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_TOUCH_ADJUSTMENT=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_TOUCH_SLIDER=1 -DENABLE_VIDEO_TRACK=1 -DENABLE_VIEW_MODE_CSS_MEDIA=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_WORKERS=1 -DENABLE_XHR_TIMEOUT=1 -DWTF_USE_TILED_BACKING_STORE=1 -DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1 -DHAVE_QTQUICK=1 -DHAVE_QTPRINTSUPPORT=1 -DHAVE_QSTYLE=1 -DHAVE_QTTESTLIB=1 -DHAVE_QTPOSITIONING=1 -DHAVE_QTSENSORS=1 -DWTF_USE_LIBXML2=1 -DENABLE_XSLT=1 -DWTF_USE_ZLIB=1 -DWTF_USE_WEBP=1 -DWTF_USE_SYSTEM_LEVELDB=1 -DWTF_USE_LIBJPEG=1 -DWTF_USE_LIBPNG=1 -DENABLE_NETSCAPE_PLUGIN_API=1 -DPLUGIN_ARCHITECTURE_UNSUPPORTED=1 -DWTF_USE_3D_GRAPHICS=1 -DENABLE_WEBGL=1 -DENABLE_VIDEO=1 -DWTF_USE_QT_MULTIMEDIA=1 -DHAVE_SQLITE3=1 -DWTF_USE_GRAPHICS_SURFACE=1 -DWTF_USE_LEVELDB=1 -DENABLE_BATTERY_STATUS=0 -DENABLE_CANVAS_PROXY=0 -DENABLE_CSP_NEXT=0 -DENABLE_CSS_GRID_LAYOUT=0 -DENABLE_CSS_HIERARCHIES=0 -DENABLE_CSS_IMAGE_ORIENTATION=0 -DENABLE_CSS_IMAGE_RESOLUTION=0 -DENABLE_CSS_SHADERS=0 -DENABLE_CSS_VARIABLES=0 -DENABLE_CSS3_CONDITIONAL_RULES=0 -DENABLE_CSS3_TEXT=0 -DENABLE_CSS3_TEXT_LINE_BREAK=0 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_DATAGRID=0 -DENABLE_DATA_TRANSFER_ITEMS=0 -DENABLE_DIRECTORY_UPLOAD=0 -DENABLE_FILE_SYSTEM=0 -DENABLE_FONT_LOAD_EVENTS=0 -DENABLE_GAMEPAD=0 -DENABLE_HIGH_DPI_CANVAS=0 -DENABLE_INPUT_SPEECH=0 -DENABLE_INPUT_TYPE_DATE=0 -DENABLE_INPUT_TYPE_DATETIME_INCOMPLETE=0 -DENABLE_INPUT_TYPE_DATETIMELOCAL=0 -DENABLE_INPUT_TYPE_MONTH=0 -DENABLE_INPUT_TYPE_TIME=0 -DENABLE_INPUT_TYPE_WEEK=0 -DENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 -DENABLE_MATHML=0 -DENABLE_MEDIA_SOURCE=0 -DENABLE_MEDIA_STATISTICS=0 -DENABLE_MEDIA_STREAM=0 -DENABLE_MICRODATA=0 -DENABLE_MOUSE_CURSOR_SCALE=0 -DENABLE_NAVIGATOR_CONTENT_UTILS=0 -DENABLE_NETWORK_INFO=0 -DENABLE_NOSNIFF=0 -DENABLE_PROXIMITY_EVENTS=0 -DENABLE_QUOTA=0 -DENABLE_RESOURCE_TIMING=0 -DENABLE_SCRIPTED_SPEECH=0 -DENABLE_SECCOMP_FILTERS=0 -DENABLE_SHADOW_DOM=0 -DENABLE_STYLE_SCOPED=0 -DENABLE_TEMPLATE_ELEMENT=0 -DENABLE_TEXT_AUTOSIZING=0 -DENABLE_THREADED_HTML_PARSER=0 -DENABLE_TOUCH_ICON_LOADING=0 -DENABLE_USER_TIMING=0 -DENABLE_VIBRATION=0 -DENABLE_WEB_AUDIO=0 -DSTATICALLY_LINKED_WITH_ANGLE -DSTATICALLY_LINKED_WITH_JavaScriptCore -DSTATICALLY_LINKED_WITH_WTF -DBUILDING_WebCore -DBUILDING_WEBKIT -DQT_ASCII_CAST_WARNINGS -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_SENSORS_LIB -DQT_CORE_LIB -I. -I. -IModules/filesystem -IModules/geolocation -IModules/indexeddb -IModules/mediasource -IModules/navigatorcontentutils -IModules/notifications -IModules/proximity -IModules/quota -IModules/webaudio -IModules/webdatabase -IModules/websockets -Iaccessibility -Ibindings -Ibindings/generic -Ibridge -Ibridge/qt -Icss -Idom -Idom/default -Iediting -Ifileapi -Ihistory -Ihtml -Ihtml/canvas -Ihtml/forms -Ihtml/parser -Ihtml/shadow -Ihtml/track -Iinspector -Iloader -Iloader/appcache -Iloader/archive -Iloader/cache -Iloader/icon -Imathml -Ipage -Ipage/animation -Ipage/qt -Ipage/scrolling -Ipage/scrolling/coordinatedgraphics -Iplatform -Iplatform/animation -Iplatform/audio -Iplatform/graphics -Iplatform/graphics/cpu/arm -Iplatform/graphics/cpu/arm/filters -Iplatform/graphics/filters -Iplatform/graphics/filters/texmap -Iplatform/graphics/opengl -Iplatform/graphics/opentype -Iplatform/graphics/qt -Iplatform/graphics/surfaces -Iplatform/graphics/texmap -Iplatform/graphics/texmap/coordinated -Iplatform/graphics/transforms -Iplatform/image-decoders -Iplatform/image-decoders/bmp -Iplatform/image-decoders/ico -Iplatform/image-decoders/gif -Iplatform/image-decoders/jpeg -Iplatform/image-decoders/png -Iplatform/image-decoders/webp -Iplatform/leveldb -Iplatform/mock -Iplatform/network -Iplatform/network/qt -Iplatform/qt -Iplatform/sql -Iplatform/text -Iplatform/text/transcoder -Iplugins -Irendering -Irendering/mathml -Irendering/shapes -Irendering/style -Irendering/svg -Istorage -Isvg -Isvg/animation -Isvg/graphics -Isvg/graphics/filters -Isvg/properties -Itesting -I/opt/local/var/macports/build/_Users_jhoyt_macports_ports_aqua_qt5/qt5-qtwebkit/work/qtwebkit-opensource-src-5.9.2/Source/WebCore/websockets -Iworkers -Ixml -Ixml/parser -I../ThirdParty -Ibridge/jsc -Ibindings/js -Ibridge/c -Itesting/js -Igenerated -Iplatform/mac -Iplatform/graphics/gpu -Iplatform/graphics/gpu -Iloader/archive/mhtml -I../../Source -I../include -I../ThirdParty/ANGLE/include/GLSLANG -I../ThirdParty/ANGLE/include/KHR -I../JavaScriptCore -I../../Source -I../WTF -I../JavaScriptCore/assembler -I../JavaScriptCore/bytecode -I../JavaScriptCore/bytecompiler -I../JavaScriptCore/heap -I../JavaScriptCore/dfg -I../JavaScriptCore/debugger -I../JavaScriptCore/disassembler -I../JavaScriptCore/interpreter -I../JavaScriptCore/jit -I../JavaScriptCore/llint -I../JavaScriptCore/parser -I../JavaScriptCore/profiler -I../JavaScriptCore/runtime -I../JavaScriptCore/tools -I../JavaScriptCore/yarr -I../JavaScriptCore/API -I../JavaScriptCore/ForwardingHeaders -I../JavaScriptCore/generated -I/opt/local/var/macports/build/_Users_jhoyt_macports_ports_aqua_qt5/qt5-qtwebkit/work/qtwebkit-opensource-src-5.9.2/Source/JavaScriptCore/generated/LLIntOffsetsExtractor -I../JavaScriptCore/generated/release -I../WTF -I/opt/local/include -I/opt/local/libexec/qt5/lib/QtGui.framework/Headers/5.15.2 -I/opt/local/libexec/qt5/lib/QtGui.framework/Headers/5.15.2/QtGui -I/opt/local/libexec/qt5/lib/QtMultimedia.framework/Headers -I/opt/local/libexec/qt5/lib/QtGui.framework/Headers -I/opt/local/libexec/qt5/lib/QtNetwork.framework/Headers -I/opt/local/libexec/qt5/lib/QtSql.framework/Headers -I/opt/local/libexec/qt5/lib/QtCore.framework/Headers/5.15.2 -I/opt/local/libexec/qt5/lib/QtCore.framework/Headers/5.15.2/QtCore -I/opt/local/libexec/qt5/lib/QtSensors.framework/Headers -I/opt/local/libexec/qt5/lib/QtCore.framework/Headers -I.moc -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AGL.framework/Headers -I/opt/local/libexec/qt5/mkspecs/macx-clang -F/opt/local/libexec/qt5/lib -o .obj/rendering/svg/RenderSVGAllInOne.o rendering/svg/RenderSVGAllInOne.cpp
In file included from platform/text/mac/StringImplMac.mm:25:
In file included from ../WTF/wtf/RetainPtr.h:34:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSBundle.h:91:143: error: function does not return NSString
- (NSAttributedString *)localizedAttributedStringForKey:(NSString *)key value:(nullable NSString *)value table:(nullable NSString *)tableName NS_FORMAT_ARGUMENT(1) NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0));
                                                         ~~~~~~~~~~~~~~                                                                       ^                  ~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:103:48: note: expanded from macro 'NS_FORMAT_ARGUMENT'
        #define NS_FORMAT_ARGUMENT(A) __attribute__ ((format_arg(A)))
                                                      ^          ~

Other sites suggest adding "-DNS_FORMAT_ARGUMENT(A)" to the build, but I haven't figure out how to do that as yes (happy to get a pointer to the solution :) )

Example 1: https://youtrack.jetbrains.com/issue/KT-48807
Example 2: https://community.sonarsource.com/t/sonar-failing-with-xcode-13/50819
Example 3: https://discuss.kotlinlang.org/t/library-from-swift-cinterop-doesnt-compile-with-xcode-13/23021/3

Last edited 3 weeks ago by jhoyt4 (previous) (diff)

comment:8 Changed 3 weeks ago by jhoyt4

This seems to have gotten me past the NSString issue

configure.cppflags-append \
                    '-DNS_FORMAT_ARGUMENT\(A\)=' \
                    -D_Nullable_result=_Nullable

I'll be cleaning up my work and issuing a Pull Request shortly.

comment:10 Changed 10 days ago by jhoyt4

@6aKa - its been noted on my pull request that this bug is also resident on Big Sur when running Xcode 13.1. Can you modify the summary line (I don't have the right permissions) to "qt5-qtwebkit fails to build with Xcode 13.1 Big Sur and Monterey 12.0.1"

comment:11 Changed 10 days ago by 6aKa

Summary: qt5-qtwebkit fails to build on Monterey 12.0.1qt5-qtwebkit fails to build with Xcode 13.1 Big Sur and Monterey 12.0.1
Note: See TracTickets for help on using tickets.