On Wed, Dec 28, 2005 at 05:31:16PM -0600, Matt England wrote: > I'm a software developer, and I would like one set of software binaries > (applications, libraries) to be able to run across many Linux platforms, > including FedoraCore, Redhat Enterprise Linux, and Debian (much the same > way XAMPP -- http://www.apachefriends.org/en/xampp.html -- claims that its > one Linux binary distribution runs on all SuSE, Redhat, Mandrake, and > Debian). > > What sort of things must I do as a developer to do this? > Three different distributions: three different versions of libraries, compilers and so on. Static linking may be one answer: a package installer script which unpacks and builds a tar.gz on the distribution natively may be another :(
> Should I carry as many of the dynamically-linked libraries around with my > distribution? Should these include libc/glibc in my own distribution set? > NO. Use the distribution's packaged libraries. > Anything else? > Be aware that Red Hat and Debian have fractionally different init scripts and run levels. A little reading should help clarify the differences. > Is this a worthwhile endeavor? Have people tried this before? Obviously > it appears to be a key point for XAMPP (per above) and I suspect many more > software sets. It sure would be nice for my project to have one binary for > many systems--it really cuts down on my build-control logistics. > Build for several different distributions in one machine by using VMWare/QEmu / chroots? This saves machines, guarantees that you are running the builds on the same hardware and provides you with each distributions versions of gcc/glibc/autoconf etc. etc. Which RH EL are you targetting and which Fedora Core (that's potentially two Red Hats and two or three Core's :( ) > I'm just getting started in this investigation. I may be posting to > several different Linux communities (newsgroups, email lists, forums, > etc). I started with the Debian community because I have a build > environment on RHEL, and am porting to Debian. > A cautionary tale: even eminently good software, if it's not in the mainstream and well packaged will fail. In 1996 or so, the best HTML editor I'd come across was asWedit - East European programmer, free for non-commercial use but with an odd licence for commercial purposes. The gentleman even went so far as to package a .deb. The last update to anything was in 1999 - virtually every mirror which carried it is now lost and the website no longer exists. Advasoft still apparently exists in Hatch End in London - but with no product. The .deb is now uninstallable. This, at least in part, because the owner wanted to keep all packaging to himself. If the software you are suggesting is under an obscure commercial license, then it possibly can't go in Debian main - which means that many people won't run it automatically: if it's free (in Debian Free Software Guidelines free), you stand a better chance. Find a Debian maintainer to work with you: ditto someone from OpenSUSE (or however its capitalized this month) - that way at least you have a collaborator to iron out local difficulties. 10% of packaging / library placement oddities can mean more than 90% of work to remain cross distribution compatible. HTH, Andy > Thanks for any help. > > -Matt > > ps: I am very familiar and have over a decade of experience with managing > software projects that make portable code across 8 different unix variants, > VMS, and several Windows flavors. Therefore, I'd like this discussion to > focus primarily on how to make the *binaries* portable and not the _code_ > portable. Thanks. > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact > [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

