User avatar
Danijel
Posts: 7
Joined: Thu Jul 23, 2020 5:54 am

How to build newer GLIBC from source? (undefined symbol: __nptl_set_robust_list_avail)

Mon May 23, 2022 11:22 am

On my RPi 3B+ (Linux raspberrypi 5.10.63 armv7l), I've built the GLIBC v2.34 from source (here are the steps: https://unix.stackexchange.com/a/299665/74153). Than I installed the GLIBC into `/opt/glibc-2.34/`.

I need to use this GLIBC when I link my app with TensorFlow shared library (`TensorFlow.so` was built using GLIBC 2.34, and my RaspberryPi Linux uses older: v2.31). I use Meson build system.

How would I temporarily switch to newer GLIBC?

I tried:

Code: Select all

export LD_LIBRARY_PATH="/opt/glibc-2.34/lib:$LD_LIBRARY_PATH"
export PATH="/opt/glibc-2.34/bin:$PATH"
but that gives:

Code: Select all

sed: symbol lookup error: /opt/glibc-2.34/lib/libc.so.6: undefined symbol: __nptl_set_robust_list_avail, version GLIBC_PRIVATE
The final try:
-

Code: Select all

meson compile
gives the same:

Code: Select all

/usr/bin/python3: symbol lookup error: /opt/glibc-2.34/lib/libc.so.6: undefined symbol: __nptl_set_robust_list_avail, version GLIBC_PRIVATE

Why doesn't the temporarily switch to newer GLIBC work? Are the instructions on how to build the GLIBC at https://unix.stackexchange.com/a/299665/74153 applicable to RPi?

What am I doing wrong?
Thanks,
Danijel

hortimech
Posts: 874
Joined: Wed Apr 08, 2015 5:52 pm

Re: How to build newer GLIBC from source? (undefined symbol: __nptl_set_robust_list_avail)

Mon May 23, 2022 12:12 pm

Danijel wrote:
Mon May 23, 2022 11:22 am
What am I doing wrong?
You are trying to replace a vital component of your OS with a much later one. This may or may not work and if it doesn't (which is likely), then just about everything else will stop working correctly.

Return to “General discussion”