Find the answer to your Linux question:
Results 1 to 2 of 2
A few questions here: 1. If I compile a program on a linux OS with a certain kernel version, what kernel versions will it run on? What rules do I ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Feb 2009
    Posts
    1

    binary compatibility on Linux


    A few questions here:

    1. If I compile a program on a linux OS with a certain kernel version, what kernel versions will it run on? What rules do I need to follow to ensure maximum binary compatability, and what is the best I can expect?

    2. Same question for gnu C library. Is glibc normally dynamically linked, and if so, is it backwards compatible? Can you statically link it?

    3. When distributing a binary, what stipulations are nomally made regarding kernel and glibc libraries?

    Anything else I should know about binary compatibility?

  2. #2
    Linux User
    Join Date
    Jan 2006
    Posts
    414
    Sounds like you're wanting to make a proprietary program for Linux? As everything you're asking wouldn't be a problem with free software.

    You're more tied down by architecture than kernel or libc version, generally though you'll find that an application compiled on an older glibc will be fine on a newer glibc. It can vary alot with other libraries like gtk or qt, or some of the sound/video libraries around, depending on your application of course.

    You can statically link if you wish, I know that Opera web browser is available statically or dynamically linked.

    Things move fast in free software, and proprietary software has trouble keeping up with that. It can be done though, probably the best option would be something like the .run format, commonly used in commercial linux games, and video drivers, which to a certain extent compiles as it installs, this solves the problem completely.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •