←back to thread

201 points generichuman | 5 comments | | HN request time: 1.126s | source
Show context
Jeaye ◴[] No.43552616[source]
I don't understand why they don't just statically link their binaries. First, they said this:

> Even if you managed to statically link GLIBC—or used an alternative like musl—your application would be unable to load any dynamic libraries at runtime.

But then they immediately said they actually statically link all of their deps aside from libc.

> Instead, we take a different approach: statically linking everything we can.

If they're statically linking everything other than libc, then using musl or statically linking glibc will finish the job. Unless they have some need for loading share libs at runtime which they didn't already have linked into their binary (i.e. manual dlopen), this solves the portability problem on Linux.

What am I missing (assuming I know of the security implications of statically linked binaries -- which they didn't mention as a concern)?

replies(6): >>43552647 #>>43552652 #>>43552691 #>>43552703 #>>43552800 #>>43552822 #
AshamedCaptain ◴[] No.43552703[source]
And please, statically linking everything is NOT a solution -- the only reason I can run some games from 20 years ago still on my recent Linux is because they didn't decide to stupidly statically link everything, so I at least _can_ replace the libraries with hooks that make the games work with newer versions.
replies(3): >>43552726 #>>43552747 #>>43552785 #
evidencetamper ◴[] No.43552785[source]
As long as the library is available.

Neither static nor dynamic linking is looking to solve the 20 year old binaries issue, so both will have different issues.

But I think it's easier for me to find a 20 year old ISO of a Red Hat/Slackware where I can simply run the statically linked binary. Dependency hell for older distros become really difficult when the older packages are not archived anywhere anymore.

replies(3): >>43552889 #>>43553213 #>>43553862 #
pabs3 ◴[] No.43553862[source]
Debian archives all of our binaries (and source) here:

https://snapshot.debian.org/

Some things built on top of that:

https://manpages.debian.org/man/debsnap https://manpages.debian.org/man/debbisect https://wiki.debian.org/BisectDebian https://metasnap.debian.net/ https://reproduce.debian.net/

replies(1): >>43555209 #
1. terinjokes ◴[] No.43555209[source]
All since ~mid 2005. Unfortunately a tarball I've been looking for was added before then, but replaced before a release was cut (so it's also missing from those archives).
replies(1): >>43566273 #
2. pabs3 ◴[] No.43566273[source]
Which one?
replies(1): >>43567842 #
3. terinjokes ◴[] No.43567842[source]
The OpenAL source tarball that was imported into Debian as version "0.0.200101102349-1".
replies(1): >>43571144 #
4. pabs3 ◴[] No.43571144{3}[source]
Thats an incredibly old version, I think you are going to be out of luck and wonder what you need from it.

That said, a couple things to try though:

Email Dan Helfman <witten@torsion.org> and ask if they have a copy lying around in backups anywhere. They aren't a Debian member any more but incredibly are still posting to the Debian BTS occasionally, as upstream developer of borgmatic.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1056364#10 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1096005#10

Contact the Icculus folks, the CVS server mentioned in debian/copyright of the oldest version of openal on Debian snapshot points to the Icculus server. Won't get you the debian/ directory, but could possibly get you some sort of CVS access.

http://cvs.lokigames.com/ https://icculus.org/

replies(1): >>43577106 #
5. terinjokes ◴[] No.43577106{4}[source]
Yeah, I reached out to Dan a few months back. Unfortunately, didn't have a copy anymore (and they were awesome enough to even check backups, props!). At this point I'd be happy with just the headers, the ones from "0.2001061600-2.3" just a few months later seem different enough.

Not a blocker for what I'm working on, but more of an itch to track down the lost version.