-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
12.13.0 build from scratch fails on RPi3 Raspian #30174
Comments
I too was getting 'atomic' errors in building 12.13.0 on my new RPi4. I can see the libatomic runtime is installed on the system (buster), so apparently RASPIAN does use it. But I had to do a "sudo apt install libatomic-ops-dev" to get it to link, after adding -latomic to the link settings in v8.gyp |
just a note: |
i got a shiny rpi4 for xmas which is still in the box; will see if I can get time this week to put a fresh OS on it and try a build. At least the build time should be about a 1/4 of the time compared to my RPi3... |
Seems like a silly observation; I have a hacked version of node.gyp which caused libatomic to be needed for amazon linux 2 (I copied my rpi config) - I corrected this and got a viable executable (I did not notice at first, because the build process itself installs libatomic, so testing on the platform you build on is invalid). (12.13.0) I just tested changing and the exe no longer needs libatomic according to ldd Am I barking up the wrong tree? Does libatomic, when compiled on a system which has the required features, just become an empty library? |
With v12.x out of support and this issue not having seen activity in 2.5 years, I'll go ahead and close it out. |
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.19.75-v7+ Unable to decrypt aes-256-cbc created by PHP #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l GNU/Linux
In order to build NodeJS from scratch on raspbian, libatomic is needed in v8.gyp so that makesnapshot links.
I believe Raspian has an arm6l kernel, even thought the CPU reports as arm7l.
I also understand that arm6l is no longer built as an official binary, and that I should not expect to build without some pain :).
I am testing a change in v8.gyp:
line 796:
to
I am no expert on this, so I'm not sure that including "arm" covers too many platforms....
Compilation now continues - I will report final results in some hours (build is slow on RPi...).
Failure was when linking v8's mksnapshot.
I also note that the NodeJS makefiles also lack -latomic, and so have temporarily modified node.gyp to enable it:
line 295:
to
I know this is an unsuitable mod - Advice on a better cross platform mod appreciated.
p.s. the armv7 binary runs happily on Raspbian on RPi3 - but is unlikely to work on RPiZero or Rpi1 (please correct me if I am wrong...)? There are millions of these devices out in the wild, and continued NodeJS support for them would be nice - e.g. for Node-Red use.
The text was updated successfully, but these errors were encountered: