help icon indicating copy to clipboard operation
help copied to clipboard

I observe a missing library file libatomic.so.1.

Open oase473 opened this issue 3 years ago • 6 comments

Details

Hello everyone, thanks for reading my help request.

Objective: I am a new programmer trying to install nodejs on my armv7l yocto linux single board computer.

Observation: I observe a missing library file libatomic.so.1.

Log: During my installation according to Installing node from binary archive for linux, I receive this message

node: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory

I have seen libatomic.so.1 issues on stackoverflow, but mostly related to other applications. If anyone can help out regarding this issue here, let me know.

Thanks!

Node.js version

node-v16.14.1-linux-armv7l

Example code

root@am437x-empro:/usr/local/lib/nodejs/node-v16.14.1-linux-armv7l/bin# uname -m
armv7l
root@am437x-empro:/usr/local/lib/nodejs/node-v16.14.1-linux-armv7l/bin# node -v
node: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory

Operating system

Yocto linux

Scope

Installation

Module and version

Not applicable.

oase473 avatar Mar 16 '22 09:03 oase473

most probably your linux distribution is missing libatomic library. can you perform: dnf install libatomic and retry?

gireeshpunathil avatar Mar 16 '22 12:03 gireeshpunathil

Thanks, I think since this is an embedded device, so the linux does not come with a package manager. The following result was given:

``root@am437x-empro:~# dnf install libatomic

-sh: dnf: command not found``

oase473 avatar Mar 16 '22 12:03 oase473

ok. what does ldd /usr/local/lib/nodejs/node-v16.14.1-linux-armv7l/bin/node show?

gireeshpunathil avatar Mar 16 '22 14:03 gireeshpunathil

root@am437x-empro:~# ldd /usr/local/lib/nodejs/node-v16.14.1-linux-armv7l/bin/node

-sh: ldd: command not found

oase473 avatar Mar 16 '22 17:03 oase473

ha. so basically the system has a missing package and it has no tooling to figure out who depends on that package.

looks like the vanilla yocto linux do not have necessary runtime lib to support node.

@nodejs/build - any guidance?

gireeshpunathil avatar Mar 17 '22 04:03 gireeshpunathil

@oase473 any solution? I'm stuck at the same point

tomerpetel avatar Aug 22 '22 12:08 tomerpetel

@oase473 - is this still an issue?

gireeshpunathil avatar Aug 02 '23 02:08 gireeshpunathil

It seems there has been no activity on this issue for a while, and it is being closed in 30 days. If you believe this issue should remain open, please leave a comment. If you need further assistance or have questions, you can also search for similar issues on Stack Overflow. Make sure to look at the README file for the most updated links.

github-actions[bot] avatar May 08 '24 01:05 github-actions[bot]

This feels like a case where you need to get libatomic from /somewhere/ for yocto, and if it doesn't provide you with one then you will need to build it yourself. It's not something that is built and bundled with the Node.js runtime.

sxa avatar May 08 '24 09:05 sxa

@sxa is correct, closing

avivkeller avatar May 08 '24 23:05 avivkeller