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.

bsoft2_1_0_OSX_10_13.tgz20190711Mac OS X 10.13 (High Sierra) - with FFTW3 and Grand Central Dispatch support
bsoft2_1_0_Fedora_20.tgz20190711Fedora 20 (Heisenbug) - with FFTW3 and OpenMP support

Source code

bsoft2_1_0.tgz20190711Gzipped tar archive (~39 Mb)
bsoft2_1_0.tar20190711Tar 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

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


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:

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

The Z library:

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

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


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.


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.


These enhancements are optional and may be included during compilation.


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.


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.