-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fmt latest (11+) would break builds #10886
Comments
+1. My system is messed up as well. setup_macos ccache picks up v 4.10.2 https://formulae.brew.sh/formula/ccache brings fmt 11.0.2 which breaks folly
Uninstalling fmt 11 and bringing in fmt 10 fixes the folly and completes the rest of the setup, but then this breaks ccache
|
As a workaround for now - given that fmt is still in the system (from install_fmt) but the homebrew version is picked up (also is used by other depend such as folly and fbthrift - the latter executable dynamically links fmt in that was removed from homebrew). The workaround for now would be:
ccache is a wrapper around the C/C++ compilers but is not strictly necessary to build the components. It is just that nothing is cached and on I was able to use this and unblock me for now until the issue is resolved. |
I have a working fix. Will send pr today |
Summary: https://github.com/facebookincubator/velox/pull/10422/files added additional packages to be installed via brew. When the package versions are updated via brew, it can cause a build failure. See #10886 We must install or bundle fixed/supported versions to avoid this. Allow installed package headers to be picked up before brew/system package headers Add support for DEPENDENCY_DIR and INSTALL_PREFIX. Pull Request resolved: #10920 Reviewed By: kgpai Differential Revision: D62989022 Pulled By: Yuhta fbshipit-source-id: a10faa3212c32d6f9c0e301921a750e3b7142220
Problem description
Homebrew/homebrew-core#178811 upgraded
fmt
from10.2.1
to11.0.2
that introduces a breaking change:folly v2024.05.20.00
fmt::join
tofmt/ranges.h
fromfmt/format.h
since11.0.0
in fmtlib/fmt@50565f9In
velox
, there are several places using differentfmt
versions that works before, as the brew-installed version was10.2.1
:velox/scripts/setup-macos.sh
Line 38 in 5f935a7
velox/scripts/setup-macos.sh
Line 41 in 5f935a7
velox/CMakeLists.txt
Line 414 in 5f935a7
Fixing Suggestions
velox
was built successfully w/fmt 11.0.2
(installed viabrew
)FB_OS_VERSION=v2024.08.26.00
(which also requiresfast_float
installed viabrew
)install_fmt
(10.1.1
) insetup-macos.sh
Code changes to
#include <fmt/ranges.h>
due tofmt::join
usage (IWYU):Note that https://formulae.brew.sh/formula/folly shows
folly v2024.08.26.00
depends onfmt 11.0.2
(brew-installedfolly
might work on macOS 14, but not macOS 15 due to some weird linking issue). An earlier version offolly
might also works.System information
Velox System Info v0.0.2
Commit: 5f935a7
CMake Version: 3.30.2
System: Darwin-24.1.0
Arch: arm64
C++ Compiler: /opt/homebrew/opt/ccache/libexec/c++
C++ Compiler Version: 16.0.0.16000026
C Compiler: /opt/homebrew/opt/ccache/libexec/cc
C Compiler Version: 16.0.0.16000026
CMake Prefix Path: /Library/Developer/CommandLineTools/SDKs/MacOSX15.0.sdk/usr;/opt/homebrew;/usr/local;/usr;/;/opt/homebrew/Cellar/cmake/3.30.2;/usr/local;/usr/X11R6;/usr/pkg;/opt;/sw;/opt/local
CMake log
The text was updated successfully, but these errors were encountered: