Bug 14921 - wpewebkit build fails because of internal build order
Summary: wpewebkit build fails because of internal build order
Status: RESOLVED FIXED
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: 2022.02.3
Hardware: All Linux
: P5 normal
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-07-22 10:24 UTC by Michael Nosthoff
Modified: 2022-09-27 06:58 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Nosthoff 2022-07-22 10:24:17 UTC
Hi,

since wpewebkit was bumped to 2.36.x (which is the case for 2022.05 as well as 2022.02.3) the build fails with my config. This bug was already briefly mentioned on the ML but I file it here for visibility.

This bug happens depending on the defconfig and the configuration of the buildsystem (I'm building on a 24-core machine). When I restart the build it succeeds because the missing dependency was then already build.

Two traces I recorded:

Scanning dependencies of target jsc
[ 39%] Building CXX object Source/JavaScriptCore/shell/CMakeFiles/jsc.dir/__/jsc.cpp.o
[ 39%] Linking CXX executable ../../../bin/jsc
/builds/chp/bsp/buildroot/build/per-package/wpewebkit/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabihf/10.3.1/../../../../arm-none-linux-gnueabihf/bin/ld: ../CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-6e4525b9-1.cpp.o: in function `JSC::LLInt::CLoop::initialize()':
UnifiedSource-6e4525b9-1.cpp:(.text+0x2f4): undefined reference to `JSC::LLInt::CLoop::execute(JSC::OpcodeID, void*, JSC::VM*, JSC::ProtoCallFrame*, bool)'
/builds/chp/bsp/buildroot/build/per-package/wpewebkit/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabihf/10.3.1/../../../../arm-none-linux-gnueabihf/bin/ld: ../CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-6e4525b9-1.cpp.o: in function `vmEntryToJavaScript':
UnifiedSource-6e4525b9-1.cpp:(.text+0xb40): undefined reference to `JSC::LLInt::CLoop::execute(JSC::OpcodeID, void*, JSC::VM*, JSC::ProtoCallFrame*, bool)'
/builds/chp/bsp/buildroot/build/per-package/wpewebkit/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabihf/10.3.1/../../../../arm-none-linux-gnueabihf/bin/ld: ../CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-6e4525b9-1.cpp.o: in function `vmEntryToNative':
UnifiedSource-6e4525b9-1.cpp:(.text+0xbc0): undefined reference to `JSC::LLInt::CLoop::execute(JSC::OpcodeID, void*, JSC::VM*, JSC::ProtoCallFrame*, bool)'
collect2: error: ld returned 1 exit status


[ 39%] Built target JavaScriptCore_CopyPrivateHeaders
Scanning dependencies of target jsc
make[4]: *** No rule to make target 'Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/llint/LowLevelInterpreter.cpp.o', needed by 'bin/jsc'.  Stop.
make[4]: *** Waiting for unfinished jobs....
[ 39%] Building CXX object Source/JavaScriptCore/shell/CMakeFiles/jsc.dir/__/jsc.cpp.o
make[3]: *** [CMakeFiles/Makefile2:775: Source/JavaScriptCore/shell/CMakeFiles/jsc.dir/all] Error 2
make[3]: *** Waiting for unfinished jobs....
Scanning dependencies of target LowLevelInterpreterLib
[ 39%] Building CXX object Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/llint/LowLevelInterpreter.cpp.o
[ 39%] Built target LowLevelInterpreterLib
[ 39%] Built target WebInspectorUI
make[2]: *** [Makefile:152: all] Error 2
make[1]: *** [package/pkg-generic.mk:293: /home/mheinemann/buildroot/build/build/wpewebkit-2.36.3/.stamp_built] Error 2
make: *** [Makefile:23: _all] Error 2


So it seems JSC is depending on LowLevelInterpreterLib which is built in parallel and thus not (always) finished in time.

Defconfig with which I can reproduce this but it might depend on the system you are building on:

BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2711-rpi-4-b"
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_PACKAGE_COG=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_RPI_FIRMWARE=y
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi4/config_4.txt"
BR2_PACKAGE_WPEWEBKIT=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
# BR2_TARGET_ROOTFS_TAR is not set
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
Comment 1 Michael Nosthoff 2022-09-27 06:58:39 UTC
fixed in 2022.08