I’m building a root filesystem using buildroot (running on Ubuntu 22.04.4 LTS) for an ARM Cortex-A7 target. I’m including Node.js by selecting "[*] nodejs" in Target packages —> Interpreter languages and scripting —>.
After successfully flashing and booting the target, I run node
in /usr/bin/
and get:
/usr/bin # ./node
./node: /lib/libm.so.6: version `GLIBC_2.38' not found (required by ./node)
./node: /lib/libm.so.6: version `GLIBC_2.29' not found (required by ./node)
./node: /lib/libstdc++.so.6: no version information available (required by ./node)
./node: /lib/libstdc++.so.6: no version information available (required by ./node)
./node: /lib/libstdc++.so.6: no version information available (required by ./node)
./node: /lib/libstdc++.so.6: no version information available (required by ./node)
./node: /lib/libstdc++.so.6: no version information available (required by ./node)
./node: /lib/libstdc++.so.6: no version information available (required by ./node)
./node: /lib/libstdc++.so.6: no version information available (required by ./node)
./node: /lib/libstdc++.so.6: no version information available (required by ./node)
./node: /lib/libstdc++.so.6: no version information available (required by ./node)
./node: /lib/libstdc++.so.6: no version information available (required by ./node)
./node: /lib/libstdc++.so.6: no version information available (required by ./node)
./node: /lib/libstdc++.so.6: no version information available (required by ./node)
./node: /lib/libstdc++.so.6: no version information available (required by ./node)
./node: /lib/libstdc++.so.6: no version information available (required by ./node)
./node: /lib/libstdc++.so.6: no version information available (required by ./node)
./node: /lib/libc.so.6: version `GLIBC_2.33' not found (required by ./node)
./node: /lib/libc.so.6: version `GLIBC_2.34' not found (required by ./node)
./node: /lib/libc.so.6: version `GLIBC_2.32' not found (required by ./node)
./node: /lib/libc.so.6: version `GLIBC_2.38' not found (required by ./node)
./node: /lib/libc.so.6: version `GLIBC_2.32' not found (required by /usr/lib/libuv.so.1)
./node: /lib/libc.so.6: version `GLIBC_2.38' not found (required by /usr/lib/libuv.so.1)
./node: /lib/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/libuv.so.1)
./node: /lib/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/libuv.so.1)
./node: /lib/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/libcares.so.2)
./node: /lib/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/libcares.so.2)
./node: /lib/libc.so.6: version `GLIBC_2.36' not found (required by /usr/lib/libcares.so.2)
./node: /lib/libc.so.6: version `GLIBC_2.38' not found (required by /usr/lib/libcares.so.2)
./node: /lib/libc.so.6: version `GLIBC_2.38' not found (required by /usr/lib/libcrypto.so.3)
./node: /lib/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/libcrypto.so.3)
./node: /lib/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/libcrypto.so.3)
./node: /lib/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/libssl.so.3)
./node: /lib/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/libssl.so.3)
I don’t see how to change the buildroot config to include the required versions of GLIBC.
The only glibc-related config options I see (in make nconfig
) is "Enable compatibility shims to run on older kernels" in Toolchain —>, which I checked.
2
Answers
Which Buildroot version are you using? Could you provide your Buildroot .config?
I believe you’re using the pre-compiled NodeJS (nodejs-bin), and it might be that it is pre-compiled for a too recent version of glibc. But that’s only an hypothesis, we need more details about your setup.
You started the build of some configuration, then changed the toolchain settings, and then built again with the new settings without running
make clean
. You need an explicitmake clean
when toolchain settings are changed.