velox: Build failures after upgrade to MacOS 14.4
Problem description
Seeing build failures in CLion after upgrading to MacOS 14.4.
Already tried: (1) run setup-macos.sh; (2) delete cmake-builde-debug directory.
[ 19%] Built target velox_type_signature
[ 19%] [BISON][SignatureParser] Building parser with bison 3.8.2
xcode-select: Failed to locate 'm4', requesting installation of command line developer tools.
[ 19%] [BISON][SignatureParser] Building parser with bison 3.8.2
xcode-select: Failed to locate 'm4', requesting installation of command line developer tools.
[ 19%] Building CXX object velox/expression/signature_parser/CMakeFiles/velox_signature_parser.dir/SignatureParser.yy.cc.o
clang: error: no such file or directory: '/Users/mbasmanova/cpp/velox-1/cmake-build-debug/velox/expression/signature_parser/SignatureParser.yy.cc'
clang: error: no input files
make[3]: *** [velox/expression/signature_parser/CMakeFiles/velox_signature_parser.dir/SignatureParser.yy.cc.o] Error 1
make[2]: *** [velox/expression/signature_parser/CMakeFiles/velox_signature_parser.dir/all] Error 2
make[1]: *** [velox/expression/tests/CMakeFiles/velox_expression_test.dir/rule] Error 2
make: *** [velox_expression_test] Error 2
CC: @assignUser @majetideepak @kgpai
System information
Velox System Info v0.0.2 Commit: 7e8105a0b4d762edb91c7c0853fbfcf0c6a9ffbc CMake Version: 3.28.3 System: Darwin-23.4.0 Arch: x86_64 C++ Compiler: /Library/Developer/CommandLineTools/usr/bin/c++ C++ Compiler Version: 15.0.0.15000309 C Compiler: /Library/Developer/CommandLineTools/usr/bin/cc C Compiler Version: 15.0.0.15000309 CMake Prefix Path: /Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr;/usr/local;/usr;/;/usr/local/Cellar/cmake/3.28.3;/usr/local;/usr/X11R6;/usr/pkg;/opt;/sw;/opt/local
Conda Env
# packages in environment at /usr/local/Caskroom/miniconda/base:
#
# Name Version Build Channel
brotlipy 0.7.0 py310hca72f7f_1002
bzip2 1.0.8 h1de35cc_0
ca-certificates 2023.01.10 hecd8cb5_0
certifi 2022.12.7 py310hecd8cb5_0
cffi 1.15.1 py310h6c40b1e_3
charset-normalizer 2.0.4 pyhd3eb1b0_0
chevron 0.14.0 pypi_0 pypi
conda 23.1.0 py310hecd8cb5_0
conda-content-trust 0.1.3 py310hecd8cb5_0
conda-package-handling 2.0.2 py310hecd8cb5_0
conda-package-streaming 0.7.0 py310hecd8cb5_0
cryptography 38.0.4 py310hf6deb26_0
idna 3.4 py310hecd8cb5_0
libffi 3.4.2 hecd8cb5_6
ncurses 6.4 hcec6c5f_0
openssl 1.1.1s hca72f7f_0
pip 22.3.1 py310hecd8cb5_0
pluggy 1.0.0 py310hecd8cb5_1
pycosat 0.6.4 py310hca72f7f_0
pycparser 2.21 pyhd3eb1b0_0
pyopenssl 22.0.0 pyhd3eb1b0_0
pysocks 1.7.1 py310hecd8cb5_0
python 3.10.9 h218abb5_0
python.app 3 py310hca72f7f_0
pyyaml 6.0 pypi_0 pypi
readline 8.2 hca72f7f_0
regex 2022.10.31 pypi_0 pypi
requests 2.28.1 py310hecd8cb5_0
ruamel.yaml 0.17.21 py310hca72f7f_0
ruamel.yaml.clib 0.2.6 py310hca72f7f_1
setuptools 65.6.3 py310hecd8cb5_0
six 1.16.0 pyhd3eb1b0_1
sqlite 3.40.1 h880c91c_0
tk 8.6.12 h5d9f67b_0
toolz 0.12.0 py310hecd8cb5_0
tqdm 4.64.1 py310hecd8cb5_0
tzdata 2022g h04d1e81_0
urllib3 1.26.14 py310hecd8cb5_0
wheel 0.37.1 pyhd3eb1b0_0
xz 5.2.10 h6c40b1e_1
zlib 1.2.13 h4dc903c_0
zstandard 0.18.0 py310hca72f7f_0
CMake log
/Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DTREAT_WARNINGS_AS_ERRORS=1 -DENABLE_ALL_WARNINGS=1 -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" -S /Users/mbasmanova/cpp/velox-1 -B /Users/mbasmanova/cpp/velox-1/cmake-build-debug
-- Building using CMake version: 3.24.2
-- Using Conda environment: /usr/local/Caskroom/miniconda/base
-- Build type: Debug
-- Building cpr from source
-- CXX standard: 17
-- C++ Requests CMake Options
-- =======================================================
-- CPR_GENERATE_COVERAGE: OFF
-- CPR_CURL_NOSIGNAL: OFF
-- CURL_VERBOSE_LOGGING: OFF
-- CPR_USE_SYSTEM_GTEST: OFF
-- CPR_USE_SYSTEM_CURL: OFF
-- CPR_ENABLE_CURL_HTTP_ONLY: ON
-- CPR_ENABLE_SSL: ON
-- CPR_FORCE_OPENSSL_BACKEND: OFF
-- CPR_FORCE_WINSSL_BACKEND: OFF
-- CPR_FORCE_DARWINSSL_BACKEND: OFF
-- CPR_FORCE_MBEDTLS_BACKEND: OFF
-- CPR_ENABLE_LINTING: OFF
-- CPR_ENABLE_CPPCHECK: OFF
-- CPR_BUILD_TESTS: OFF
-- CPR_BUILD_TESTS_SSL: OFF
-- CPR_BUILD_TESTS_PROXY: OFF
-- CPR_SKIP_CA_BUNDLE_SEARCH: OFF
-- CPR_USE_BOOST_FILESYSTEM: OFF
-- CPR_DEBUG_SANITIZER_FLAG_THREAD: OFF
-- CPR_DEBUG_SANITIZER_FLAG_ADDR: OFF
-- CPR_DEBUG_SANITIZER_FLAG_LEAK: OFF
-- CPR_DEBUG_SANITIZER_FLAG_UB: OFF
-- CPR_DEBUG_SANITIZER_FLAG_ALL: OFF
-- =======================================================
-- Automatically detecting SSL backend.
-- Detecting SSL backend...
-- SSL auto detect: Using DarwinSSL.
-- Configuring built-in curl...
-- Enabled curl SSL
-- curl version=[8.4.0]
-- Picky compiler options: -Wextra -Wall -pedantic -Wbad-function-cast -Wconversion -Winline -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-long-long -Wno-multichar -Wpointer-arith -Wshadow -Wsign-compare -Wundef -Wunused -Wwrite-strings -Wcast-align -Wdeclaration-after-statement -Wempty-body -Wendif-labels -Wfloat-equal -Wignored-qualifiers -Wno-format-nonliteral -Wno-sign-conversion -Wno-system-headers -Wstrict-prototypes -Wtype-limits -Wvla -Wshift-sign-overflow -Wshorten-64-to-32 -Wdouble-promotion -Wenum-conversion -Wunused-const-variable -Wcomma -Wmissing-variable-declarations -Wassign-enum -Wextra-semi-stmt
-- Could NOT find LibPSL (missing: LIBPSL_LIBRARY LIBPSL_INCLUDE_DIR)
-- Could NOT find LibSSH2 (missing: LIBSSH2_LIBRARY LIBSSH2_INCLUDE_DIR)
-- CA path only supported by OpenSSL, wolfSSL, GnuTLS or mbedTLS. Set CURL_CA_PATH=none or enable one of those TLS backends.
-- Enabled features: SSL IPv6 unixsockets AsynchDNS Largefile alt-svc HSTS HTTPS-proxy threadsafe
-- Enabled protocols: HTTP HTTPS
-- Enabled SSL backends: Secure Transport
-- Using ccache: /usr/local/bin/ccache
Setting CMAKE_CXX_FLAGS=-mavx2 -mfma -mavx -mf16c -mlzcnt -std=c++17 -mbmi2 -fvisibility=hidden -fvisibility-inlines-hidden
FINAL CMAKE_CXX_FLAGS= -mavx2 -mfma -mavx -mf16c -mlzcnt -std=c++17 -mbmi2 -fvisibility=hidden -fvisibility-inlines-hidden -D USE_VELOX_COMMON_BASE -D HAS_UNCAUGHT_EXCEPTIONS -Wall -Wextra -Wno-unused -Wno-unused-parameter -Wno-sign-compare -Wno-ignored-qualifiers -Wno-range-loop-analysis -Wno-mismatched-tags -Wno-nullability-completeness
-- Setting Boost source to AUTO
-- Found Boost: /usr/local/lib/cmake/Boost-1.84.0/BoostConfig.cmake (found suitable version "1.84.0", minimum required is "1.66.0") found components: atomic context date_time filesystem program_options regex system thread
-- Using SYSTEM Boost
-- Setting gflags source to AUTO
-- Using SYSTEM gflags
-- Setting DuckDB source to SYSTEM
-- Setting fmt source to AUTO
-- Using SYSTEM fmt
-- Setting re2 source to AUTO
-- Using SYSTEM re2
-- Setting simdjson source to AUTO
CMake Warning at CMake/ResolveDependency.cmake:70 (find_package):
By not providing "Findsimdjson.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "simdjson",
but CMake did not find one.
Could not find a package configuration file provided by "simdjson"
(requested version 3.2.0) with any of the following names:
simdjsonConfig.cmake
simdjson-config.cmake
Add the installation prefix of "simdjson" to CMAKE_PREFIX_PATH or set
"simdjson_DIR" to a directory containing one of the above files. If
"simdjson" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
CMakeLists.txt:459 (resolve_dependency)
-- Building simdjson from source
-- Adding -Og to compile flag
-- Using BUNDLED simdjson
-- Setting folly source to SYSTEM
-- Found Boost: /usr/local/lib/cmake/Boost-1.84.0/BoostConfig.cmake (found suitable version "1.84.0", minimum required is "1.51.0") found components: context filesystem program_options regex system thread
-- Found folly: /usr/local
-- Setting Protobuf source to AUTO
-- Using SYSTEM Protobuf
-- Found Bison keg installed by Homebrew at /usr/local/opt/bison
-- Found Flex keg installed by Homebrew at /usr/local/opt/flex
CMake Warning (dev) at /Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to `find_package_handle_standard_args` (GTest) does
not match the name of the calling package (gtest). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.24/Modules/Findgtest.cmake:199 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMake/ResolveDependency.cmake:70 (find_package)
CMakeLists.txt:555 (resolve_dependency)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Building gtest from source
-- Using BUNDLED gtest
CMake Warning (dev) at CMakeLists.txt:556 (set):
Cannot set "VELOX_GTEST_INCUDE_DIR": current scope has no parent.
This warning is for project developers. Use -Wno-dev to suppress it.
-- Setting xsimd source to AUTO
CMake Warning at CMake/ResolveDependency.cmake:70 (find_package):
By not providing "Findxsimd.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "xsimd", but
CMake did not find one.
Could not find a package configuration file provided by "xsimd" (requested
version 10.0.0) with any of the following names:
xsimdConfig.cmake
xsimd-config.cmake
Add the installation prefix of "xsimd" to CMAKE_PREFIX_PATH or set
"xsimd_DIR" to a directory containing one of the above files. If "xsimd"
provides a separate development package or SDK, be sure it has been
installed.
Call Stack (most recent call first):
CMakeLists.txt:562 (resolve_dependency)
-- Building xsimd from source
-- xsimd v10.0.0
-- Using BUNDLED xsimd
-- Configuring done
-- Generating done
About this issue
- Original URL
- State: closed
- Created 3 months ago
- Comments: 16 (5 by maintainers)
I hit this after upgrading my OS version to 14.4. The issue seems to be from using
/usr/bin/m4
. We must use the homebrew version/opt/homebrew/opt/m4/bin/m4
. You must add/opt/homebrew/opt/m4/bin/
as a prefix to $PATH so that the homebrew version gets picked up CLion change:https://schmonz.com/2024/04/02/pkgsrc-on-macos-still-works/ notes that the missing M4 is only a problem for the Command Line Tools
15.3.0.0.1.1708646388
, and thatm4
is shipped in full XCode 15.3 installations. So another workaround might be to install andxcode-select
a full copy of XCode.Again, thank you @majetideepak for providing a fix.
I found the same problom on M1. Maybe you can run “brew install m4”, and “ln -sf /opt/homebrew/Cellar/m4/1.4.19/bin/m4 /opt/homebrew/bin/m4” if soft link not be created.