Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I am trying to write a script python script that is supposed to run across all linux based OSes. The python script invokes executables of few existing tools(for example pathload and iperf) that I have compiled and included with the script.

For this purpose, I need to compile the executables to be run across all linux OSes and architectures. I have currently compiled it for 32bit and 64bit Ubuntu but it does not run on redhat system(dependency issues). Can someone give me a clue on what all popular OS types (debian based, redhat based, archlinux based and any others?) are present, so that I can compile the executables for them?

Also, is there any better way of achieving this task?

Let me know if I need to reword the question.

share|improve this question
    
If there are all base on linux, it will most likely work on all of them. –  enginefree Mar 24 '13 at 22:07
    
I have compiled one of the tools on ubuntu 64 bit and tried running them on scientific linux(also 64 bit), gives me an error saying that the glibc version is not supported. The same source compiles and runs without any issues on scientific linux. –  hld619 Mar 24 '13 at 22:11
add comment

2 Answers 2

up vote 1 down vote accepted
Also, is there any better way of achieving this task?

Yes, at least two ways come to my mind:

  1. You can distribute source code. "Unix" has a long tradition of "portability" through source code. Note that both iperf and pathload are distribuited by sources and both use autoconf to "grant" portability (and it is not accidental). You should "only" automate the compilation inside your application-installer procedure.
  2. If your application runs only on linux, you could use a tool like openSUSE Build Service that can be used for development of the openSUSE distribution and to offer packages from same source for Fedora, Debian, Ubuntu, SUSE Linux Enterprise and other distributions. You need "only" to write one configuration file and the OBS will compile and package your application for many unix distros.

Obviously, both solutions require some time and work to be implemented.

share|improve this answer
add comment

The Linux kernel runs on a lot of architectures, the arch directory in its sources lists 32 (some are really several, like x86 and x86_64, arm is a veritable zoo). The total count is probably nearer 50.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.