4 ms·
And to really drive the problem home, distributing binary packages for Linux is a complete nightmare. Linus Torvalds just laid out a whole bunch of the problems
by dottrap 12y ago
And to really drive the problem home, distributing binary packages for Linux is a complete nightmare. Linus Torvalds just laid out a whole bunch of the problems at DebConf14.
http://www.youtube.com/watch?v=5PmHRSeA2c8 http://www.youtube.com/watch?v=5PmHRSeA2c8
Go watch it. But some of the highlights:
- .deb vs .rpm misses the whole point. The problem is application writers just want to ship an application binary for "Linux", but it is a nightmare.
- Except for the kernel which strives for ABI stability, everything else in the Linux distros constantly break binary compatibility, including the most important library, glibc.
- Package maintainers are forced to use shared libraries for everything, even packages that are unstable and not well used which means apps will break
- You can't install packages under these systems as non-root
- He ships binaries for his SCUBA diving app for Windows and OS X. He only ships source for Linux. That's sad.
As somebody who has to ship binaries for multiple platforms, including Linux, I agree it is sad, and I often have to do the rough equivalent of static linking. (I dynamically link and ship copies of the libraries.) This also allows my users to install without root access. But whenever I'm asked to look at using a native packager, I made to cry trying to figure out all the idiosyncrasies of each packaging system, and then all the variations between each distro release. (Fedora vs Debian vs Ubuntu, and 12.04 LTS is different than 13.10 and 14.04.)
As far as Apple development tools go. Heard of clang and llvm? A lot of Linux users have.
- icedchai 12y agoI've seen that video and definitely agree. Users just want their app to work. Static linking or bundling dependencies inside the .app bundle (really just a directory) like OS X does is a fine solution in today's world of multi TB drives.