Fork me on Github
Fork me on Github

Joe Dog Software

Proudly serving the Internets since 1999

up arrow Hey! There’s No configure Script!!1!1!!!1!

Your JoeDog gets this a lot lately: “The INSTALL file says run ./configure but there’s no configure file.” It took a second but it’s now clear what’s happening. You guys are grabbing the code directly from github.com

When Your JoeDog redesigned this site, he put that snazzy “Fork me on Github” banner up in the corner. Exciting! So now you guys are forking me! Here’s the thing. The stuff on github is THE source code, it’s not a source distribution. You can find the source distribution on the downloads site.

So what’s the difference? The source distribution contains helper scripts which are generated by autotools. You know, like that configure script. Since configure is built from other files, it’s not a source file and we don’t maintain it in version control.

That doesn’t mean you can’t fork me on github! If you take that route, you’ll need to build your own configure script. We’ll learn how to do that after the jump….

If you’re still reading this, then you’re a nerd’s nerd. Congratulations! (I guess?)

To get the code from github you can check it out like this:

  Bully $ git clone https://github.com/JoeDog/siege.git

That will create a directory called ‘siege’  It’s filled with the latest code from the main branch. Next you’ll have to create a configure script. To do this you’ll need to have GNU/autotools installed on your system.  Namely, you’ll need autoconf, automake and libtool. Those should all be available from your preferred Linux distro.

To build the configure script, just do this:

  Bully $ cd siege
  Bully $ utils/bootstrap 
  + aclocal
  + autoheader
  + automake --foreign --copy
  + autoconf

Now all you do to do is follow the instructions in that INSTALL file, i.e., ./configure

Happy hacking.

NOTE: The source distributions are bundled with a configure script. If you don’t want to go through all this nonsense you can just click the Downloads link.