-
Notifications
You must be signed in to change notification settings - Fork 247
Description
👋 The build currently fails on macOS (and maybe other platforms) if you have Boost 1.89 installed and try to build audiowaveform 1.10.2:
$ brew info cmake
==> cmake: stable 4.1.0 (bottled), HEAD
$ brew info boost
==> boost: stable 1.89.0 (bottled), HEAD
$ mkdir build
cd build
cmake ..
make
-- Building version 1.10.2
-- The C compiler identification is AppleClang 17.0.0.17000013
-- The CXX compiler identification is AppleClang 17.0.0.17000013
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build type not specified: default is Release
-- Build type: Release
-- CMAKE_MODULE_PATH='/Users/acj/proj/wistia/audiowaveform/cmake/modules'
-- Architecture: arm64
-- Found LibGD: /opt/homebrew/lib/libgd.dylib
-- LIBGD_INCLUDE_DIRS='/opt/homebrew/include'
-- LIBGD_LIBRARIES=/opt/homebrew/lib/libgd.dylib
-- Found LibSndFile: /opt/homebrew/lib/libsndfile.dylib
-- LIBSNDFILE_INCLUDE_DIRS='/opt/homebrew/include'
-- LIBSNDFILE_LIBRARIES=/opt/homebrew/lib/libsndfile.dylib
-- Found LibMad: /opt/homebrew/lib/libmad.dylib
-- LIBMAD_INCLUDE_DIRS='/opt/homebrew/include'
-- LIBMAD_LIBRARIES=/opt/homebrew/lib/libmad.dylib
-- Found LibId3Tag: /opt/homebrew/lib/libid3tag.dylib
-- LIBID3TAG_INCLUDE_DIRS='/opt/homebrew/include'
-- LIBID3TAG_LIBRARIES=/opt/homebrew/lib/libid3tag.dylib
CMake Error at /opt/homebrew/lib/cmake/Boost-1.89.0/BoostConfig.cmake:141 (find_package):
Could not find a package configuration file provided by "boost_system"
(requested version 1.89.0) with any of the following names:
boost_systemConfig.cmake
boost_system-config.cmake
Add the installation prefix of "boost_system" to CMAKE_PREFIX_PATH or set
"boost_system_DIR" to a directory containing one of the above files. If
"boost_system" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
/opt/homebrew/lib/cmake/Boost-1.89.0/BoostConfig.cmake:262 (boost_find_component)
CMakeLists.txt:125 (find_package)
There are several related Homebrew PRs, notably Homebrew/homebrew-core#233031 which links to various fixed formulas and points out the breaking change:
Major impacting change is Boost System becoming header-only - boostorg/system#132
For audiowaveform, the issue is here where boost's system package is required. The build succeeds on macOS and Ubuntu if I remove system, so maybe it's not needed anymore. According to this comment, system can also be marked as an optional component if you need to support older versions of boost (< 1.69). We could bump the minimum version of boost at the same time.
Happy to make a PR if you know which way you want to go. Thanks for your work on this project.