BBB GLIBC6 version issue

I hope someone out there can help.

I have a BBB just updated to the latest firmware. My version on the BBB of LIBC6 is v2.16. I am compiling a project in Eclipse which if I include the line

clkerr=clock_gettime(CLOCK_REALTIME,&UDPstartTime); //CLOCK_MONOTONIC CLOCK_REALTIM _POSIX_MONOTONIC_CLOCK

Builds successfully. When however I launch via the GDB debugger I get the error :

Remote debugging from host 192.168.1.8
/home/root/test/test: /lib/libc.so.6: version `GLIBC_2.17’ not found (required by /home/root/test/test)

Child exited with status 1
GDBserver exiting

If I comment out the clock_gettime function the program runs and I can debug.

I cannot find a later version of LIBC6 (2.17 or greater) for Angstrom distribution. Or is there another solution or am I barking up the wrong tree.

I am running Eclipse from a Windows 7 PC. The Cross compiler is gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_win32

I hope someone out there can help.

I have a BBB just updated to the latest firmware. My version on the BBB of LIBC6 is v2.16. I am compiling a project in Eclipse which if I include the line

clkerr=clock_gettime(CLOCK_REALTIME,&UDPstartTime); //CLOCK_MONOTONIC CLOCK_REALTIM _POSIX_MONOTONIC_CLOCK

Builds successfully. When however I launch via the GDB debugger I get the error :

Remote debugging from host 192.168.1.8
/home/root/test/test: /lib/libc.so.6: version `GLIBC_2.17’ not found (required by /home/root/test/test)

Child exited with status 1
GDBserver exiting

If I comment out the clock_gettime function the program runs and I can debug.

I cannot find a later version of LIBC6 (2.17 or greater) for Angstrom distribution. Or is there another solution or am I barking up the wrong tree.

I am running Eclipse from a Windows 7 PC. The Cross compiler is gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_win32

run ldd on your app to see the shared library dependency.

Regards,
John

Thanks for your quick response.

root@beaglebone:~/test# ldd test
./test: /lib/libc.so.6: version `GLIBC_2.17’ not found (required by ./test)
libpthread.so.0 => /lib/libpthread.so.0 (0xb6ed1000)
libc.so.6 => /lib/libc.so.6 (0xb6da0000)
/lib/ld-linux.so.3 (0xb6efc000)

As requested

It seems to be a glibc compile problem:
see:
http://stackoverflow.com/questions/19471683/lib-libc-so-6-version-glibc-2-17-not-found

re,
wh

i have seen this link (re-stackoverflow)

However I thought this solution (below) was for Ubuntu - I am using Angstrom. Sudo is not used. Fogive me if I am being a little naive here as I am new to using Linux.

Had face the same problem. Solved it by the following steps.

  1. Downloaded “libc6_2.17-0ubuntu5.1_i386.deb”
  2. sudo dpkg -i ipts libc6_2.17-0ubuntu5.1_i386.deb

sudo dpkg -i ipts libc6_2.17-0ubuntu5.1_i386.deb

If this indeed works how do I download it?

Just looked again at the Stack overflow solution and it seems to be downloading a i386 file. So I am guessing that this is for the PC with the cross compiler on it (and not the Beaglebone). My host PC is running Windows 7 not Linux.

Also my host PC has the 2.17 library it is the Angstrom library on the BBB that is at 2.16 and probably needs updating somehow.

Regards,

A P

Best option you have is finding the source and building the library directly on the BBB. Or perhaps checking to see if one of the other distro’s running on the BBB have it as a package already, then moving to it.

I am not sure why some of you are still sticking with Angstrom on the BBB, as it seems to be a serious hurdle to overcome in many ways.

OK still no progress with Angstrom, but I thought I would give the new Debian image for SD card a try. This is miles easier to use than the previous - USB works out of the box :slight_smile: . However the libc6 library was 2.13 after updating etc, however I stumbled across the following bash script

#!/bin/sh
echo "deb http://ftp.debian.org/debian sid main" >> /etc/apt/sources.list
apt-get update
apt-get -t sid install libc6 libc6-dev libc6-dbg
echo "Please remember to hash out sid main from your sources list. /etc/apt/sources.list"

Which installed a test version of 2.18

This worked fine. Now I just have to get the other bits I had working, working again on this image, oh and speed up the boot time significantly.

If you add the following to your /boot/uBoot/uEnv.txt, you will use systemd as the init process. This will speed up boot time significantly. #Optional arguments optargs=init=/bin/systemd

Thank you for the information David I will definitely give this a go.