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 with bmake). To complete the installation, make sure the environmental variables are set correctly to point to the Bsoft programs and library (see here). On Mac OSX, also run the macinstall script to properly install Bshow and Brun.
See below for the source code that can be compiled on any Unix flavor.
|bsoft1_9_4_OSX_10_12.tgz||20161214||Mac OS X 10.12 (Sierra) - with FFTW3 and Grand Central Dispatch support|
|bsoft1_9_4_Fedora_20.tgz||20161214||Fedora 20 (Heisenbug) - with FFTW3 and OpenMP support|
|bsoft1_9_4.tgz||20161214||Gzipped tar archive (~42 Mb)|
|bsoft1_9_4.tar||20161214||Tar archive (~173 Mb)|
Old versions of Bsoft are provided for those who developed code based on those.
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.
- 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.
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:
- 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
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.
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 compiler script, bmake, tries to find the Tcl/Tk headers automatically. Make sure the Tcl/Tk version is 8.3 or higher. There may be a version suitable for installation under VMS, but try at your own risk. 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.