# Binary distributions

Selected binary distributions are provided to simplify installation of the more complicated parts of Bsoft. In particular, the FFTW3 library and threading (OpenMP or Grand Central Dispatch) support are included in the distributions. In most cases Bsoft was compiled against Tcl/Tk 8.5.

These distributions will unpack in a directory called "bsoft" (no need to compile). To complete the installation, make sure the environmental variables are set correctly to point to the Bsoft programs and library.

See below for the source code that can be compiled on any Unix flavor.

File | Date | Description
--- | --- | ---
bsoft2_0_6_OSX_10_13.tgz | 20190711 | Mac OS X 10.13 (High Sierra) - with FFTW3 and Grand Central Dispatch support
bsoft2_0_6_Fedora_20.tgz | 20190711 | Fedora 20 (Heisenbug) - with FFTW3 and OpenMP support

# Source code

File | Date | Description
--- | --- | ---
bsoft2_0_6.tgz | 20190711 | Gzipped tar archive (~39 Mb)
bsoft2_0_6.tar | 20190711 | Tar archive (~165 Mb)

### Old versions

Old versions of Bsoft are provided for those who developed code based on those.

### New versions

Newer versions than the current major release can be found here. These distributions are not necessarily complete and need to be unpacked within an existing bsoft directory.

## Platforms supported

- Linux (i386/i686, x86_64, PowerPC, Alpha, Itanium)
- Darwin or MacOSX (PowerPC, Intel)
- IRIX64 (SGI)
- Solaris (Sun)
- AIX (IBM)
- OSF1 or Tru64 (Alpha)
- VMS (Alpha)
- Cygwin_NT (Windows NT)

In principle the package could be compiled on any Unix-based operating system.

## Requirements

### Mac OS X:

The default installations of Mac OS X don't have the compilers installed. Download Xcode from the Apple developer's web site and install it first:

https://developer.apple.com/xcode

Note that the Mac OS X Xcode versions should be matched with the different operating systems:

- Mac OS X 10.4 (Tiger): Xcode 2.5
- Mac OS X 10.5 (Leopard): Xcode 3
- Mac OS X 10.6 (Snow Leopard): Xcode 3
- Mac OS X 10.7 (Lion): Xcode 4
- Mac OS X 10.8 (Mountain Lion): Xcode 4
- Mac OS X 10.9 (Mavericks): Xcode 5
- Mac OS X 10.10 (Yosemite): Xcode 6
- Mac OS X 10.11 (El Capitan): Xcode 7
- Mac OS X 10.12 (Sierra): Xcode 8
- Mac OS X 10.13 (High Sierra): Xcode 10

### The Z library:

The inclusion of the PNG format in Bsoft requires libz for compression. The required files are:

- /usr/include/zlib.h or /usr/local/include/zlib.h
- /usr/lib/libz.* (such as libz.a or libz.so)

On some versions of Unix and VMS, libz may not be available, therefore it is included in the distribution and will be compiled.

### Tcl/Tk:

Bsoft is primarily a command-line package, with all the necessary code included in the package. However, from version 0.9, it includes a Tcl/Tk interface and a Tcl/Tk script, bshow, useful for the display of images and a few interactive manipulations (not available for VMS). The Tcl/Tk version must be 8.3 or higher. Bsoft can be compiled without Tcl/Tk (see below for details).

On most Unix boxes, the Tcl/Tk headers and libraries are installed in either /usr or /usr/local (look for /usr/include/tk.h or /usr/local/include/tk.h). Linux distributions typically have separate packages for the runtime and developer versions of Tcl/Tk. Both need to be installed to be able to use bshow.

The Bsoft configuration script, bconf, tries to find the Tcl/Tk headers automatically. Make sure the Tcl/Tk version is 8.3 or higher. Make sure the commands "tcl" and "wish" are in your executable path.

### XML:

The default format for parameter files is the STAR format. These can also be written in an XML format, but requires the libxml2 library with its header files. The common locations for the header files are in /usr/include/libxml2 and the library in /usr/lib. The source code for this library is not included in Bsoft due to its sheer size.

## Enhancements

These enhancements are optional and may be included during compilation.

### OpenMP:

Several operations in Bsoft have been parallelized with OpenMP. Support for OpenMP has been part of gcc since version 4.2, and platforms such as Mac OS X (before 10.7) and Linux support it.

### Grand Central Dispatch:

On mac OS X 10.7 and later, the compiler has been changed to clang which does not support OpenMP. In stead, threading is done using Grand Central Dispatch.

### FFTW3:

Because of the complexities in the new versions of FFTW (3.x), it is no longer included with the Bsoft distribution. It should be compiled as single-precision floating point with support for OpenMP turned on if parallel operations are also desired.