Question to the Linux users


Re: Question to the Linux users
#4
One huge problem with Linux in general is shared libraries. In theory, the Linux solution to the problem is better than Microsoft's DLL Hell, but in practice, they cause endless pain and suffering for both you as a developer and your users. Different distros come with different ones standard, and different versions of the same distro have different incompatible versions of the same shared libraries (with no access to older ones short of the user building by hand). So, after much cursing, my opinion at this point is that for binary distributions, the more static linking you can perform, the better, even though this goes against software engineering principles.

This makes the binary bigger, and it makes it use more memory on the machine (because shared libraries themselves share executable memory between processes, and static ones don't), but if you actually use shared libraries like they're designed to be used, you're locking your release into a small subset of Linux distributions, and it's almost guaranteed that a binary you release today won't work on any standard Linux distribution in 2 years time (which is unforgivable of Linux distributions, in my opinion, but appears to be standard practice). In particular, all of the following libraries have caused me grief with LDView:
  • Mesa
  • Qt
  • Boost
  • PNG
  • JPEG

Having said all that, you're probably better of not using a static version of Mesa, because that may interfere with proper hardware acceleration. But if you use any of the others, then if you can get them to compile statically linked, I'd suggest doing so.
Reply
« Next Oldest | Next Newest »



Messages In This Thread
Re: Question to the Linux users - by Travis Cobbs - 2011-11-21, 19:04

Forum Jump:


Users browsing this thread: 1 Guest(s)