* How do I contribute a binary distribution back to the HMMER web site? Ah, what a helpful citizen you are! 1. First, choose an informative name for your platform, like intel-linux, sgi-irix64, or powerpc-apple-osx. The name should reflect what platforms your binaries will run on, of course. Your binary distro will have this string as part of its name. A safe bet is to use the output of GNU's config.guess program, in HMMER's top level directory. On the platform I build intel-linux binaries on, this gives: % sh config.guess i686-pc-linux-gnu The config.guess output is often overly specific. I generally shorten that in some reasonable way to arrive at my names. In the examples below, I'll use "" to mean the string you choose. I'll use 2.3.2 for the HMMER version number; you need to substitute with the correct version number, if you're not building 2.3.2. Now you can either build the binary distro manually, or by using the "nodebuild" script, as follows: **************************************************************** * Manual, step-by-step instructions **************************************************************** 2. Get the HMMER source code, hmmer-2.3.2.tar.gz. 3. Unpack and rename the directory to hmmer-2.3.2.bin. % tar zxf hmmer-2.3.2.tar.gz % mv hmmer-2.3.2 hmmer-2.3.2.bin. 4. Go into the hmmer-2.3.2 directory; follow the compilation instructions. For instance, a default build would be: % ./configure % make % make check (You don't need to "make install", though it won't matter if you do.) The "make check" should report no problems. 5. Package the binary distribution. % make bindist % cd .. % tar cf hmmer-2.3.2.bin..tar hmmer-2.3.2.bin. % gzip hmmer-2.3.2.bin..tar 6. Cleanup. % rm -rf hmmer-2.3.2.bin. Go to step 7, below. **************************************************************** * Automatic, using the "nodebuild" script **************************************************************** The nodebuild script is part of the automation on our compile farm. You can download a copy from: ftp://ftp.genetics.wustl.edu/pub/eddy/software/nodebuild The top of the nodebuild file contains some documentation for using nodebuild to build binary distros on a remote host (e.g. in our compile farm, we drive mass compilations from a single server). To build on a local host is even simpler, where the command line is: ./nodebuild = where the HMMER tarball is = e.g., hmmer-2.3.2 = e.g., intel-linux = options to ./configure; e.g. \"--enable-threads\" = options to make: e.g. CC=gcc There's some silly business with double quotes here, to get arguments into the script properly without having your shell screw them up. Note that the configopts have to be wrapped in backslash-protected double quotes if there's more than one option. To include *no* configure options, use "" to leave a blank field there. The makeopts don't need to be protected with double quotes, but any multiword options in makeopts do. Example: ./nodebuild /tmp hmmer-2.3.2 intel-linux \"--enable-threads --enable-lfs\" CC=gcc CFLAGS=\"-O2 -Wall\" The nodebuild script creates a log, hmmer-2.3.2..log. So, let's say you're in your home directory, /home/eddy. You would do something like the following: 2. Get the source, hmmer-2.3.2.tar.gz and the nodebuild script. % ls hmmer-2.3.2.tar.gz nodebuild % pwd /home/eddy 3. Run nodebuild. % ./nodebuild /home/eddy hmmer-2.3.2 intel-linux \"--enable-threads --enable-lfs\" CFLAGS=\"-O2 -Wall\" 4. Voila. % ls hmmer-2.3.2.tar.gz hmmer-2.3.2..log hmmer-2.3.2.bin..tar.gz nodebuild Skip to step 7, below. **************************************************************** * Sending the files **************************************************************** 7. Send me the .log and .tar.gz file, either by putting them on an FTP site or as an email attachment. If you had to make any changes in the source code, please let me know. If you send me a patch file too, that's great; but I can also extract my own patches from your binary distro.