Linux ===== Debian style: sudo apt install libboost-all-dev RPM style: sudo dnf install boost-devel macOS ===== Download the latest Boost sources from here: boost.org Currently v 1.74.0 - https://dl.bintray.com/boostorg/release/1.74.0/source/boost_1_74_0.tar.bz2 cd ~/Downloads curl -L -O https://dl.bintray.com/boostorg/release/1.74.0/source/boost_1_74_0.tar.bz2 mkdir src cd !$ tar --bzip2 -xf ~/Downloads/boost_1_74_0.tar.bz2 cd boost_1_74_0/tools/build ./bootstrap.sh ./b2 toolset=clang --prefix=$HOME/local/boost-build install cd ../.. ~/local/boost-build/bin/b2 -j8 toolset=clang cflags=-mmacosx-version-min=10.12 \ cxxflags=-mmacosx-version-min=10.12 mflags=-mmacosx-version-min=10.12 \ mmflags=-mmacosx-version-min=10.12 mflags=-mmacosx-version-min=10.12 \ linkflags=-mmacosx-version-min=10.12 \ architecture=x86 address-model=64 --prefix=$HOME/local/boost install That will take a while, once successful (warnings can be ignored) you can clean the build tree to save some space: ~/local/boost-build/bin/b2 toolset=clang cflags=-mmacosx-version-min=10.12 \ cxxflags=-mmacosx-version-min=10.12 mflags=-mmacosx-version-min=10.12 \ mmflags=-mmacosx-version-min=10.12 mflags=-mmacosx-version-min=10.12 \ linkflags=-mmacosx-version-min=10.12 \ architecture=x86 address-model=64 --prefix=$HOME/local/boost clean All that remains is to reconfigure your WSJT-X build trees to include ~/local/boost in your CMAKE_PREFIX_PATH, maybe something like these (one each for Debug and Release configuration builds and assumes the Macports GCC v7 tool-chain is being used): FC=gfortran-mp-7 \ cmake \ -D CMAKE_PREFIX_PATH:PATH=~/local/boost\;~/Qt/5.15.0-clang\;~/local/hamlib/release\;/opt/local \ -D CMAKE_INSTALL_PREFIX=~/local/wsjtx/release \ -D CMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk \ -D CMAKE_BUILD_TYPE=Release \ -B ~/build/wsjtx-release \ ~/src/bitbucket.org/k1jt/wsjtx FC=gfortran-mp-7 \ cmake \ -D CMAKE_PREFIX_PATH:PATH=~/local/boost\;~/Qt/5.15.0-clang\;~/local/hamlib/debug\;/opt/local \ -D CMAKE_INSTALL_PREFIX=~/local/wsjtx/debug \ -D CMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk \ -D CMAKE_BUILD_TYPE=Debug \ -B ~/build/wsjtx-debug \ ~/src/bitbucket.org/k1jt/wsjtx Substitute you installed SDK version, Qt version and location, and Hamlib install locations. MS Windows ========== Because 32-bit and 64-bit builds are possible and each use different tool-chains, two separate builds are necessary if both architectures are required. Common steps ------------ Download and extract the latest Boost library sources, at the time of writing that was https://dl.bintray.com/boostorg/release/1.74.0/source/boost_1_74_0.7z . Extract to some convenient location, I use %HOME%\src . Download and extract the libbacktrace sources from https://github.com/ianlancetaylor/libbacktrace as follows. cd %HOME%\src mkdir github.com cd github.com mkdir ianlancetaylor cd ianlancetaylor git clone git@github.com:ianlancetaylor/libbacktrace.git I install third-party tools under the C:\Tools directory, the following assumes that, adjust to taste. Note that it is OK to install both 32- and 64-bit builds of Boost to the same path as the library names are unique per architecture and tool-chain. This saves a lot of space as the boost header files are quite big, and there's no need to install multiple copies. Create a new file %HOME%\src\boost_1_74_0\project-config.jam with the following three lines to specify how Boost.Build finds the libbacktrace library matched to your relevant C++ compliers: import toolset ; using gcc : : C:\\Qt\\Tools\\mingw730_32\\bin\\g++ : -I"C:\\Tools\\libbacktrace-1.0\\MinGW32\\include" -L"C:\\Tools\\libbacktrace-1.0\\MinGW32\\lib" ; using gcc : 8~64 : C:\\Qt\\Tools\\mingw810_64\\bin\\g++ : -I"C:\\Tools\\libbacktrace-1.0\\MinGW64\\include" -L"C:\\Tools\\libbacktrace-1.0\\MinGW64\\lib" ; Note that it may need some local adjustment of the C++ compiler version and path depending on the exact tool-chains from your Qt installation. Above I am using the Qt v5.12.9 MinGW32 v7 tool-chain for 32-bit (toolset=gcc), and Qt v5.15.0 MinGW64 v8 tool-chain for 64-bit (toolchain=gcc-8~64). 32-bit ------ Start an MSys or MSys2 shell with the 32-bit C/C++ tool-chain from your Qt installation on the PATH environment variable. cd ~/src/github.com/ianlancetaylor/libbacktrace ./configure --prefix=/c/Tools/libbacktrace-1.0/MinGW32 make && make install make clean Start a CMD window suitably configured for use of the 32-bit MinGW tool-chain bundled with your Qt binary installation. Verify the correct compiler is in the PATH. i.e. it identifies (g++ --version) as i686-posix-dwarf-rev0. cd %HOME%\src\boost_1_74_0\tools\build bootstrap.bat mingw .\b2 --prefix=C:\Tools\boost-build\MinGW32 install cd ..\.. C:\Tools\boost-build\MinGW32\bin\b2 -j8 toolset=gcc ^ --build-dir=%HOME%\build\boost ^ --build-type=complete --prefix=C:\Tools\boost install If all is well you should see the following line about a 1/3 of the way through the initial configuration steps. - libbacktrace builds : yes After some time it should complete with something like: ...failed updating 1574 targets... ...skipped 1112 targets... ...updated 3924 targets... warnings can usually be ignored. If successful; you can release some space by cleaning the build tree: C:\Tools\boost-build\MinGW32\bin\b2 toolset=gcc ^ --build-dir=%HOME%\build\boost ^ --build-type=complete clean 64-bit ====== Start an MSys or MSys2 shell with the 64-bit C/C++ tool-chain from your Qt installation on the PATH environment variable. cd ~/src/github.com/ianlancetaylor/libbacktrace ./configure --prefix=/c/Tools/libbacktrace-1.0/MinGW64 make && make install make clean Start a CMD window suitably configured for use of the 64-bit MinGW tool-chain bundled with your Qt binary installation. Verify the correct compiler is in the PATH. i.e. it identifies (g++ --version) as x86_64-posix-seh-rev0. Note the toolchain specified must match your compilers and the project-config.jam file you created above. With a v7 64-bit C++ compiler use gcc-7~64, with a v8 64-bit C++ compiler use gcc-8~64. My example matches my 64-bit Qt v5.15.0 with the bundled MinGW64 v8.1.0. cd %HOME%\src\boost_1_74_0\tools\build bootstrap.bat .\b2 --prefix=C:\Tools\boost-build\MinGW64 install cd ..\.. C:\Tools\boost-build\MinGW64\bin\b2 -j8 toolset=gcc-8~64 ^ address-model=64 --build-dir=%HOME%\build\boost ^ --build-type=complete --prefix=C:\Tools\boost install If all is well you should see the following line about a 1/3 of the way through the initial configuration steps. - libbacktrace builds : yes After some time it should complete with something like: ...failed updating 108 targets... ...skipped 32 targets... ...updated 3648 targets... warnings can usually be ignored. If successful; you can release some space by cleaning the build tree: C:\Tools\boost-build\MinGW32\bin\b2 toolset=gcc-8~64 ^ address-model=64 --build-dir=%HOME%\build\boost ^ --build-type=complete clean Run-time Environment -------------------- You will need to add C:\Tools\boost\lib to your PATH environment variable in order to run installed Debug configurations of WSJT-X, or to execute build artefacts from a build tree. It is also needed for teh install target of release configuration builds. Installed Release configurations will move any required DLLs to the installation bin directory automatically. Setting up WSJT-X builds ------------------------ All that remains is to add C:\Tools\boost\ to your 32- and 64-bit build configurations CMAKE_PREFIX_PATH variables. I use tool-chain files for my WSJT-X builds on Windows, an extract from my 32-bit Debug configuration tool-chain file: # ... set (BOOSTDIR C:/Tools/boost) set (QTDIR C:/Qt/5.12.9/mingw73_32) # set (QTDIR C:/Qt/5.15.0/mingw81_32) set (FFTWDIR C:/Tools/fftw-3.3.5-dll32) set (HAMLIBDIR C:/test-install/hamlib/mingw32/debug) set (LIBUSBDIR C:/Tools/libusb-1.0.23) set (PYTHONDIR C:/Python27) set (ASCIIDOCDIR C:/Tools/asciidoc-master) # where to find required packages set (CMAKE_PREFIX_PATH ${BOOSTDIR} ${QTDIR} ${FFTWDIR} ${HAMLIBDIR} ${HAMLIBDIR}/bin ${LIBUSBDIR} ${PYTHONDIR} ${ASCIIDOCDIR}) # ...