ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Usually, developing a program is done using only one machine, and compiling and testing on a regular basis is easy. Now, however, I'm modifying a routing protocol, which requires me to use multiple machines to test the implementation. This approach is new to me, and I could need some advice.
The most obvious way is to use something like ftp to copy the source code to all the machines, and then manually compile them (using for example ssh to log onto every machine). But this approach seems unnecessary hard. I could try and write a server application (i Java or something) that every machine was to run, and this server would receive the source code from a client (the machine I'd do the actual implementation on) and compile it.
There has to be smarter ways of doing this, I'm sure. Does anybody have any good pointers as for how this can be done?
"Now, however, I'm modifying a routing protocol, which requires me to use multiple machines to test the implementation. . . Does anybody have any good pointers as for how this can be done?"
gcc has the ability to compile code for a different architecture than the machine where the compile is done. Look in man gcc for the various options which describe to gcc what the target cpu and target operating system will be. You can do all of the compiles on your development machine then transfer the binaries to the various target machines for testing.
I'll try and just transfer the binaries to the other machines.
Does there exist free software for automated distributing of the binaries, and running them? I could, of course, transfer the binaries, and then have an open ssh-connection to every machine in which I run the binaries, but there has got to be a smarter way of doing this. I can't imagine the guys at Cisco doing this manually.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.