diff mbox series

[meta-oe] nodejs: fix compile failed for 32 bit arm target

Message ID 20251028054756.2113752-1-hongxu.jia@windriver.com
State New
Headers show
Series [meta-oe] nodejs: fix compile failed for 32 bit arm target | expand

Commit Message

Hongxu Jia Oct. 28, 2025, 5:47 a.m. UTC
When debug build is enabled, build failed for 32 bit arm target

$ echo 'MACHINE = "qemuarm"' >> conf/local.conf
$ echo 'DEBUG_BUILD = "1"  >> conf/local.conf
$ bitbake nodejs
...
 2645 |         );
      |         ^
../deps/llhttp/src/llhttp.c:2643:11: error: incompatible type for argument 1 of 'vandq_u16'
 2643 |           vcgeq_u8(input, vdupq_n_u8(' ')),
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |           |
      |           uint8x16_t
...

Use '-flax-vector-conversions' to permit conversions between vectors
with differing element types or numbers of subparts

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 meta-oe/recipes-devtools/nodejs/nodejs_22.21.0.bb | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Khem Raj Oct. 28, 2025, 6:09 a.m. UTC | #1
On Mon, Oct 27, 2025 at 10:48 PM hongxu via lists.openembedded.org
<hongxu.jia=eng.windriver.com@lists.openembedded.org> wrote:
>
> When debug build is enabled, build failed for 32 bit arm target
>
> $ echo 'MACHINE = "qemuarm"' >> conf/local.conf
> $ echo 'DEBUG_BUILD = "1"  >> conf/local.conf
> $ bitbake nodejs
> ...
>  2645 |         );
>       |         ^
> ../deps/llhttp/src/llhttp.c:2643:11: error: incompatible type for argument 1 of 'vandq_u16'
>  2643 |           vcgeq_u8(input, vdupq_n_u8(' ')),
>       |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>       |           |
>       |           uint8x16_t
> ...
>
> Use '-flax-vector-conversions' to permit conversions between vectors
> with differing element types or numbers of subparts
>
> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> ---
>  meta-oe/recipes-devtools/nodejs/nodejs_22.21.0.bb | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_22.21.0.bb b/meta-oe/recipes-devtools/nodejs/nodejs_22.21.0.bb
> index 6d1a364be0..7a784bf7f2 100644
> --- a/meta-oe/recipes-devtools/nodejs/nodejs_22.21.0.bb
> +++ b/meta-oe/recipes-devtools/nodejs/nodejs_22.21.0.bb
> @@ -48,6 +48,10 @@ CVE_PRODUCT += "node.js"
>  # v8 errors out if you have set CCACHE
>  CCACHE = ""
>
> +# Use '-flax-vector-conversions' to permit conversions between vectors
> +# with differing element types or numbers of subparts
> +CFLAGS:append:arm = " -flax-vector-conversions"

I am not sure if this is the right thing to do in the general case.
Please keep it limited to debug builds.

> +
>  def map_nodejs_arch(a, d):
>      import re
>
> --
> 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#121063): https://lists.openembedded.org/g/openembedded-devel/message/121063
> Mute This Topic: https://lists.openembedded.org/mt/115989513/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
hongxu Oct. 28, 2025, 11:15 a.m. UTC | #2
On Mon, Oct 27, 2025 at 11:09 PM, Khem Raj wrote:

> 
> 
>> +# Use '-flax-vector-conversions' to permit conversions between vectors
>> +# with differing element types or numbers of subparts
>> +CFLAGS:append:arm = " -flax-vector-conversions"
> 
> I am not sure if this is the right thing to do in the general case.
> Please keep it limited to debug builds.

With further investigation, the failure remains when debug build is disabled,
sorry for mislead in the comments, I will update comments in v2

//Hongxu

> 
> 
>> +
>> def map_nodejs_arch(a, d):
>> import re
> 
>
diff mbox series

Patch

diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_22.21.0.bb b/meta-oe/recipes-devtools/nodejs/nodejs_22.21.0.bb
index 6d1a364be0..7a784bf7f2 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs_22.21.0.bb
+++ b/meta-oe/recipes-devtools/nodejs/nodejs_22.21.0.bb
@@ -48,6 +48,10 @@  CVE_PRODUCT += "node.js"
 # v8 errors out if you have set CCACHE
 CCACHE = ""
 
+# Use '-flax-vector-conversions' to permit conversions between vectors
+# with differing element types or numbers of subparts
+CFLAGS:append:arm = " -flax-vector-conversions"
+
 def map_nodejs_arch(a, d):
     import re