Node: process.config.variables.arm_version incorrect in armv7

Created on 4 Jan 2016  路  5Comments  路  Source: nodejs/node

Armv7 machine (Scaleway C1). I install node from node-v4.2.4-linux-armv7l.tar.gz. Run node -p process.config.variables.arm_version. It returns incorrect value 6. Expected correct value 7. When node 4.2.4 is compiled from source, it gives correct value 7.

Run readelf -A /usr/bin/node | grep CPU_arch:. Gives correct value "v7". So the binary is armv7 but process.config seems incorrect.

The gist https://gist.github.com/igorklopov/8edef2199419e3fb9c99 shows that it started in 4.1.0. Node 4.0.0 was not affected.

arm build confirmed-bug

Most helpful comment

I will try to take this issue and fix.

All 5 comments

Thanks for reporting this @igorklopov, I'm a little surprised this went unnoticed for so long. I can confirm your analysis and I've traced it to the fact that we're using Raspbian to get gcc 4.8 on the machine we're using to compile these binaries even though it's a vanilla Debian Wheezy armhf base, and of course Raspbian is armv6 so we get #define __ARM_ARCH 6 from the compiler...

Doh!

Which means we need to go back to finding a Wheezy armhf gcc 4.8(+) source or build one ourselves (which I think I did in the past but that's such a nightmare).

/cc @nodejs/build

I will try to take this issue and fix.

This really is a problem, as without any correct architecture information I can not load the correct prebuilt binaries.
Any suggestions for a workaround that does not involve bash scripting?

Any chance someone is in a position to move this forward? Or should we label this stalled and/or help wanted?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

yury-s picture yury-s  路  89Comments

speakeasypuncture picture speakeasypuncture  路  152Comments

ctavan picture ctavan  路  87Comments

thecodingdude picture thecodingdude  路  158Comments

aduh95 picture aduh95  路  104Comments