From ArachneWiki

Jump to: navigation, search

ARACHNE_BIN_DIR is the most important subdirectory of ARACHNE_DIR. When the Arachne code package is compiled, all of the executable binaries will be created in ARACHNE_BIN_DIR. The default name of ARACHNE_BIN_DIR is bin. If you are running UNIX, it is a good idea to put ARACHNE_DIR/ARACHNE_BIN_DIR into your PATH after installing Arachne.


ARACHNE_BIN_DIR is usually referred to (in this wiki and elsewhere) as an absolute location, the directory containing all of Arachne's binary executables. Technically, though, it is ARACHNE_DIR/ARACHNE_BIN_DIR that contains the executables; ARACHNE_BIN_DIR itself is merely a relative location.

You can control the value of ARACHNE_BIN_DIR by setting it as an environment variable, either at the command line or in your .rc file. The recommended default value of ARACHNE_BIN_DIR is bin.

You can also change the value of ARACHNE_BIN_DIR indirectly, through the CROSS environment variable. If you set CROSS=1 the makefile will detect what architecture you are in, and create a bin directory for it: bin_$ARCH_$VENDOR, for example bin_ia64_suse. You can then set the appropriate paths in your .rc file based on an arch switch, and have only one source directory from which you can compile on any architecture. For internal users at the Broad Institute, there is one big problem with this: the LSF has different vendors and architectures. That means that if you set CROSS, you want to do the following:

  • Only run jobs on 64-bit queues (solexa, gpfs, quasi-normal, interactive) from gold, silver, or one of the solexa nodes
  • Only run jobs on 32-bit queues (normal, 454) from lead or one of the 454 nodes
  • Set up a softlink between bin_i686_suse and bin_i686_intel, or else you will need to do two different compiles for the different vendors.

If you do not set CROSS, you will still need to keep track of which directory you are in and what executables are in your path any time you send something to the LSF, so that's not a win either. Setting it properly allows you to forget about most stuff.

Personal tools