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.
To get started launch your terminal and run the following commands to install XCode Command Line Tools on macOS Big Sur: xcode-select -install sleep 1 osascript.
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.
So this article is applicable to MacOS 10.13 High Sierra, 10.12 Sierra, OS X 10.11 El Capitan, OS X 10.10 Yosemite, MacOS X 10.9 and later versions. Mac users running earlier versions of OS X can access this article Xcode Command Line Tools. Instructions: Homebrew: examples: http://quantlib.org/reference/examples.html.
Video instructions for Mac OS 10.11 (El Capitan) with Xcode 7 Rough video transcript: Hello, and welcome to this screencast on how to install the GNU C, C and Fortran compilers for Mac OS 10.11 (El Capitan). From the same page, download a release of Xcode that supports iOS 13.4 (for example Xcode 11.4.1). Unzip it, rename it to 'Xcode-11.4.1.app' and move it to the Applications folder, but don't run it. Add a symbolic link for iOS 13.4 from the DeviceSupport folder in Xcode 11.4.1 to Xcode 11.3.1, as described in Peter Steinberger's Gist.
See below for the source code that can be compiled on any Unix flavor.
File | Date | Description |
---|---|---|
bsoft2_1_3_OSX_10_13.tgz | 20190711 | Mac OS X 10.13 (High Sierra) - with FFTW3 and Grand Central Dispatch support |
bsoft2_1_3_Fedora_20.tgz | 20190711 | Fedora 20 (Heisenbug) - with FFTW3 and OpenMP support |
File | Date | Description |
---|---|---|
bsoft2_1_3.tgz | 20190711 | Gzipped tar archive (~39 Mb) |
bsoft2_1_3.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
Does My Mac Have Xcode
- 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:
Xcode Mac 10.11 Free
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
Xcode 11.3 Dmg
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:
Xcode Mac Download
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.