5 ms·
tbf maintaining anything proprietary under linux is a chore, with the ABI changing every year for no reason and yet having to support users having all kind of v
by LoSboccacc 11y ago
tbf maintaining anything proprietary under linux is a chore, with the ABI changing every year for no reason and yet having to support users having all kind of version combinations. I can see how a company would hate devoting that much resources for pleasing a smaller user base.
- lawl 11y ago> with the ABI changing every year for no reason and yet having to support users having all kind of version combinations. What? That is simply not true, the Kernel never breaks userspace. And "version combinations" are solved by linking statically.
- LoSboccacc 11y agognome breaks userspace, kde breaks userspace etc. skype is not just linked against the kernel after all, but a whole lot of different components
- lawl 11y agoGnome and KDE run in userspace. They are desktop environments, they don't "break userspace". I feel like you're talking about GTK and Qt, both of which (don't break userspace either) are libraries you can statically link and nothing will break.
- LoSboccacc 11y agothey both break library compatibility and break their environment (like when kde removed the widget toolbar and a whole lot of app suddenly stopped working) sure you can have bunch of ifdef in the code, and an autoconf, and make sure you support a wide set of options, but that is basically the whole point, it makes for a painful experience and costlier, slower development (for closed source application that comes prepackaged)
- lawl 11y agoI feel like you do not understand the concept of static linking, because the entire point is that you don't need a bunch of ifdefs, since you target exactly the version you develop against and ship with it.
- LoSboccacc 11y agothe example I gave is exactly how stuff has broken in projects. static linked on a kde library that had widget, new one doesn't have that nor a fallback, application crashes. or just go get some old static compiled stuff run on your modern distro and see yourself. like, mindrover the europa project port.
- lawl 11y agoThis will be my last reply. > static linked on a kde library that had widget, new one doesn't have that nor a fallback, application crashes. As I said before, please read up on what static linking means. > like, mindrover the europa project port. $ file Mindrover\ The\ Europa\ Project\ DEMO\ r1-lgp-x86.run Mindrover The Europa Project DEMO r1-lgp-x86.run: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.15, BuildID[sha1]=fe926b7ea13be61d05cdd605e313f50042040153, stripped ...version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2... $ ldd Mindrover\ The\ Europa\ Project\ DEMO\ r1-lgp-x86.run linux-gate.so.1 => (0xf7722000) libglib-2.0.so.0 => not found libz.so.1 => not found libfuse.so.2 => not found librt.so.1 => /lib32/librt.so.1 (0xf7700000) libdl.so.2 => /lib32/libdl.so.2 (0xf76fb000) libpthread.so.0 => /lib32/libpthread.so.0 (0xf76dd000) libc.so.6 => /lib32/libc.so.6 (0xf7525000) /lib/ld-linux.so.2 (0x5660a000) Clearly not a statically linked binary.
- 0X1A 11y agoDon't waste your time, they don't know what they're talking about. I've found most people that complain about ABI breakage usually don't.
- 11y ago
- sangnoir 11y ago> maintaining anything proprietary under linux is a chore, with the ABI changing every year for no reason Is Skype a special snowflake to the extent that it's an impossible task? Skype-on-Linux's problem are caused by interface changes with the server API, not the ABI. Recompiling isn't rocket science.
- LoSboccacc 11y agorecompiling isn't. packaging for every distribution, edge and not and building autoconf for all of them and ifdef all over the code? not rocket science either, but that stuff does carry an increased cost
- lisivka 11y agoMore and more companies are just publishing their repos for Debian/Ubuntu/RHEL/CentOS/Fedora/SuSE, which are built automatically from same source. If you have a problem with that, hire a developer.
- JupiterMoon 11y agoStatic linking would solve this. You end up with a bigger application and have to do updates every time a library needs a security patch. But you have this anyway if e.g. you release a python application on Windows.
- cookiecaper 11y agoTraditionally, the distros do the packaging on their own. I've seen this happen plenty with proprietary software (which will often release a single deb or rpm from which the other distros make their own packages).
- asddubs 11y agoif abi changes keep breaking things, how come skype keeps working even though microsoft barely ever updates it? For a while we were still on version 2, until microsoft decided to break the server protocol, but that version ran for ages without any updates.