[KLUG Members] Four machines, two different types of OSes and GCC, one NFS drive.

Adam Williams members@kalamazoolinux.org
Mon, 22 Jul 2002 10:16:10 -0400 (EDT)


>I've got four machines.
> 1 & 2:  Turbolinux Server v4.  (Yes, I use TL. And yes, I posted on /.
> about how I DO still use it)  gcc --version = egcs-2.91.60
> 3 & 4:  Turbolinux 6.  gcc 2.95.2.
> I've got compiled executables  on an NFS mounted drive, that has compiled
> C++ executables hosted therein.
> Issue:
> Currently, my first two boxes are clustered together, and the second two
> are clustered together.  What I need to do is to cluster them sort of
> together all at once again. Doing this will require me to re-compile all
> programs again for the second half while retaining their ability to run on
> the first two. So far, programs compile on boxen 1 and 2 will NOT run on
> boxen 3 and 4. This is an issue. I can't really re-compile GCC or anything

Rebuilding gcc won't help anyway.

> like that because the boxes are rather touchy.  So, any ideas? Can I

With what error do they fail.  Are you sure it isn't a library version
issue?  Minor variations in GCC shouldn't matter,  I'm running binaries
I compiled on RH42 on my RH73SGIXFS box.  But one has to make ld happy.

If you put the uncooperative binaries on 1&2 and do an "ldd {filename}"
what happens?

> somehow trick these machines into running specific executables? These
> programs are executed from PHP code, so I could possibly build in a check
> for this, if necessary, but I'd rather have things be very transparent.

Sure you can look in PHPs internal variables for the uname and construct a
case statement.

*OR* you can mod the programs to communicate via an RPC method like
XML-RPC and rid yourself of tight coupling and the resulting dependency
hell. (it is Xcessive XML month after all).