But I still have build failures. (I have no problem building on x86_64 or i686.)
Error:
[2923/5622] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/__/__/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-37.cpp.o
FAILED: Source/WebCore/CMakeFiles/WebCore.dir/__/__/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-37.cpp.o
/usr/local/lib/ccache/bin/c++ -DBUILDING_GTK__=1 -DBUILDING_WEBKIT -DBUILDING_WITH_CMAKE=1 -DBUILDING_WebCore -DGETTEXT_PACKAGE=\"WebKit2GTK-4.0\" -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DPAS_BMALLOC=1 -DSTATICALLY_LINKED_WITH_PAL -DUSER_AGENT_BRANDING=\"Chromebrew\" -DWEBKITGTK_API_VERSION_STRING=\"4.0\" -<snip>
webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNeonApplier.cpp:200:18: warning: cast from ‘uint8_t*’ {aka ‘unsigned char*’} to ‘uint32_t*’ {aka ‘unsigned int*’} increases required alignment of target type [-Wcast-align]
200 | sourceA[0] = reinterpret_cast<uint32_t*>(sourcePixelArrayA->bytes())[0];
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNeonApplier.cpp:201:25: warning: cast from ‘uint8_t*’ {aka ‘unsigned char*’} to ‘uint32_t*’ {aka ‘unsigned int*’} increases required alignment of target type [-Wcast-align]
201 | sourceBAndDest[0] = reinterpret_cast<uint32_t*>(sourcePixelArrayB->bytes())[0];
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNeonApplier.cpp:203:5: warning: cast from ‘unsigned char*’ to ‘uint32_t*’ {aka ‘unsigned int*’} increases required alignment of target type [-Wcast-align]
203 | reinterpret_cast<uint32_t*>(destinationPixelArray)[0] = sourceBAndDest[0];
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp:28,
from /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/builddir4/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-37.cpp:4:
/usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h: In static member function ‘static void WebCore::FELightingSoftwareApplier::applyPlatformNeon(const LightingData&, const WebCore::LightSource::PaintingData&)’:
/usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h:99:46: warning: attribute ignored [-Wattributes]
99 | WebCore::FELightingFloatArgumentsForNeon alignas(16) floatArguments;
| ^~~~~~~
/usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h:99:46: note: an attribute that appertains to a type-specifier is ignored
/usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp: At global scope:
/usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp:38:8: error: standard attributes in middle of decl-specifiers
38 | static alignas(16) short s_FELightingConstantsForNeon[] = {
| ^~~~~~~
/usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp:38:8: note: standard attributes must precede the decl-specifiers to apply to the declaration, or follow them to apply to the type
/usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp:38:8: warning: attribute ignored [-Wattributes]
/usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp:38:8: note: an attribute that appertains to a type-specifier is ignored
In file included from /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/builddir4/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-37.cpp:7:
/usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp: In member function ‘void WebCore::DisplayList::ItemBuffer::append(const WebCore::DisplayList::DisplayListItem&)’:
/usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp:734:5: warning: cast from ‘uint8_t*’ {aka ‘unsigned char*’} to ‘uint64_t*’ {aka ‘long long unsigned int*’} increases required alignment of target type [-Wcast-align]
734 | reinterpret_cast<uint64_t*>(m_writableBuffer.data + m_writtenNumberOfBytes)[1] = dataLength;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/displaylists/DisplayList.h:29,
from /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/displaylists/DisplayList.cpp:27,
from /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/builddir4/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-37.cpp:5:
/usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.h: In instantiation of ‘T& WebCore::DisplayList::ItemHandle::get() const [with T = WebCore::DisplayList::SetState]’:
/usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/displaylists/DisplayList.cpp:88:55: required from here
/usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.h:79:17: warning: cast from ‘uint8_t*’ {aka ‘unsigned char*’} to ‘WebCore::DisplayList::SetState*’ increases required alignment of target type [-Wcast-align]
79 | return *reinterpret_cast<T*>(data + sizeof(uint64_t));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To Reproduce
Happy to provide docker container instructions to replicate our open build environment.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):
Describe the bug I'm having trouble building webkit2gtk 2.38.0 on linux/armv7l (This is a Chromebrew system in a docker build container.)
The matrix webkit channel suggested I use this patch: https://github.com/Igalia/meta-webkit/blob/main/recipes-browser/wpewebkit/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se.patch
But I still have build failures. (I have no problem building on x86_64 or i686.)
Error:
To Reproduce
Happy to provide docker container instructions to replicate our open build environment.
Screenshots If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):
Additional context full build log: webkit2gtk_4-2.38.0-armv7l.log