This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Best way of compiling applications to run on older linux distros


Tom Quarendon wrote:
The point is that I'm trying to work out what "properly" means. We do have a bunch of vmware boxes. That's how I know that it doesn't work when we build on our build machine and try and run it on Centos4.

Your implication is that "properly" means building a version for Centos4 on Centos4, a version for linux distro x on linux distro x etc etc. This isn't in any way obvious, and isn't how things work for Windows, or indeed Solaris, AIX, zSeries.

Are you kidding me? I used to develop windows applications for a living (before coming to my sense) and you'd *regularly* stumble upon GDI inconsistencies between say 95, 98 and XP. Don't give us this "Windows works perfectly" line. I used IRIX boxes to develop OpenGL applications and same story there (mostly because IRIX wasn't POSIX.1 compatible).


What the others have pointed out is FORWARDS compatibility isn't guaranteed. And indeed that makes sense. Being able to improve the ABI and API as time progresses means less fluff in the system. And since most Linux applications are OSS anyways, as long as it's source compatible you can just recompile against the new platform.

What they *do* do, is try to be backwards compatible. Your Fedora Core 8 application should run in Fedora Core 9, and so on.

The most logical solution to this problem is to have VMs properly setup so they can access your CVS [or whatever source control you have] and do automated nightly builds with monitoring for which builds failed [or failed to pass regression]. Sure it'll probably take time to setup, and a bit of time to maintain, but in the long run it'll mean your application(s) stand the best chance of being as widely deployable as possible. And given that you can pick up quad-core boxes with 4GB of ram for cheap nowadays, it's not a huge investment to buy a half-dozen of them to setup as your build-lab.

You don't need a million dollar server rack to do nightly builds against a dozen OSes (unless your code is so verbose/big that a 3GHz processor can't build it overnight...), this isn't 1993 anymore. :-)

Tom


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]