logoalt Hacker News

microtonallast Tuesday at 7:13 PM3 repliesview on HN

At least glibc uses versioned symbols. Hundreds of other widely-used open source libraries don't.


Replies

ok123456last Tuesday at 7:28 PM

Versioned glibc symbols are part of the reason that binaries aren't portable across Linux distributions and time.

show 1 reply
grishkayesterday at 12:05 AM

Yeah and nothing ever lets you pick which versions to link to. You're going to get the latest ones and you better enjoy that. I found it out the hard way recently when I just wanted to do a perfectly normal thing of distributing precompiled binaries for my project. Ended up using whatever "Amazon Linux" is because it uses an old enough glibc but has a new enough gcc.

show 1 reply
afishhhlast Tuesday at 8:55 PM

> Hundreds of other widely-used open source libraries don't.

Correct me if I'm wrong but I don't think versioned symbols are a thing on Windows (i.e. they are non-portable). This is not a problem for glibc but it is very much a problem for a lot of open source libraries (which instead tend to just provide a stable C ABI if they care).

show 1 reply