version `GLIBC_2.14' not found

All questions about how to use KryoFlux go here.
torsionbar
Posts: 4
Joined: Fri Feb 03, 2012 11:04 pm

version `GLIBC_2.14' not found

Post by torsionbar » Sat Feb 04, 2012 8:00 pm

Hello everyone, I have a newly purchased kryoflux. I am getting an error when I run the dtc program. My computer is Ubuntu 11.04 AMD64.

Code: Select all

dtc: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by dtc)
Ubuntu 11.04 uses glibc 2.13, but it seems dtc is requiring 2.14 instead. Is there some source code I can build a new dtc binary for my computer? Or a static-linked one is available? Or an older version that was compile on 2.13?

Probably the newer Ubuntu 11.10 has glibc 2.14, but Ubuntu 11.10 has some known issues and I don't want to upgrade to it yet.

It's funny... I want to recover data from very old floppy disks, but my OS is not new enough to do it!
Last edited by torsionbar on Sat Feb 04, 2012 8:06 pm, edited 1 time in total.

User avatar
mr.vince
Posts: 2120
Joined: Tue Oct 05, 2010 5:48 pm

version `GLIBC_2.14' not found

Post by mr.vince » Sat Feb 04, 2012 8:05 pm

Easy. Use 32bit version... Hopefully Ubuntu will soon update.

torsionbar
Posts: 4
Joined: Fri Feb 03, 2012 11:04 pm

Re: version `GLIBC_2.14' not found

Post by torsionbar » Sat Feb 04, 2012 8:14 pm

mr.vince wrote:Easy. Use 32bit version... Hopefully Ubuntu will soon update.
That's great, it works, thank you. :D Very easy solution!

shirsch
Posts: 19
Joined: Fri Feb 03, 2012 3:04 am

Re: version `GLIBC_2.14' not found

Post by shirsch » Wed Feb 15, 2012 3:56 am

mr.vince wrote:Easy. Use 32bit version... Hopefully Ubuntu will soon update.
Sorry. dtc is the first Linux binary I've ever seen - period - that's used versioned symbols from the C runtime library. If it was some specialty lib, I'd maybe understand, but the C library? Yes, I can use the 32-bit version (after some pain finding a new enough libusb to wedge in), but I would urge you folks to revisit this policy. I think it's very shortsighted.

Tor
Posts: 28
Joined: Mon May 16, 2011 3:08 pm

Re: version `GLIBC_2.14' not found

Post by Tor » Thu Feb 16, 2012 9:57 am

dtc doesn't have to be versioned against a specific glibc version for this to happen. In this case it seems to be just that it's linked against a newer version of glibc than what's generally available. I think you will find that all Linux binaries will complain if executed with an older glibc than what it was linked with - executing with a later version will normally never be a problem, unless using versioned symbols.
The real problem appears to be that for some reason dtc has been linked with a version of glibc that's so new it's not generally available (if it's not in Debian SID then it can safely be considered an experimental, very new version). An application which doesn't need some specific new feature of libc (and those are almost never added) shouldn't be linked against the latest version, it should be conservatively linked against the oldest possible libc version. And that's the problem here - the opposite was done.

-Tor
Hostinfo: Debian SID x86_64 and i686

User avatar
mr.vince
Posts: 2120
Joined: Tue Oct 05, 2010 5:48 pm

version `GLIBC_2.14' not found

Post by mr.vince » Thu Feb 16, 2012 3:45 pm

I am sure Adam can comment on that as he's making the Linux builds.

shirsch
Posts: 19
Joined: Fri Feb 03, 2012 3:04 am

Re: version `GLIBC_2.14' not found

Post by shirsch » Fri Feb 17, 2012 12:04 am

Tor wrote:The real problem appears to be that for some reason dtc has been linked with a version of glibc that's so new it's not generally available (if it's not in Debian SID then it can safely be considered an experimental, very new version). An application which doesn't need some specific new feature of libc (and those are almost never added) shouldn't be linked against the latest version, it should be conservatively linked against the oldest possible libc version. And that's the problem here - the opposite was done.
-Tor
I thought the versioning was due to a linker command, not the targeted C-library. Learn something every day!

User avatar
Malvineous
Posts: 156
Joined: Sun Oct 31, 2010 10:57 pm
Location: Brisbane, Australia
Contact:

Re: version `GLIBC_2.14' not found

Post by Malvineous » Sat Feb 18, 2012 3:15 am

Debian's pretty conservative, even Sid isn't updated all that frequently. The 32-bit builds are done on Debian Squeeze (stable) so you shouldn't have to worry about new library versions there. I figure people running a 64-bit OS are doing so for performance reasons, so the 64-bit builds are done on Arch Linux with the latest and greatest library versions available.

Having said that, if you can tell me how to link it on a system with the latest glibc release installed, but still be backwards compatible with some old version, then I will happily re-link it for you.

shirsch
Posts: 19
Joined: Fri Feb 03, 2012 3:04 am

Re: version `GLIBC_2.14' not found

Post by shirsch » Sat Feb 18, 2012 3:25 am

Malvineous wrote:I figure people running a 64-bit OS are doing so for performance reasons, so the 64-bit builds are done on Arch Linux with the latest and greatest library versions available.
Actually, I run a 64-bit OS because I develop EDA software and need the address space. But, it's not the end of the world if I have to stick with a 32-bit dtc. Just a bit unexpected is all.

User avatar
Malvineous
Posts: 156
Joined: Sun Oct 31, 2010 10:57 pm
Location: Brisbane, Australia
Contact:

Re: version `GLIBC_2.14' not found

Post by Malvineous » Sat Feb 18, 2012 8:55 am

Well the ideal solution of course would be for DTC to become open source, then it wouldn't be a problem :-)

I investigated further and it looks like only the memcpy() function is pulling in the 2.14 dependency, and there's a way to override it. I have set it back to 2.2.5 (the same version as all the other symbols) so can you try out this version and let me know if it works any better?

Post Reply