Bug 15625

Summary: nodejs build fails in installation phase when BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL is set
Product: buildroot Reporter: Felix Schmidt <fesc2000>
Component: OtherAssignee: unassigned
Status: RESOLVED MOVED    
Severity: normal CC: buildroot, yann.morin.1998
Priority: P5    
Version: 2023.02   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Host: Target:
Build:
Attachments: patch for check-bin-arch to ignore nodejs files

Description Felix Schmidt 2023-06-07 12:40:24 UTC
Created attachment 9607 [details]
patch for check-bin-arch to ignore nodejs files

My setup is buildroot2023.02, host OS is Ubuntu, target is linux i686 (32 bit).

I added some nodejs modules: 

BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL="zigbee2mqtt lirc2mqtt"

Now when nodejs is being built check-bin-arch complains:
~~~
(...)
ERROR: architecture for "/usr/lib/node_modules/zigbee2mqtt/node_modules/@serialport/bindings-cpp/prebuilds/linux-arm/node.napi.armv6.node" is "ARM", should be "Intel 80386"
ERROR: architecture for "/usr/lib/node_modules/zigbee2mqtt/node_modules/@serialport/bindings-cpp/prebuilds/android-arm/node.napi.armv7.node" is "ARM", should be "Intel 80386"
ERROR: architecture for "/usr/lib/node_modules/zigbee2mqtt/node_modules/@serialport/bindings-cpp/prebuilds/linux-arm/node.napi.armv7.node" is "ARM", should be "Intel 80386"
ERROR: architecture for "/usr/lib/node_modules/zigbee2mqtt/node_modules/@serialport/bindings-cpp/prebuilds/android-arm64/node.napi.armv8.node" is "AArch64", should be "Intel 80386"
ERROR: architecture for "/usr/lib/node_modules/zigbee2mqtt/node_modules/@serialport/bindings-cpp/prebuilds/linux-arm64/node.napi.armv8.node" is "AArch64", should be "Intel 80386"
ERROR: architecture for "/usr/lib/node_modules/zigbee2mqtt/node_modules/@serialport/bindings-cpp/prebuilds/linux-x64/node.napi.glibc.node" is "Advanced Micro Devices X86-64", should be "Intel 80386"
ERROR: architecture for "/usr/lib/node_modules/zigbee2mqtt/node_modules/@serialport/bindings-cpp/prebuilds/linux-x64/node.napi.musl.node" is "Advanced Micro Devices X86-64", should be "Intel 80386"
make[1]: *** [package/pkg-generic.mk:406: /home/felix/ffritz/packages/x86/buildroot-2023.02_glibc230/build/output/build/nodejs-16.18.1/.stamp_installed] Error 1
make: *** [Makefile:82: _all] Error 2
~~~

Just re-building works. My fix is to have check-bin-arch ignore these files, see patch. I'm not sure if this is the proper approach.
Comment 1 Yann E. MORIN 2024-06-15 15:10:43 UTC
Thank you for your report.

The issue tracker for the Buildroot project has been moved to
the Gitlab.com issue tracker:
    https://gitlab.com/buildroot.org/buildroot/-/issues

We are taking this opportunity to close old issues in this old
tracker. If you believe your issue is still relevant, please
open one in the new issue tracker.

Thank you!