Jump to content

  • Log In with Google      Sign In   
  • Create Account


#ActualSimonForsman

Posted 12 February 2013 - 07:20 PM


Actually Linux distributions are binary compatible with eachother and the LSB mandates that they support the old ABIs(Which

Not many Linux distributions do adhere to the Linux Standard Base. I know there is a package for it in Fedora, but I wouldnt rely on it for every distro. It seems hit and miss, but I guess that is one of the charms of using open-source software smile.png

If you want to run modern software on Linux, do not use RHEL, it is ancient before it gets released

And yet is still newer than Windows XP (Which does still support the Unity output binaries (and IDE)). I am not one to bash Linux (I am a *NIX user afterall) however I feel that something is lacking in the backwards compatibility area of Linux somewhere.
Often Windows users get newer versions of Firefox, Gimp, Libre/OpenOffice before individual (often newer) distributions do.

So I guess all that I am saying is that it is very hard for something like Unity (large proprietary software, always catering to the typical user) to support something as dynamic and fast changing like Linux. Though I guess that is why I never recommend Unity lol.


Off the top of my head, the only big name Linux based x86/x64 OS that doesn't support the LSB is Android (Let me know if you can find any other). Unity games fail to run because it requires a very new glibc version(and possibly new versions of other system libraries), it is not a backwards compatibility issue, its a developer issue. (Either they don't know how to build binary only applications for Linux or they just don't care about supporting anything other than Ubuntu)

You seem generally confused as to what backwards compatibility means, Backwards compatibility is the ability of a new OS to run old applications, This is a non issue and hasn't been an issue for several years. (since LSB3.0 ABI symbols will not be changed or removed without the major version of the library changing (Which means applications relying on the old symbols will keep using the old version, even on a new OS), new ones can be added though but that will never affect existing software).

backwards compatibility is guaranteed (for the system ABIs, there is ofcourse no guarantee, atleast not from the Linux foundation that amd or nvidia won't drop OpenGL 3.0 support from their driver tomorrow(its highly unlikely though) and break things for people), You are hung up on Unity3D not working on RHEL6 and other "old" distros, blaming Linux for the fact is about as intelligent as Blaming Microsoft for Windows 7 not being able to run Windows8 "metro" apps. The Unity developers have specifically and for no good reason chosen to set the minimum requirement at Ubuntu 11.04, The "correct" glibc version to use for a proprietary modern(not targeting old distros) binary application would be 2.4(Easiest way would be to install the LSB SDK and just build against the LSB4.0 target (any big name 2009 or later(Which includes RHEL6) distro will run those applications with no issues, or LSB3.0 if support for older distros(back to 2005) is desired).

It is not rocketscience, building cross-distro, future proof Linux binaries is reasonably trivial today and unless you need to use extremely new OS features(Unity3D shouldn't need that) it is also trivial to support distros as old as 2005 (for pre 2005 distros there is no guarantee that the ABIs will continue to be supported in the future so they should either be ignored completely or get separate binaries and if this was 2004 and not 2013 i would even agree with you, its not 2004 anymore though)

#1SimonForsman

Posted 12 February 2013 - 07:16 PM


Actually Linux distributions are binary compatible with eachother and the LSB mandates that they support the old ABIs(Which

Not many Linux distributions do adhere to the Linux Standard Base. I know there is a package for it in Fedora, but I wouldnt rely on it for every distro. It seems hit and miss, but I guess that is one of the charms of using open-source software smile.png

If you want to run modern software on Linux, do not use RHEL, it is ancient before it gets released

And yet is still newer than Windows XP (Which does still support the Unity output binaries (and IDE)). I am not one to bash Linux (I am a *NIX user afterall) however I feel that something is lacking in the backwards compatibility area of Linux somewhere.
Often Windows users get newer versions of Firefox, Gimp, Libre/OpenOffice before individual (often newer) distributions do.

So I guess all that I am saying is that it is very hard for something like Unity (large proprietary software, always catering to the typical user) to support something as dynamic and fast changing like Linux. Though I guess that is why I never recommend Unity lol.


Off the top of my head, the only big name Linux based x86/x64 OS that doesn't support the LSB is Android (Let me know if you can find any other). Unity games fail to run because it requires a very new glibc version(and possibly new versions of other system libraries), it is not a backwards compatibility issue, its a developer issue. (Either they don't know how to build binary only applications for Linux or they just don't care about supporting anything other than Ubuntu)

You seem generally confused as to what backwards compatibility means, Backwards compatibility is the ability of a new OS to run old applications, This is a non issue and hasn't been an issue for several years. (since LSB3.0 ABI symbols will not be changed or removed without the major version of the library changing (Which means applications relying on the old symbols will keep using the old version, even on a new OS), new ones can be added though but that will never affect existing software).

backwards compatibility is guaranteed (for the system ABIs, there is ofcourse no guarantee that nvidia won't drop OpenGL 1.0 support from their driver tomorrow or something similar), You are hung up on Unity3D not working on RHEL6 and other "old" distros, blaming Linux for the fact is about as intelligent as Blaming Microsoft for Windows 7 not being able to run Windows8 "metro" apps. The Unity developers have specifically and for no good reason chosen to set the minimum requirement at Ubuntu 11.04, The "correct" glibc version to use for a proprietary modern(not targeting old distros) binary application would be 2.4(Easiest way would be to install the LSB SDK and just build against the LSB4.0 target (any big name 2009 or later(Which includes RHEL6) distro will run those applications with no issues, or LSB3.0 if support for older distros(back to 2005) is desired).

It is not rocketscience, building cross-distro, future proof Linux binaries is trivial today and unless you need to use extremely new OS features(Unity3D shouldn't need that) it is also trivial to support distros as old as 2005 (for pre 2005 distros there is no guarantee that the ABIs will continue to be supported in the future so they should either be ignored completely or get separate binaries and if this was 2004 and not 2013 i would even agree with you, its not 2004 anymore though)

PARTNERS