Skip to content

Mac 10.15.4: Cannot find objcopy #13597

Closed
@PatricYan

Description

@PatricYan

Operating system
Mac 10.15.4

Cmake version

$ cmake --version
cmake version 3.18.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).

Ninja version
$ Ninja --version 1.10.0

Compiler name and version

$ clang --version
Apple clang version 11.0.3 (clang-1103.0.32.59)
Target: x86_64-apple-darwin19.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
$ clang++ --version
Apple clang version 11.0.3 (clang-1103.0.32.59)
Target: x86_64-apple-darwin19.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

Full cmake and/or ninja output

$ cmake .. -DCMAKE_CXX_COMPILER=`which clang++` -DCMAKE_C_COMPILER=`which clang` -DCMAKE_BUILD_TYPE=Debug -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
-- IPO/LTO not enabled.
-- CMAKE_BUILD_TYPE: Debug
CMake Error at CMakeLists.txt:149 (message):
  Cannot find objcopy.


-- Configuring incomplete, errors occurred!
See also "~/ClickHouse-master/build/CMakeFiles/CMakeOutput.log".

$ cmake ..
-- IPO/LTO not enabled.
-- CMAKE_BUILD_TYPE: Debug
CMake Error at CMakeLists.txt:149 (message):
  Cannot find objcopy.


-- Configuring incomplete, errors occurred!
See also "/Users/mac/working/yanllearnn/ClickHouse-master/build/CMakeFiles/CMakeOutput.log".


$ cmake .. -DCMAKE_CXX_COMPILER=`which clang++` -DCMAKE_C_COMPILER=`which clang`
-- IPO/LTO not enabled.
-- CMAKE_BUILD_TYPE: Debug
CMake Error at CMakeLists.txt:149 (message):
  Cannot find objcopy.


-- Configuring incomplete, errors occurred!
See also "/Users/mac/working/yanllearnn/ClickHouse-master/build/CMakeFiles/CMakeOutput.log".

CMakeLists.txt

cmake_minimum_required(VERSION 3.3)

foreach(policy
        CMP0023
        CMP0048 # CMake 3.0
        CMP0074 # CMake 3.12
        CMP0077
        CMP0079
    )
    if(POLICY ${policy})
        cmake_policy(SET ${policy} NEW)
    endif()
endforeach()

# set default policy
foreach(default_policy_var_name
        # make option() honor normal variables for BUILD_SHARED_LIBS:
        # - re2
        # - snappy
        CMAKE_POLICY_DEFAULT_CMP0077
        # Google Test from sources uses too old cmake, 2.6.x, and CMP0022 should
        # set, to avoid using deprecated LINK_INTERFACE_LIBRARIES(_<CONFIG>)? over
        # INTERFACE_LINK_LIBRARIES.
        CMAKE_POLICY_DEFAULT_CMP0022
    )
    set(${default_policy_var_name} NEW)
endforeach()

project(ClickHouse)

include (cmake/arch.cmake)
include (cmake/target.cmake)
include (cmake/tools.cmake)
include (cmake/analysis.cmake)

# Ignore export() since we don't use it,
# but it gets broken with a global targets via link_libraries()
macro (export)
endmacro ()

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
set(CMAKE_EXPORT_COMPILE_COMMANDS 1) # Write compile_commands.json
set(CMAKE_LINK_DEPENDS_NO_SHARED 1) # Do not relink all depended targets on .so
set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Debug;Release;MinSizeRel" CACHE STRING "" FORCE)
set(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "Generate debug library name with a postfix.")    # To be consistent with CMakeLists from contrib libs.

# Enable the ability to organize targets into hierarchies of "folders" for capable GUI-based IDEs.
# For more info see https://cmake.org/cmake/help/latest/prop_gbl/USE_FOLDERS.html
set_property(GLOBAL PROPERTY USE_FOLDERS ON)

option(ENABLE_IPO "Enable full link time optimization (it's usually impractical; see also ENABLE_THINLTO)" OFF) # need cmake 3.9+
if(ENABLE_IPO)
    cmake_policy(SET CMP0069 NEW)
    include(CheckIPOSupported)
    check_ipo_supported(RESULT IPO_SUPPORTED OUTPUT IPO_NOT_SUPPORTED)
    if(IPO_SUPPORTED)
        message(STATUS "IPO/LTO is supported, enabling")
        set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
    else()
        message(STATUS "IPO/LTO is not supported: <${IPO_NOT_SUPPORTED}>")
    endif()
else()
    message(STATUS "IPO/LTO not enabled.")
endif()

# Check that submodules are present only if source was downloaded with git
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git" AND NOT EXISTS "${ClickHouse_SOURCE_DIR}/contrib/boost/boost")
    message (FATAL_ERROR "Submodules are not initialized. Run\n\tgit submodule update --init --recursive")
endif ()

include (cmake/find/ccache.cmake)

if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "None")
    set (CMAKE_BUILD_TYPE "RelWithDebInfo")
    message (STATUS "CMAKE_BUILD_TYPE is not set, set to default = ${CMAKE_BUILD_TYPE}")
endif ()
message (STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")

string (TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UC)

option (USE_STATIC_LIBRARIES "Set to FALSE to use shared libraries" ON)
option (MAKE_STATIC_LIBRARIES "Set to FALSE to make shared libraries" ${USE_STATIC_LIBRARIES})
if (NOT MAKE_STATIC_LIBRARIES)
    option (SPLIT_SHARED_LIBRARIES "DEV ONLY. Keep all internal libs as separate .so for faster linking" OFF)
    option (CLICKHOUSE_SPLIT_BINARY "Make several binaries instead one bundled (clickhouse-server, clickhouse-client, ... )" OFF)
endif ()

if (MAKE_STATIC_LIBRARIES AND SPLIT_SHARED_LIBRARIES)
    message(FATAL_ERROR "Defining SPLIT_SHARED_LIBRARIES=1 without MAKE_STATIC_LIBRARIES=0 has no effect.")
endif()

if (NOT MAKE_STATIC_LIBRARIES AND SPLIT_SHARED_LIBRARIES)
    set(BUILD_SHARED_LIBS 1 CACHE INTERNAL "")
endif ()

if (USE_STATIC_LIBRARIES)
    list(REVERSE CMAKE_FIND_LIBRARY_SUFFIXES)
endif ()

option (ENABLE_FUZZING "Enables fuzzing instrumentation" OFF)

if (ENABLE_FUZZING)
    message (STATUS "Fuzzing instrumentation enabled")
    set (WITH_COVERAGE ON)
    set (FUZZER "libfuzzer")
endif()

include (cmake/fuzzer.cmake)
include (cmake/sanitize.cmake)

if (CMAKE_GENERATOR STREQUAL "Ninja" AND NOT DISABLE_COLORED_BUILD)
    # Turn on colored output. https://github.com/ninja-build/ninja/wiki/FAQ
    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always")
    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdiagnostics-color=always")
endif ()

include (cmake/add_warning.cmake)

if (NOT MSVC)
    set (COMMON_WARNING_FLAGS "${COMMON_WARNING_FLAGS} -Wall")    # -Werror and many more is also added inside cmake/warnings.cmake
endif ()

if (COMPILER_CLANG)
    # clang: warning: argument unused during compilation: '-specs=/usr/share/dpkg/no-pie-compile.specs' [-Wunused-command-line-argument]
    set (COMMON_WARNING_FLAGS "${COMMON_WARNING_FLAGS} -Wno-unused-command-line-argument")
    # generate ranges for fast "addr2line" search
    if (NOT CMAKE_BUILD_TYPE_UC STREQUAL "RELEASE")
        set(COMPILER_FLAGS "${COMPILER_FLAGS} -gdwarf-aranges")
    endif ()
endif ()

option (ENABLE_TESTS "Enables tests" ON)

if (OS_LINUX AND NOT UNBUNDLED AND MAKE_STATIC_LIBRARIES AND NOT SPLIT_SHARED_LIBRARIES AND CMAKE_VERSION VERSION_GREATER "3.9.0")
    option (GLIBC_COMPATIBILITY "Set to TRUE to enable compatibility with older glibc libraries. Only for x86_64, Linux. Implies ENABLE_FASTMEMCPY." ON)
endif ()

if (NOT CMAKE_VERSION VERSION_GREATER "3.9.0")
    message (WARNING "CMake version must be greater than 3.9.0 for production builds.")
endif ()

# Make sure the final executable has symbols exported
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -rdynamic")

find_program (OBJCOPY_PATH NAMES "llvm-objcopy" "llvm-objcopy-10" "llvm-objcopy-9" "llvm-objcopy-8" "objcopy")
if (OBJCOPY_PATH)
    message(STATUS "Using objcopy: ${OBJCOPY_PATH}.")
else ()
    message(FATAL_ERROR "Cannot find objcopy.")
endif ()

option (ADD_GDB_INDEX_FOR_GOLD "Set to add .gdb-index to resulting binaries for gold linker. NOOP if lld is used." 0)
if (NOT CMAKE_BUILD_TYPE_UC STREQUAL "RELEASE")
    if (LINKER_NAME STREQUAL "lld")
        set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gdb-index")
        set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--gdb-index")
        message (STATUS "Adding .gdb-index via --gdb-index linker option.")
    # we use another tool for gdb-index, because gold linker removes section .debug_aranges, which used inside clickhouse stacktraces
    # http://sourceware-org.1504.n7.nabble.com/gold-No-debug-aranges-section-when-linking-with-gdb-index-td540965.html#a556932
    elseif (LINKER_NAME STREQUAL "gold" AND ADD_GDB_INDEX_FOR_GOLD)
        find_program (GDB_ADD_INDEX_EXE NAMES "gdb-add-index" DOC "Path to gdb-add-index executable")
        if (NOT GDB_ADD_INDEX_EXE)
            set (USE_GDB_ADD_INDEX 0)
            message (WARNING "Cannot add gdb index to binaries, because gold linker is used, but gdb-add-index executable not found.")
        else()
            set (USE_GDB_ADD_INDEX 1)
            message (STATUS "gdb-add-index found: ${GDB_ADD_INDEX_EXE}")
        endif()
    endif ()
endif()

cmake_host_system_information(RESULT AVAILABLE_PHYSICAL_MEMORY QUERY AVAILABLE_PHYSICAL_MEMORY) # Not available under freebsd
if(NOT AVAILABLE_PHYSICAL_MEMORY OR AVAILABLE_PHYSICAL_MEMORY GREATER 8000)
    option(COMPILER_PIPE "-pipe compiler option [less /tmp usage, more ram usage]" ON)
endif()
if(COMPILER_PIPE)
    set(COMPILER_FLAGS "${COMPILER_FLAGS} -pipe")
else()
    message(STATUS "Disabling compiler -pipe option (have only ${AVAILABLE_PHYSICAL_MEMORY} mb of memory)")
endif()

if(NOT DISABLE_CPU_OPTIMIZE)
    include(cmake/cpu_features.cmake)
endif()

option(ARCH_NATIVE "Enable -march=native compiler flag" 0)
if (ARCH_NATIVE)
    set (COMPILER_FLAGS "${COMPILER_FLAGS} -march=native")
endif ()

# cmake < 3.12 doesn't supoprt 20. We'll set CMAKE_CXX_FLAGS for now
# set (CMAKE_CXX_STANDARD 20)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++2a")
set (CMAKE_CXX_EXTENSIONS 0) # https://cmake.org/cmake/help/latest/prop_tgt/CXX_EXTENSIONS.html#prop_tgt:CXX_EXTENSIONS
set (CMAKE_CXX_STANDARD_REQUIRED ON)

if (COMPILER_GCC OR COMPILER_CLANG)
    # Enable C++14 sized global deallocation functions. It should be enabled by setting -std=c++14 but I'm not sure.
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsized-deallocation")
endif ()

option(WITH_COVERAGE "Build with coverage." 0)

if (WITH_COVERAGE AND COMPILER_CLANG)
    set(COMPILER_FLAGS "${COMPILER_FLAGS} -fprofile-instr-generate -fcoverage-mapping")
    # If we want to disable coverage for specific translation units
    set(WITHOUT_COVERAGE "-fno-profile-instr-generate -fno-coverage-mapping")
endif()

if (WITH_COVERAGE AND COMPILER_GCC)
    set(COMPILER_FLAGS "${COMPILER_FLAGS} -fprofile-arcs -ftest-coverage")
    set(COVERAGE_OPTION "-lgcov")
    set(WITHOUT_COVERAGE "-fno-profile-arcs -fno-test-coverage")
endif()

set (CMAKE_BUILD_COLOR_MAKEFILE          ON)
set (CMAKE_CXX_FLAGS                     "${CMAKE_CXX_FLAGS} ${COMPILER_FLAGS} ${PLATFORM_EXTRA_CXX_FLAG} ${COMMON_WARNING_FLAGS} ${CXX_WARNING_FLAGS}")
set (CMAKE_CXX_FLAGS_RELWITHDEBINFO      "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3 ${CMAKE_CXX_FLAGS_ADD}")
set (CMAKE_CXX_FLAGS_DEBUG               "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g3 -ggdb3 -fno-inline ${CMAKE_CXX_FLAGS_ADD}")

set (CMAKE_C_FLAGS                       "${CMAKE_C_FLAGS} ${COMPILER_FLAGS} ${COMMON_WARNING_FLAGS} ${CMAKE_C_FLAGS_ADD}")
set (CMAKE_C_FLAGS_RELWITHDEBINFO        "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O3 ${CMAKE_C_FLAGS_ADD}")
set (CMAKE_C_FLAGS_DEBUG                 "${CMAKE_C_FLAGS_DEBUG} -O0 -g3 -ggdb3 -fno-inline ${CMAKE_C_FLAGS_ADD}")

if (COMPILER_CLANG)
    if (OS_DARWIN)
        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
        set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-U,_inside_main")
    endif()

    # Display absolute paths in error messages. Otherwise KDevelop fails to navigate to correct file and opens a new file instead.
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-absolute-paths")
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdiagnostics-absolute-paths")

    option(ENABLE_THINLTO "Enable Thin LTO. Only applicable for clang. It's also suppressed when building with tests or sanitizers." ON)

    # We cannot afford to use LTO when compiling unitests, and it's not enough
    # to only supply -fno-lto at the final linking stage. So we disable it
    # completely.
    if (ENABLE_THINLTO AND NOT ENABLE_TESTS AND NOT SANITIZE)
        # Link time optimization
        set (CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -flto=thin")
        set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -flto=thin")
        set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} -flto=thin")
    endif ()

    # Always prefer llvm tools when using clang. For instance, we cannot use GNU ar when llvm LTO is enabled

    find_program (LLVM_AR_PATH NAMES "llvm-ar" "llvm-ar-10" "llvm-ar-9" "llvm-ar-8")
    if (LLVM_AR_PATH)
        message(STATUS "Using llvm-ar: ${LLVM_AR_PATH}.")
        set (CMAKE_AR ${LLVM_AR_PATH})
    else ()
        message(WARNING "Cannot find llvm-ar. System ar will be used instead. It does not work with ThinLTO.")
    endif ()

    find_program (LLVM_RANLIB_PATH NAMES "llvm-ranlib" "llvm-ranlib-10" "llvm-ranlib-9" "llvm-ranlib-8")
    if (LLVM_RANLIB_PATH)
        message(STATUS "Using llvm-ranlib: ${LLVM_RANLIB_PATH}.")
        set (CMAKE_RANLIB ${LLVM_RANLIB_PATH})
    else ()
        message(WARNING "Cannot find llvm-ranlib. System ranlib will be used instead. It does not work with ThinLTO.")
    endif ()
endif ()

option (ENABLE_LIBRARIES "Enable all libraries (Global default switch)" ON)

option (UNBUNDLED "Try find all libraries in system. We recommend to avoid this mode for production builds, because we cannot guarantee exact versions and variants of libraries your system has installed. This mode exists for enthusiastic developers who search for trouble. Also it is useful for maintainers of OS packages." OFF)
if (UNBUNDLED)
    set(NOT_UNBUNDLED 0)
else ()
    set(NOT_UNBUNDLED 1)
endif ()

if (UNBUNDLED OR NOT (OS_LINUX OR OS_DARWIN))
    # Using system libs can cause a lot of warnings in includes (on macro expansion).
    option (WERROR "Enable -Werror compiler option" OFF)
else ()
    option (WERROR "Enable -Werror compiler option" ON)
endif ()

if (WERROR)
    add_warning(error)
endif ()

# Make this extra-checks for correct library dependencies.
if (OS_LINUX AND NOT SANITIZE)
    set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-undefined")
    set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
endif ()

include(cmake/dbms_glob_sources.cmake)

if (OS_LINUX OR OS_ANDROID)
    include(cmake/linux/default_libs.cmake)
elseif (OS_DARWIN)
    include(cmake/darwin/default_libs.cmake)
elseif (OS_FREEBSD)
    include(cmake/freebsd/default_libs.cmake)
endif ()

######################################
### Add targets below this comment ###
######################################

set (CMAKE_POSTFIX_VARIABLE "CMAKE_${CMAKE_BUILD_TYPE_UC}_POSTFIX")

if (MAKE_STATIC_LIBRARIES)
    set (CMAKE_POSITION_INDEPENDENT_CODE OFF)
    if (OS_LINUX AND NOT ARCH_ARM)
        # Slightly more efficient code can be generated
        # It's disabled for ARM because otherwise ClickHouse cannot run on Android.
        set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -fno-pie")
        set (CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -fno-pie")
        set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-no-pie")
    endif ()
else ()
    set (CMAKE_POSITION_INDEPENDENT_CODE ON)
endif ()

# Using "include-what-you-use" tool.
option (USE_INCLUDE_WHAT_YOU_USE "Use 'include-what-you-use' tool" OFF)
if (USE_INCLUDE_WHAT_YOU_USE)
    find_program(IWYU_PATH NAMES include-what-you-use iwyu)
    if (NOT IWYU_PATH)
        message(FATAL_ERROR "Could not find the program include-what-you-use")
    endif()
    if (${CMAKE_VERSION} VERSION_LESS "3.3.0")
        message(FATAL_ERROR "include-what-you-use requires CMake version at least 3.3.")
    endif()
endif ()

if (ENABLE_TESTS)
    message (STATUS "Tests are enabled")
endif ()
enable_testing() # Enable for tests without binary

# when installing to /usr - place configs to /etc but for /usr/local place to /usr/local/etc
if (CMAKE_INSTALL_PREFIX STREQUAL "/usr")
    set (CLICKHOUSE_ETC_DIR "/etc")
else ()
    set (CLICKHOUSE_ETC_DIR "${CMAKE_INSTALL_PREFIX}/etc")
endif ()

message (STATUS "Building for: ${CMAKE_SYSTEM} ${CMAKE_SYSTEM_PROCESSOR} ${CMAKE_LIBRARY_ARCHITECTURE} ; USE_STATIC_LIBRARIES=${USE_STATIC_LIBRARIES} MAKE_STATIC_LIBRARIES=${MAKE_STATIC_LIBRARIES} SPLIT_SHARED=${SPLIT_SHARED_LIBRARIES} UNBUNDLED=${UNBUNDLED} CCACHE=${CCACHE_FOUND} ${CCACHE_VERSION}")

include (GNUInstallDirs)
include (cmake/contrib_finder.cmake)

find_contrib_lib(double-conversion) # Must be before parquet
include (cmake/find/ssl.cmake)
include (cmake/find/ldap.cmake) # after ssl
include (cmake/find/icu.cmake)
include (cmake/find/zlib.cmake)
include (cmake/find/zstd.cmake)
include (cmake/find/ltdl.cmake) # for odbc
include (cmake/find/termcap.cmake)
# openssl, zlib before poco
include (cmake/find/sparsehash.cmake)
include (cmake/find/re2.cmake)
include (cmake/find/libgsasl.cmake)
include (cmake/find/rdkafka.cmake)
include (cmake/find/amqpcpp.cmake)
include (cmake/find/capnp.cmake)
include (cmake/find/llvm.cmake)
include (cmake/find/opencl.cmake)
include (cmake/find/h3.cmake)
include (cmake/find/libxml2.cmake)
include (cmake/find/brotli.cmake)
include (cmake/find/protobuf.cmake)
include (cmake/find/grpc.cmake)
include (cmake/find/pdqsort.cmake)
include (cmake/find/hdfs3.cmake) # uses protobuf
include (cmake/find/s3.cmake)
include (cmake/find/base64.cmake)
include (cmake/find/parquet.cmake)
include (cmake/find/simdjson.cmake)
include (cmake/find/rapidjson.cmake)
include (cmake/find/fastops.cmake)
include (cmake/find/orc.cmake)
include (cmake/find/avro.cmake)
include (cmake/find/msgpack.cmake)
include (cmake/find/cassandra.cmake)
include (cmake/find/sentry.cmake)
include (cmake/find/stats.cmake)

find_contrib_lib(cityhash)
find_contrib_lib(farmhash)
find_contrib_lib(btrie)

if (ENABLE_TESTS)
    include (cmake/find/gtest.cmake)
endif ()

# Need to process before "contrib" dir:
include (cmake/find/mysqlclient.cmake)

# When testing for memory leaks with Valgrind, don't link tcmalloc or jemalloc.

if (USE_OPENCL)
    if (OS_DARWIN)
        set(OPENCL_LINKER_FLAGS "-framework OpenCL")
        set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OPENCL_LINKER_FLAGS}")
    endif ()
endif ()

include (cmake/print_flags.cmake)

if (TARGET global-group)
    install (EXPORT global DESTINATION cmake)
endif ()

add_subdirectory (contrib EXCLUDE_FROM_ALL)

if (NOT ENABLE_JEMALLOC)
    message (WARNING "Non default allocator is disabled. This is not recommended for production builds.")
endif ()

macro (add_executable target)
    # invoke built-in add_executable
    # explicitly acquire and interpose malloc symbols by clickhouse_malloc
    _add_executable (${ARGV} $<TARGET_OBJECTS:clickhouse_malloc>)
    get_target_property (type ${target} TYPE)
    if (${type} STREQUAL EXECUTABLE)
        # operator::new/delete for executables (MemoryTracker stuff)
        target_link_libraries (${target} PRIVATE clickhouse_new_delete ${MALLOC_LIBRARIES})
    endif()
endmacro()

set(ConfigIncludePath ${CMAKE_CURRENT_BINARY_DIR}/includes/configs CACHE INTERNAL "Path to generated configuration files.")
include_directories(${ConfigIncludePath})

# Add as many warnings as possible for our own code.
include (cmake/warnings.cmake)

add_subdirectory (base)
add_subdirectory (programs)
add_subdirectory (src)
add_subdirectory (tests)
add_subdirectory (utils)

include (cmake/print_include_directories.cmake)

include (cmake/sanitize_target_link_libraries.cmake)

~/ClickHouse-master/build/CMakeFiles/CMakeOutput.log file content is below

The system is: Darwin - 19.4.0 - x86_64
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
Compiler: /usr/bin/clang 
Build flags: 
Id flags:  

The output was:
0


Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"

The C compiler identification is AppleClang, found in "/Users/mac/working/yanllearnn/ClickHouse-master/build/CMakeFiles/3.18.0/CompilerIdC/a.out"

Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
Compiler: /usr/bin/clang++ 
Build flags: 
Id flags:  

The output was:
0


Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"

The CXX compiler identification is AppleClang, found in "/Users/mac/working/yanllearnn/ClickHouse-master/build/CMakeFiles/3.18.0/CompilerIdCXX/a.out"

Detecting C compiler ABI info compiled with the following output:
Change Dir: /Users/mac/working/yanllearnn/ClickHouse-master/build/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/local/bin/ninja cmTC_8c3b1 && [1/2] Building C object CMakeFiles/cmTC_8c3b1.dir/CMakeCCompilerABI.c.o
Apple clang version 11.0.3 (clang-1103.0.32.59)
Target: x86_64-apple-darwin19.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
clang: warning: -Wl,-v: 'linker' input unused [-Wunused-command-line-argument]
 "/Library/Developer/CommandLineTools/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.15.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name CMakeCCompilerABI.c -mrelocation-model pic -pic-level 2 -mthread-model posix -mframe-pointer=all -fno-strict-return -masm-verbose -munwind-tables -target-sdk-version=10.15.4 -target-cpu penryn -dwarf-column-info -debugger-tuning=lldb -target-linker-version 556.6 -v -coverage-notes-file /Users/mac/working/yanllearnn/ClickHouse-master/build/CMakeFiles/CMakeTmp/CMakeFiles/cmTC_8c3b1.dir/CMakeCCompilerABI.c.gcno -resource-dir /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3 -dependency-file CMakeFiles/cmTC_8c3b1.dir/CMakeCCompilerABI.c.o.d -skip-unused-modulemap-deps -sys-header-deps -MT CMakeFiles/cmTC_8c3b1.dir/CMakeCCompilerABI.c.o -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -internal-isystem /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/local/include -internal-isystem /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include -internal-externc-isystem /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -internal-externc-isystem /Library/Developer/CommandLineTools/usr/include -Wno-objc-signed-char-bool-implicit-int-conversion -Wno-extra-semi-stmt -Wno-quoted-include-in-framework-header -fdebug-compilation-dir /Users/mac/working/yanllearnn/ClickHouse-master/build/CMakeFiles/CMakeTmp -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -fstack-check -mdarwin-stkchk-strong-link -fblocks -fencode-extended-block-signature -fregister-global-dtors-with-atexit -fobjc-runtime=macosx-10.15.0 -fmax-type-align=16 -fdiagnostics-show-option -o CMakeFiles/cmTC_8c3b1.dir/CMakeCCompilerABI.c.o -x c /usr/local/Cellar/cmake/3.18.0/share/cmake/Modules/CMakeCCompilerABI.c
clang -cc1 version 11.0.3 (clang-1103.0.32.59) default target x86_64-apple-darwin19.4.0
ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/local/include"
ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/Library/Frameworks"
#include "..." search starts here:
#include <...> search starts here:
 /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include
 /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include
 /Library/Developer/CommandLineTools/usr/include
 /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks (framework directory)
End of search list.
[2/2] Linking C executable cmTC_8c3b1
Apple clang version 11.0.3 (clang-1103.0.32.59)
Target: x86_64-apple-darwin19.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
 "/Library/Developer/CommandLineTools/usr/bin/ld" -demangle -lto_library /Library/Developer/CommandLineTools/usr/lib/libLTO.dylib -dynamic -arch x86_64 -platform_version macos 10.15.0 10.15.4 -syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -o cmTC_8c3b1 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_8c3b1.dir/CMakeCCompilerABI.c.o -lSystem /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/lib/darwin/libclang_rt.osx.a
@(#)PROGRAM:ld  PROJECT:ld64-556.6
BUILD 13:10:29 Apr  7 2020
configured to support archs: armv6 armv7 armv7s arm64 arm64e arm64_32 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em
Library search paths:
	/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib
Framework search paths:
	/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/



Parsed C implicit include dir info from above output: rv=done
  found start of include info
  found start of implicit include info
    add: [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include]
    add: [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include]
    add: [/Library/Developer/CommandLineTools/usr/include]
  end of search list found
  collapse include dir [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include] ==> [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include]
  collapse include dir [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include] ==> [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include]
  collapse include dir [/Library/Developer/CommandLineTools/usr/include] ==> [/Library/Developer/CommandLineTools/usr/include]
  implicit include dirs: [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include;/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include;/Library/Developer/CommandLineTools/usr/include]


Parsed C implicit link information from above output:
  link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
  ignore line: [Change Dir: /Users/mac/working/yanllearnn/ClickHouse-master/build/CMakeFiles/CMakeTmp]
  ignore line: []
  ignore line: [Run Build Command(s):/usr/local/bin/ninja cmTC_8c3b1 && [1/2] Building C object CMakeFiles/cmTC_8c3b1.dir/CMakeCCompilerABI.c.o]
  ignore line: [Apple clang version 11.0.3 (clang-1103.0.32.59)]
  ignore line: [Target: x86_64-apple-darwin19.4.0]
  ignore line: [Thread model: posix]
  ignore line: [InstalledDir: /Library/Developer/CommandLineTools/usr/bin]
  ignore line: [clang: warning: -Wl -v: 'linker' input unused [-Wunused-command-line-argument]]
  ignore line: [ "/Library/Developer/CommandLineTools/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.15.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name CMakeCCompilerABI.c -mrelocation-model pic -pic-level 2 -mthread-model posix -mframe-pointer=all -fno-strict-return -masm-verbose -munwind-tables -target-sdk-version=10.15.4 -target-cpu penryn -dwarf-column-info -debugger-tuning=lldb -target-linker-version 556.6 -v -coverage-notes-file /Users/mac/working/yanllearnn/ClickHouse-master/build/CMakeFiles/CMakeTmp/CMakeFiles/cmTC_8c3b1.dir/CMakeCCompilerABI.c.gcno -resource-dir /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3 -dependency-file CMakeFiles/cmTC_8c3b1.dir/CMakeCCompilerABI.c.o.d -skip-unused-modulemap-deps -sys-header-deps -MT CMakeFiles/cmTC_8c3b1.dir/CMakeCCompilerABI.c.o -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -internal-isystem /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/local/include -internal-isystem /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include -internal-externc-isystem /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -internal-externc-isystem /Library/Developer/CommandLineTools/usr/include -Wno-objc-signed-char-bool-implicit-int-conversion -Wno-extra-semi-stmt -Wno-quoted-include-in-framework-header -fdebug-compilation-dir /Users/mac/working/yanllearnn/ClickHouse-master/build/CMakeFiles/CMakeTmp -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -fstack-check -mdarwin-stkchk-strong-link -fblocks -fencode-extended-block-signature -fregister-global-dtors-with-atexit -fobjc-runtime=macosx-10.15.0 -fmax-type-align=16 -fdiagnostics-show-option -o CMakeFiles/cmTC_8c3b1.dir/CMakeCCompilerABI.c.o -x c /usr/local/Cellar/cmake/3.18.0/share/cmake/Modules/CMakeCCompilerABI.c]
  ignore line: [clang -cc1 version 11.0.3 (clang-1103.0.32.59) default target x86_64-apple-darwin19.4.0]
  ignore line: [ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/local/include"]
  ignore line: [ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/Library/Frameworks"]
  ignore line: [#include "..." search starts here:]
  ignore line: [#include <...> search starts here:]
  ignore line: [ /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include]
  ignore line: [ /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include]
  ignore line: [ /Library/Developer/CommandLineTools/usr/include]
  ignore line: [ /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks (framework directory)]
  ignore line: [End of search list.]
  ignore line: [[2/2] Linking C executable cmTC_8c3b1]
  ignore line: [Apple clang version 11.0.3 (clang-1103.0.32.59)]
  ignore line: [Target: x86_64-apple-darwin19.4.0]
  ignore line: [Thread model: posix]
  ignore line: [InstalledDir: /Library/Developer/CommandLineTools/usr/bin]
  link line: [ "/Library/Developer/CommandLineTools/usr/bin/ld" -demangle -lto_library /Library/Developer/CommandLineTools/usr/lib/libLTO.dylib -dynamic -arch x86_64 -platform_version macos 10.15.0 10.15.4 -syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -o cmTC_8c3b1 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_8c3b1.dir/CMakeCCompilerABI.c.o -lSystem /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/lib/darwin/libclang_rt.osx.a]
    arg [/Library/Developer/CommandLineTools/usr/bin/ld] ==> ignore
    arg [-demangle] ==> ignore
    arg [-lto_library] ==> ignore, skip following value
    arg [/Library/Developer/CommandLineTools/usr/lib/libLTO.dylib] ==> skip value of -lto_library
    arg [-dynamic] ==> ignore
    arg [-arch] ==> ignore
    arg [x86_64] ==> ignore
    arg [-platform_version] ==> ignore
    arg [macos] ==> ignore
    arg [10.15.0] ==> ignore
    arg [10.15.4] ==> ignore
    arg [-syslibroot] ==> ignore
    arg [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk] ==> ignore
    arg [-o] ==> ignore
    arg [cmTC_8c3b1] ==> ignore
    arg [-search_paths_first] ==> ignore
    arg [-headerpad_max_install_names] ==> ignore
    arg [-v] ==> ignore
    arg [CMakeFiles/cmTC_8c3b1.dir/CMakeCCompilerABI.c.o] ==> ignore
    arg [-lSystem] ==> lib [System]
    arg [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/lib/darwin/libclang_rt.osx.a] ==> lib [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/lib/darwin/libclang_rt.osx.a]
  Library search paths: [;/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib]
  Framework search paths: [;/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/]
  remove lib [System]
  remove lib [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/lib/darwin/libclang_rt.osx.a]
  collapse library dir [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib] ==> [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib]
  collapse framework dir [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/] ==> [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks]
  implicit libs: []
  implicit dirs: [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib]
  implicit fwks: [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks]


Detecting CXX compiler ABI info compiled with the following output:
Change Dir: /Users/mac/working/yanllearnn/ClickHouse-master/build/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/local/bin/ninja cmTC_fce3c && [1/2] Building CXX object CMakeFiles/cmTC_fce3c.dir/CMakeCXXCompilerABI.cpp.o
Apple clang version 11.0.3 (clang-1103.0.32.59)
Target: x86_64-apple-darwin19.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
clang: warning: -Wl,-v: 'linker' input unused [-Wunused-command-line-argument]
 "/Library/Developer/CommandLineTools/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.15.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name CMakeCXXCompilerABI.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -mframe-pointer=all -fno-strict-return -masm-verbose -munwind-tables -target-sdk-version=10.15.4 -target-cpu penryn -dwarf-column-info -debugger-tuning=lldb -target-linker-version 556.6 -v -coverage-notes-file /Users/mac/working/yanllearnn/ClickHouse-master/build/CMakeFiles/CMakeTmp/CMakeFiles/cmTC_fce3c.dir/CMakeCXXCompilerABI.cpp.gcno -resource-dir /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3 -dependency-file CMakeFiles/cmTC_fce3c.dir/CMakeCXXCompilerABI.cpp.o.d -skip-unused-modulemap-deps -sys-header-deps -MT CMakeFiles/cmTC_fce3c.dir/CMakeCXXCompilerABI.cpp.o -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -stdlib=libc++ -internal-isystem /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1 -internal-isystem /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/c++/v1 -internal-isystem /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/local/include -internal-isystem /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include -internal-externc-isystem /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -internal-externc-isystem /Library/Developer/CommandLineTools/usr/include -Wno-objc-signed-char-bool-implicit-int-conversion -Wno-extra-semi-stmt -Wno-quoted-include-in-framework-header -fdeprecated-macro -fdebug-compilation-dir /Users/mac/working/yanllearnn/ClickHouse-master/build/CMakeFiles/CMakeTmp -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -fstack-check -mdarwin-stkchk-strong-link -fblocks -fencode-extended-block-signature -fregister-global-dtors-with-atexit -fobjc-runtime=macosx-10.15.0 -fcxx-exceptions -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -o CMakeFiles/cmTC_fce3c.dir/CMakeCXXCompilerABI.cpp.o -x c++ /usr/local/Cellar/cmake/3.18.0/share/cmake/Modules/CMakeCXXCompilerABI.cpp
clang -cc1 version 11.0.3 (clang-1103.0.32.59) default target x86_64-apple-darwin19.4.0
ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/c++/v1"
ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/local/include"
ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/Library/Frameworks"
#include "..." search starts here:
#include <...> search starts here:
 /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1
 /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include
 /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include
 /Library/Developer/CommandLineTools/usr/include
 /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks (framework directory)
End of search list.
[2/2] Linking CXX executable cmTC_fce3c
Apple clang version 11.0.3 (clang-1103.0.32.59)
Target: x86_64-apple-darwin19.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
 "/Library/Developer/CommandLineTools/usr/bin/ld" -demangle -lto_library /Library/Developer/CommandLineTools/usr/lib/libLTO.dylib -dynamic -arch x86_64 -platform_version macos 10.15.0 10.15.4 -syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -o cmTC_fce3c -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_fce3c.dir/CMakeCXXCompilerABI.cpp.o -lc++ -lSystem /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/lib/darwin/libclang_rt.osx.a
@(#)PROGRAM:ld  PROJECT:ld64-556.6
BUILD 13:10:29 Apr  7 2020
configured to support archs: armv6 armv7 armv7s arm64 arm64e arm64_32 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em
Library search paths:
	/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib
Framework search paths:
	/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/



Parsed CXX implicit include dir info from above output: rv=done
  found start of include info
  found start of implicit include info
    add: [/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1]
    add: [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include]
    add: [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include]
    add: [/Library/Developer/CommandLineTools/usr/include]
  end of search list found
  collapse include dir [/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1] ==> [/Library/Developer/CommandLineTools/usr/include/c++/v1]
  collapse include dir [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include] ==> [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include]
  collapse include dir [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include] ==> [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include]
  collapse include dir [/Library/Developer/CommandLineTools/usr/include] ==> [/Library/Developer/CommandLineTools/usr/include]
  implicit include dirs: [/Library/Developer/CommandLineTools/usr/include/c++/v1;/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include;/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include;/Library/Developer/CommandLineTools/usr/include]


Parsed CXX implicit link information from above output:
  link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
  ignore line: [Change Dir: /Users/mac/working/yanllearnn/ClickHouse-master/build/CMakeFiles/CMakeTmp]
  ignore line: []
  ignore line: [Run Build Command(s):/usr/local/bin/ninja cmTC_fce3c && [1/2] Building CXX object CMakeFiles/cmTC_fce3c.dir/CMakeCXXCompilerABI.cpp.o]
  ignore line: [Apple clang version 11.0.3 (clang-1103.0.32.59)]
  ignore line: [Target: x86_64-apple-darwin19.4.0]
  ignore line: [Thread model: posix]
  ignore line: [InstalledDir: /Library/Developer/CommandLineTools/usr/bin]
  ignore line: [clang: warning: -Wl -v: 'linker' input unused [-Wunused-command-line-argument]]
  ignore line: [ "/Library/Developer/CommandLineTools/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.15.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name CMakeCXXCompilerABI.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -mframe-pointer=all -fno-strict-return -masm-verbose -munwind-tables -target-sdk-version=10.15.4 -target-cpu penryn -dwarf-column-info -debugger-tuning=lldb -target-linker-version 556.6 -v -coverage-notes-file /Users/mac/working/yanllearnn/ClickHouse-master/build/CMakeFiles/CMakeTmp/CMakeFiles/cmTC_fce3c.dir/CMakeCXXCompilerABI.cpp.gcno -resource-dir /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3 -dependency-file CMakeFiles/cmTC_fce3c.dir/CMakeCXXCompilerABI.cpp.o.d -skip-unused-modulemap-deps -sys-header-deps -MT CMakeFiles/cmTC_fce3c.dir/CMakeCXXCompilerABI.cpp.o -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -stdlib=libc++ -internal-isystem /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1 -internal-isystem /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/c++/v1 -internal-isystem /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/local/include -internal-isystem /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include -internal-externc-isystem /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -internal-externc-isystem /Library/Developer/CommandLineTools/usr/include -Wno-objc-signed-char-bool-implicit-int-conversion -Wno-extra-semi-stmt -Wno-quoted-include-in-framework-header -fdeprecated-macro -fdebug-compilation-dir /Users/mac/working/yanllearnn/ClickHouse-master/build/CMakeFiles/CMakeTmp -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -fstack-check -mdarwin-stkchk-strong-link -fblocks -fencode-extended-block-signature -fregister-global-dtors-with-atexit -fobjc-runtime=macosx-10.15.0 -fcxx-exceptions -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -o CMakeFiles/cmTC_fce3c.dir/CMakeCXXCompilerABI.cpp.o -x c++ /usr/local/Cellar/cmake/3.18.0/share/cmake/Modules/CMakeCXXCompilerABI.cpp]
  ignore line: [clang -cc1 version 11.0.3 (clang-1103.0.32.59) default target x86_64-apple-darwin19.4.0]
  ignore line: [ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/c++/v1"]
  ignore line: [ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/local/include"]
  ignore line: [ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/Library/Frameworks"]
  ignore line: [#include "..." search starts here:]
  ignore line: [#include <...> search starts here:]
  ignore line: [ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1]
  ignore line: [ /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include]
  ignore line: [ /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include]
  ignore line: [ /Library/Developer/CommandLineTools/usr/include]
  ignore line: [ /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks (framework directory)]
  ignore line: [End of search list.]
  ignore line: [[2/2] Linking CXX executable cmTC_fce3c]
  ignore line: [Apple clang version 11.0.3 (clang-1103.0.32.59)]
  ignore line: [Target: x86_64-apple-darwin19.4.0]
  ignore line: [Thread model: posix]
  ignore line: [InstalledDir: /Library/Developer/CommandLineTools/usr/bin]
  link line: [ "/Library/Developer/CommandLineTools/usr/bin/ld" -demangle -lto_library /Library/Developer/CommandLineTools/usr/lib/libLTO.dylib -dynamic -arch x86_64 -platform_version macos 10.15.0 10.15.4 -syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -o cmTC_fce3c -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_fce3c.dir/CMakeCXXCompilerABI.cpp.o -lc++ -lSystem /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/lib/darwin/libclang_rt.osx.a]
    arg [/Library/Developer/CommandLineTools/usr/bin/ld] ==> ignore
    arg [-demangle] ==> ignore
    arg [-lto_library] ==> ignore, skip following value
    arg [/Library/Developer/CommandLineTools/usr/lib/libLTO.dylib] ==> skip value of -lto_library
    arg [-dynamic] ==> ignore
    arg [-arch] ==> ignore
    arg [x86_64] ==> ignore
    arg [-platform_version] ==> ignore
    arg [macos] ==> ignore
    arg [10.15.0] ==> ignore
    arg [10.15.4] ==> ignore
    arg [-syslibroot] ==> ignore
    arg [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk] ==> ignore
    arg [-o] ==> ignore
    arg [cmTC_fce3c] ==> ignore
    arg [-search_paths_first] ==> ignore
    arg [-headerpad_max_install_names] ==> ignore
    arg [-v] ==> ignore
    arg [CMakeFiles/cmTC_fce3c.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
    arg [-lc++] ==> lib [c++]
    arg [-lSystem] ==> lib [System]
    arg [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/lib/darwin/libclang_rt.osx.a] ==> lib [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/lib/darwin/libclang_rt.osx.a]
  Library search paths: [;/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib]
  Framework search paths: [;/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/]
  remove lib [System]
  remove lib [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/lib/darwin/libclang_rt.osx.a]
  collapse library dir [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib] ==> [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib]
  collapse framework dir [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/] ==> [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks]
  implicit libs: [c++]
  implicit dirs: [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib]
  implicit fwks: [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks]

Activity

zhang2014

zhang2014 commented on Aug 11, 2020

@zhang2014
Contributor

Maybe help you:
brew install binutils

PatricYan

PatricYan commented on Aug 11, 2020

@PatricYan
Author

Maybe help you:
brew install binutils

No, it doesn't work. The error is same as before

PatricYan

PatricYan commented on Aug 13, 2020

@PatricYan
Author

Can you give a list about the basic tool and libs that need to install

BohuTANG

BohuTANG commented on Aug 13, 2020

@BohuTANG
Contributor

You can try

mdfind -name objcopy

to locate the objcopy whereis

PatricYan

PatricYan commented on Aug 13, 2020

@PatricYan
Author

You can try

mdfind -name objcopy

to locate the objcopy whereis

Thanks, find the object, and then what need be done? can you give the steps?

$ mdfind -name objcopy
/usr/local/Cellar/binutils/2.35/share/man/man1/objcopy.1
/usr/local/Cellar/binutils/2.35/x86_64-apple-darwin19.5.0/bin/objcopy
/usr/local/Cellar/binutils/2.35/bin/objcopy
PatricYan

PatricYan commented on Aug 13, 2020

@PatricYan
Author

I have changed the CMakeLists.txt line 149, see below

origin:  find_program (OBJCOPY_PATH NAMES "llvm-objcopy" "llvm-objcopy-10" "llvm-objcopy-9" "llvm-objcopy-8" "objcopy")

changed: find_program (OBJCOPY_PATH NAMES "llvm-objcopy" "llvm-objcopy-10" "llvm-objcopy-9" "llvm-objcopy-8" "objcopy" PATHS "/usr/local/Cellar/binutils/2.35/bin/")

Now, there have some new errors, can you help me? and give a list of libs and tools or available steps?


cmake .. -DCMAKE_CXX_COMPILER=`which clang++` -DCMAKE_C_COMPILER=`which clang` -DCMAKE_BUILD_TYPE=Debug
-- IPO/LTO not enabled.
-- CMAKE_BUILD_TYPE: Debug
-- Using objcopy: /usr/local/Cellar/binutils/2.35/bin/objcopy.
-- Disabling compiler -pipe option (have only 5745 mb of memory)
CMake Warning at CMakeLists.txt:254 (message):
  Cannot find llvm-ar.  System ar will be used instead.  It does not work
  with ThinLTO.


CMake Warning at CMakeLists.txt:262 (message):
  Cannot find llvm-ranlib.  System ranlib will be used instead.  It does not
  work with ThinLTO.


-- Default libraries: -nodefaultlibs  -lc -lm -lpthread -ldl
CMake Warning at cmake/find/cxx.cmake:4 (message):
  submodule contrib/libcxx is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  cmake/darwin/default_libs.cmake:32 (include)
  CMakeLists.txt:297 (include)


-- Using libcxx: /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libc++.tbd
-- Using libcxxfs: LIBCXXFS_LIBRARY-NOTFOUND
-- Using libcxxabi: /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libc++abi.tbd
-- Tests are enabled
-- Building for: Darwin-19.4.0 x86_64  ; USE_STATIC_LIBRARIES=ON MAKE_STATIC_LIBRARIES=ON SPLIT_SHARED= UNBUNDLED=OFF CCACHE=CCACHE_FOUND-NOTFOUND 
-- Using double-conversion:  : double-conversion
CMake Warning at cmake/find/ssl.cmake:9 (message):
  submodule contrib/openssl is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:351 (include)


CMake Warning at cmake/find/ssl.cmake:22 (message):
  Disable USE_STATIC_LIBRARIES if you have linking problems with OpenSSL on
  MacOS
Call Stack (most recent call first):
  CMakeLists.txt:351 (include)


-- Using ssl=1: /usr/local/opt/openssl/include : /usr/local/opt/openssl/lib/libssl.a;/usr/local/opt/openssl/lib/libcrypto.a
CMake Warning at cmake/find/ldap.cmake:8 (message):
  Submodule contrib/openldap is missing.  To fix try running:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:352 (include)


CMake Warning at cmake/find/ldap.cmake:20 (message):
  Unable to use external static OpenLDAP libraries, falling back to the
  bundled version.
Call Stack (most recent call first):
  CMakeLists.txt:352 (include)


-- Using ldap=:  : 
-- Build without ICU (support for collations and charset conversion functions will be disabled)
CMake Warning at cmake/find/zlib.cmake:14 (message):
  submodule contrib/zlib-ng is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:354 (include)


-- Using zlib-ng: /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include : /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libz.tbd
CMake Warning at cmake/find/zstd.cmake:5 (message):
  submodule contrib/zstd is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:355 (include)


-- Using zstd: ZSTD_INCLUDE_DIR-NOTFOUND : ZSTD_LIBRARY-NOTFOUND
-- Using termcap: /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libncurses.tbd
-- Using sparsehash: ~/ClickHouse-master/contrib/sparsehash-c11
CMake Warning at cmake/find/re2.cmake:5 (message):
  submodule contrib/re2 is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:360 (include)


-- Using re2: RE2_INCLUDE_DIR-NOTFOUND : RE2_LIBRARY-NOTFOUND;  : 
CMake Warning at cmake/find/libgsasl.cmake:9 (message):
  submodule contrib/libgsasl is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:361 (include)


-- Using libgsasl=: LIBGSASL_INCLUDE_DIR-NOTFOUND : LIBGSASL_LIBRARY-NOTFOUND
CMake Warning at cmake/find/rdkafka.cmake:7 (message):
  submodule contrib/cppkafka is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:362 (include)


-- Using librdkafka=:  :  
CMake Warning at cmake/find/amqpcpp.cmake:4 (message):
  submodule contrib/AMQP-CPP is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:363 (include)


-- Using AMQP-CPP=:  : 
CMake Warning at cmake/find/capnp.cmake:9 (message):
  submodule contrib/capnproto is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:364 (include)


-- Using capnp=: CAPNPC-NOTFOUND;CAPNP-NOTFOUND;KJ-NOTFOUND
-- Using opencl=:  : 
CMake Warning at cmake/find/h3.cmake:8 (message):
  submodule contrib/h3 is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:367 (include)


-- Using h3=:  : 
CMake Warning at cmake/find/libxml2.cmake:5 (message):
  submodule contrib/libxml2 is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:368 (include)


-- Using libxml2: /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/libxml2 : /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libxml2.tbd
CMake Warning at cmake/find/brotli.cmake:9 (message):
  submodule contrib/brotli is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:369 (include)


-- Using brotli=: BROTLI_INCLUDE_DIR-NOTFOUND : 
CMake Warning at cmake/find/protobuf.cmake:9 (message):
  submodule contrib/protobuf is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:370 (include)


-- Using protobuf=1: /usr/local/include : /usr/local/lib/libprotobuf.a : /usr/local/bin/protoc
CMake Warning at cmake/find/grpc.cmake:8 (message):
  submodule contrib/grpc is missing.  To fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:371 (include)


-- Using gRPC=:  : 
-- Using pdqsort: ~/ClickHouse-master/contrib/pdqsort
-- Using hdfs3=:  : 
-- Using aws_s3=:  : 
CMake Warning at cmake/find/base64.cmake:3 (message):
  submodule contrib/base64 is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:375 (include)


CMake Warning at cmake/find/parquet.cmake:13 (message):
  submodule contrib/arrow (required for Parquet) is missing.  to fix try run:


   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:376 (include)


CMake Warning (dev) at /usr/local/Cellar/cmake/3.18.0/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (Arrow).  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):
  /usr/local/Cellar/cmake/3.18.0/share/cmake/Modules/FindPkgConfig.cmake:59 (find_package_handle_standard_args)
  cmake/Modules/FindArrow.cmake:29 (include)
  cmake/find/parquet.cmake:20 (find_package)
  CMakeLists.txt:376 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) 
-- Could not find the Arrow library. Looked for headers in , and for libs in 
CMake Warning (dev) at /usr/local/Cellar/cmake/3.18.0/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (Parquet).  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):
  /usr/local/Cellar/cmake/3.18.0/share/cmake/Modules/FindPkgConfig.cmake:59 (find_package_handle_standard_args)
  cmake/Modules/FindParquet.cmake:29 (include)
  cmake/find/parquet.cmake:21 (find_package)
  CMakeLists.txt:376 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) 
--  Could not find the parquet library. Looked in  system search paths.
-- Building without Parquet support
CMake Warning at cmake/find/simdjson.cmake:2 (message):
  submodule contrib/simdjson is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:377 (include)


CMake Warning at cmake/find/rapidjson.cmake:10 (message):
  submodule contrib/rapidjson is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:378 (include)


-- Using rapidjson=1: /usr/local/include
-- Using fastops=0:  : 
-- Using snappy: snappy
CMake Warning at cmake/find/orc.cmake:9 (message):
  submodule contrib/orc is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:380 (include)


CMake Warning at cmake/find/orc.cmake:16 (find_package):
  By not providing "Findorc.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "orc", but
  CMake did not find one.

  Could not find a package configuration file provided by "orc" with any of
  the following names:

    orcConfig.cmake
    orc-config.cmake

  Add the installation prefix of "orc" to CMAKE_PREFIX_PATH or set "orc_DIR"
  to a directory containing one of the above files.  If "orc" provides a
  separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:380 (include)


-- Using internal=0 orc=:  : 
CMake Warning at cmake/find/avro.cmake:9 (message):
  submodule contrib/avro is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:381 (include)


-- Using avro=:  : 
CMake Warning at cmake/find/msgpack.cmake:9 (message):
  Submodule contrib/msgpack-c is missing.  To fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:382 (include)


-- Using msgpack=: MSGPACK_INCLUDE_DIR-NOTFOUND
-- Using cassandra=1: ~/ClickHouse-master/contrib/cassandra/include/ : cassandra_static
-- Using libuv: ~/ClickHouse-master/contrib/libuv : uv_a
CMake Warning at cmake/find/sentry.cmake:4 (message):
  submodule contrib/sentry-native is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:384 (include)


-- Using stats=1 : ~/ClickHouse-master/contrib/stats/include
-- Using gcem=1: ~/ClickHouse-master/contrib/gcem/include
-- Using cityhash:  : cityhash
-- Using farmhash:  : farmhash
-- Using btrie:  : btrie
CMake Warning at cmake/find/gtest.cmake:9 (message):
  submodule contrib/googletest is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:392 (include)


-- Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY) 
-- Using gtest=:  :  : 
-- Build without mysqlclient (support for MYSQL dictionary source will be disabled)
-- compiler C   = /usr/bin/clang  -fdiagnostics-color=always  -gdwarf-aranges -msse4.1 -msse4.2 -mpopcnt  -Wall -Wno-unused-command-line-argument  -fdiagnostics-absolute-paths -Werror -mmacosx-version-min=10.15 -g -O0 -g3 -ggdb3 -fno-inline 
-- compiler CXX = /usr/bin/clang++  -fdiagnostics-color=always -std=c++2a -fsized-deallocation  -gdwarf-aranges -msse4.1 -msse4.2 -mpopcnt   -Wall -Wno-unused-command-line-argument  -stdlib=libc++ -fdiagnostics-absolute-paths -Werror -mmacosx-version-min=10.15 -stdlib=libc++ -g -O0 -g3 -ggdb3 -fno-inline  -D_LIBCPP_DEBUG=0
-- LINKER_FLAGS =  -rdynamic -Wl,-U,_inside_main -mmacosx-version-min=10.15 
-- Using cctz
-- Not using FastMemcpy
-- Using hyperscan
CMake Warning at contrib/jemalloc-cmake/CMakeLists.txt:10 (message):
  jemalloc support on non-linux is EXPERIMENTAL


-- jemalloc malloc_conf: oversize_threshold:0,muzzy_decay_ms:10000
-- Using jemalloc
-- Using cpuid
-- Using replxx
-- Not using unixodbc
-- Using Poco::Crypto
-- Not using Poco::Data::ODBC
-- Using curl: ~/ClickHouse-master/contrib/curl/include : curl
CMake Error at contrib/CMakeLists.txt:157 (add_subdirectory):
  The source directory

    ~/ClickHouse-master/contrib/snappy

  does not contain a CMakeLists.txt file.


CMake Error at contrib/CMakeLists.txt:295 (add_subdirectory):
  The source directory

    ~/ClickHouse-master/contrib/libuv

  does not contain a CMakeLists.txt file.


CMake Error at contrib/CMakeLists.txt:301 (add_subdirectory):
  The source directory

    ~/ClickHouse-master/contrib/cassandra

  does not contain a CMakeLists.txt file.


CMake Error at contrib/CMakeLists.txt:312 (add_subdirectory):
  The source directory

    ~/ClickHouse-master/contrib/gcem

  does not contain a CMakeLists.txt file.


-- ~/ClickHouse-master/src: Have 5723 megabytes of memory. Limiting concurrent linkers jobs to 1 and compiler jobs to 3
-- Will build ClickHouse 20.8.1.1 revision 54438 
-- Target check already exists
-- ~/ClickHouse-master/utils: Have 5716 megabytes of memory. Limiting concurrent linkers jobs to 1 and compiler jobs to OFF
-- Configuring incomplete, errors occurred!
See also "~/ClickHouse-master/build/CMakeFiles/CMakeOutput.log".
PatricYan

PatricYan commented on Aug 14, 2020

@PatricYan
Author

I have solved the problem by fork the latest branch
Thanks

Renampme

Renampme commented on Aug 26, 2020

@Renampme

hi, which branch you solved the problem?

PatricYan

PatricYan commented on Aug 26, 2020

@PatricYan
Author

@Renampme
the master and there have some wrong before, but later were solved

Renampme

Renampme commented on Aug 26, 2020

@Renampme

@Renampme
the master and there have some wrong before, but later were solved

I built on the latest code today,but still have the problem


MacBook-Pro build % cmake .. -DCMAKE_CXX_COMPILER=which clang++ -DCMAKE_C_COMPILER=which clang
-- IPO/LTO not enabled.
-- CMAKE_BUILD_TYPE is not set, set to default = RelWithDebInfo
-- CMAKE_BUILD_TYPE: RelWithDebInfo
CMake Error at CMakeLists.txt:167 (message):
Cannot find objcopy.

-- Configuring incomplete, errors occurred!
See also "/Users/admin/IdeaProjects/ClickHouse/build/CMakeFiles/CMakeOutput.log".
MacBook-Pro build % git log
commit 31460db (HEAD -> master, origin/master, origin/HEAD, =)
Merge: 5a8bd86 e2721e9
Author: alexey-milovidov milovidov@yandex-team.ru
Date: Wed Aug 26 04:24:24 2020 +0300

Merge pull request #14028 from ClickHouse/hczhcz-patch-0819-2

Merging #13877
PatricYan

PatricYan commented on Aug 26, 2020

@PatricYan
Author

@Renampme
you can run the command below

$ brew install binutils
$ mdfind -name objcopy
/Users/mac/Documents/GitHub/ClickHouse/contrib/llvm/llvm/utils/gn/secondary/llvm/tools/llvm-objcopy
/usr/local/Cellar/binutils/2.35/share/man/man1/objcopy.1
/usr/local/Cellar/binutils/2.35/x86_64-apple-darwin19.5.0/bin/objcopy
/usr/local/Cellar/binutils/2.35/bin/objcopy

then find the file ~/ClickHouse/CMakeLists.txt

origin: find_program (OBJCOPY_PATH NAMES "llvm-objcopy" "llvm-objcopy-10" "llvm-objcopy-9" "llvm-objcopy-8" "objcopy"
changed: find_program (OBJCOPY_PATH NAMES "llvm-objcopy" "llvm-objcopy-10" "llvm-objcopy-9" "llvm-objcopy-8" "objcopy" PATHS "/usr/local/Cellar/binutils/2.35/bin/")

then you can follow the command, and you can build successfully.

$ cd clickhouse
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_CXX_COMPILER=`which clang++` -DCMAKE_C_COMPILER=`which clang` -DCMAKE_BUILD_TYPE=Debug -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
PatricYan

PatricYan commented on Aug 26, 2020

@PatricYan
Author

@Renampme
the master and there have some wrong before, but later were solved

I built on the latest code today,but still have the problem

MacBook-Pro build % cmake .. -DCMAKE_CXX_COMPILER=which clang++ -DCMAKE_C_COMPILER=which clang
-- IPO/LTO not enabled.
-- CMAKE_BUILD_TYPE is not set, set to default = RelWithDebInfo
-- CMAKE_BUILD_TYPE: RelWithDebInfo
CMake Error at CMakeLists.txt:167 (message):
Cannot find objcopy.

-- Configuring incomplete, errors occurred!
See also "/Users/admin/IdeaProjects/ClickHouse/build/CMakeFiles/CMakeOutput.log".
MacBook-Pro build % git log
commit 31460db (HEAD -> master, origin/master, origin/HEAD, =)
Merge: 5a8bd86 e2721e9
Author: alexey-milovidov milovidov@yandex-team.ru
Date: Wed Aug 26 04:24:24 2020 +0300

Merge pull request #14028 from ClickHouse/hczhcz-patch-0819-2

Merging #13877

@Renampme
follow my steps.

7 remaining items

filimonov

filimonov commented on Oct 13, 2020

@filimonov
Contributor

Guys, can you make a PR with some cmake check / warning, and a line in doc about this?

changed the title [-]Mac 10.15.4 can not build the clickhouse[/-] [+]Mac 10.15.4: Cannot find objcopy[/+] on Oct 13, 2020
PatricYan

PatricYan commented on Oct 14, 2020

@PatricYan
Author

Guys, can you make a PR with some cmake check / warning, and a line in doc about this?

That is a good idea

tangxueming

tangxueming commented on Oct 20, 2020

@tangxueming

I have changed the CMakeLists.txt line 149, see below

origin:  find_program (OBJCOPY_PATH NAMES "llvm-objcopy" "llvm-objcopy-10" "llvm-objcopy-9" "llvm-objcopy-8" "objcopy")

changed: find_program (OBJCOPY_PATH NAMES "llvm-objcopy" "llvm-objcopy-10" "llvm-objcopy-9" "llvm-objcopy-8" "objcopy" PATHS "/usr/local/Cellar/binutils/2.35/bin/")

Now, there have some new errors, can you help me? and give a list of libs and tools or available steps?


cmake .. -DCMAKE_CXX_COMPILER=`which clang++` -DCMAKE_C_COMPILER=`which clang` -DCMAKE_BUILD_TYPE=Debug
-- IPO/LTO not enabled.
-- CMAKE_BUILD_TYPE: Debug
-- Using objcopy: /usr/local/Cellar/binutils/2.35/bin/objcopy.
-- Disabling compiler -pipe option (have only 5745 mb of memory)
CMake Warning at CMakeLists.txt:254 (message):
  Cannot find llvm-ar.  System ar will be used instead.  It does not work
  with ThinLTO.


CMake Warning at CMakeLists.txt:262 (message):
  Cannot find llvm-ranlib.  System ranlib will be used instead.  It does not
  work with ThinLTO.


-- Default libraries: -nodefaultlibs  -lc -lm -lpthread -ldl
CMake Warning at cmake/find/cxx.cmake:4 (message):
  submodule contrib/libcxx is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  cmake/darwin/default_libs.cmake:32 (include)
  CMakeLists.txt:297 (include)


-- Using libcxx: /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libc++.tbd
-- Using libcxxfs: LIBCXXFS_LIBRARY-NOTFOUND
-- Using libcxxabi: /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libc++abi.tbd
-- Tests are enabled
-- Building for: Darwin-19.4.0 x86_64  ; USE_STATIC_LIBRARIES=ON MAKE_STATIC_LIBRARIES=ON SPLIT_SHARED= UNBUNDLED=OFF CCACHE=CCACHE_FOUND-NOTFOUND 
-- Using double-conversion:  : double-conversion
CMake Warning at cmake/find/ssl.cmake:9 (message):
  submodule contrib/openssl is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:351 (include)


CMake Warning at cmake/find/ssl.cmake:22 (message):
  Disable USE_STATIC_LIBRARIES if you have linking problems with OpenSSL on
  MacOS
Call Stack (most recent call first):
  CMakeLists.txt:351 (include)


-- Using ssl=1: /usr/local/opt/openssl/include : /usr/local/opt/openssl/lib/libssl.a;/usr/local/opt/openssl/lib/libcrypto.a
CMake Warning at cmake/find/ldap.cmake:8 (message):
  Submodule contrib/openldap is missing.  To fix try running:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:352 (include)


CMake Warning at cmake/find/ldap.cmake:20 (message):
  Unable to use external static OpenLDAP libraries, falling back to the
  bundled version.
Call Stack (most recent call first):
  CMakeLists.txt:352 (include)


-- Using ldap=:  : 
-- Build without ICU (support for collations and charset conversion functions will be disabled)
CMake Warning at cmake/find/zlib.cmake:14 (message):
  submodule contrib/zlib-ng is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:354 (include)


-- Using zlib-ng: /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include : /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libz.tbd
CMake Warning at cmake/find/zstd.cmake:5 (message):
  submodule contrib/zstd is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:355 (include)


-- Using zstd: ZSTD_INCLUDE_DIR-NOTFOUND : ZSTD_LIBRARY-NOTFOUND
-- Using termcap: /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libncurses.tbd
-- Using sparsehash: ~/ClickHouse-master/contrib/sparsehash-c11
CMake Warning at cmake/find/re2.cmake:5 (message):
  submodule contrib/re2 is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:360 (include)


-- Using re2: RE2_INCLUDE_DIR-NOTFOUND : RE2_LIBRARY-NOTFOUND;  : 
CMake Warning at cmake/find/libgsasl.cmake:9 (message):
  submodule contrib/libgsasl is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:361 (include)


-- Using libgsasl=: LIBGSASL_INCLUDE_DIR-NOTFOUND : LIBGSASL_LIBRARY-NOTFOUND
CMake Warning at cmake/find/rdkafka.cmake:7 (message):
  submodule contrib/cppkafka is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:362 (include)


-- Using librdkafka=:  :  
CMake Warning at cmake/find/amqpcpp.cmake:4 (message):
  submodule contrib/AMQP-CPP is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:363 (include)


-- Using AMQP-CPP=:  : 
CMake Warning at cmake/find/capnp.cmake:9 (message):
  submodule contrib/capnproto is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:364 (include)


-- Using capnp=: CAPNPC-NOTFOUND;CAPNP-NOTFOUND;KJ-NOTFOUND
-- Using opencl=:  : 
CMake Warning at cmake/find/h3.cmake:8 (message):
  submodule contrib/h3 is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:367 (include)


-- Using h3=:  : 
CMake Warning at cmake/find/libxml2.cmake:5 (message):
  submodule contrib/libxml2 is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:368 (include)


-- Using libxml2: /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/libxml2 : /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libxml2.tbd
CMake Warning at cmake/find/brotli.cmake:9 (message):
  submodule contrib/brotli is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:369 (include)


-- Using brotli=: BROTLI_INCLUDE_DIR-NOTFOUND : 
CMake Warning at cmake/find/protobuf.cmake:9 (message):
  submodule contrib/protobuf is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:370 (include)


-- Using protobuf=1: /usr/local/include : /usr/local/lib/libprotobuf.a : /usr/local/bin/protoc
CMake Warning at cmake/find/grpc.cmake:8 (message):
  submodule contrib/grpc is missing.  To fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:371 (include)


-- Using gRPC=:  : 
-- Using pdqsort: ~/ClickHouse-master/contrib/pdqsort
-- Using hdfs3=:  : 
-- Using aws_s3=:  : 
CMake Warning at cmake/find/base64.cmake:3 (message):
  submodule contrib/base64 is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:375 (include)


CMake Warning at cmake/find/parquet.cmake:13 (message):
  submodule contrib/arrow (required for Parquet) is missing.  to fix try run:


   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:376 (include)


CMake Warning (dev) at /usr/local/Cellar/cmake/3.18.0/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (Arrow).  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):
  /usr/local/Cellar/cmake/3.18.0/share/cmake/Modules/FindPkgConfig.cmake:59 (find_package_handle_standard_args)
  cmake/Modules/FindArrow.cmake:29 (include)
  cmake/find/parquet.cmake:20 (find_package)
  CMakeLists.txt:376 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) 
-- Could not find the Arrow library. Looked for headers in , and for libs in 
CMake Warning (dev) at /usr/local/Cellar/cmake/3.18.0/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (Parquet).  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):
  /usr/local/Cellar/cmake/3.18.0/share/cmake/Modules/FindPkgConfig.cmake:59 (find_package_handle_standard_args)
  cmake/Modules/FindParquet.cmake:29 (include)
  cmake/find/parquet.cmake:21 (find_package)
  CMakeLists.txt:376 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) 
--  Could not find the parquet library. Looked in  system search paths.
-- Building without Parquet support
CMake Warning at cmake/find/simdjson.cmake:2 (message):
  submodule contrib/simdjson is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:377 (include)


CMake Warning at cmake/find/rapidjson.cmake:10 (message):
  submodule contrib/rapidjson is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:378 (include)


-- Using rapidjson=1: /usr/local/include
-- Using fastops=0:  : 
-- Using snappy: snappy
CMake Warning at cmake/find/orc.cmake:9 (message):
  submodule contrib/orc is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:380 (include)


CMake Warning at cmake/find/orc.cmake:16 (find_package):
  By not providing "Findorc.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "orc", but
  CMake did not find one.

  Could not find a package configuration file provided by "orc" with any of
  the following names:

    orcConfig.cmake
    orc-config.cmake

  Add the installation prefix of "orc" to CMAKE_PREFIX_PATH or set "orc_DIR"
  to a directory containing one of the above files.  If "orc" provides a
  separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:380 (include)


-- Using internal=0 orc=:  : 
CMake Warning at cmake/find/avro.cmake:9 (message):
  submodule contrib/avro is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:381 (include)


-- Using avro=:  : 
CMake Warning at cmake/find/msgpack.cmake:9 (message):
  Submodule contrib/msgpack-c is missing.  To fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:382 (include)


-- Using msgpack=: MSGPACK_INCLUDE_DIR-NOTFOUND
-- Using cassandra=1: ~/ClickHouse-master/contrib/cassandra/include/ : cassandra_static
-- Using libuv: ~/ClickHouse-master/contrib/libuv : uv_a
CMake Warning at cmake/find/sentry.cmake:4 (message):
  submodule contrib/sentry-native is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:384 (include)


-- Using stats=1 : ~/ClickHouse-master/contrib/stats/include
-- Using gcem=1: ~/ClickHouse-master/contrib/gcem/include
-- Using cityhash:  : cityhash
-- Using farmhash:  : farmhash
-- Using btrie:  : btrie
CMake Warning at cmake/find/gtest.cmake:9 (message):
  submodule contrib/googletest is missing.  to fix try run:

   git submodule update --init --recursive
Call Stack (most recent call first):
  CMakeLists.txt:392 (include)


-- Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY) 
-- Using gtest=:  :  : 
-- Build without mysqlclient (support for MYSQL dictionary source will be disabled)
-- compiler C   = /usr/bin/clang  -fdiagnostics-color=always  -gdwarf-aranges -msse4.1 -msse4.2 -mpopcnt  -Wall -Wno-unused-command-line-argument  -fdiagnostics-absolute-paths -Werror -mmacosx-version-min=10.15 -g -O0 -g3 -ggdb3 -fno-inline 
-- compiler CXX = /usr/bin/clang++  -fdiagnostics-color=always -std=c++2a -fsized-deallocation  -gdwarf-aranges -msse4.1 -msse4.2 -mpopcnt   -Wall -Wno-unused-command-line-argument  -stdlib=libc++ -fdiagnostics-absolute-paths -Werror -mmacosx-version-min=10.15 -stdlib=libc++ -g -O0 -g3 -ggdb3 -fno-inline  -D_LIBCPP_DEBUG=0
-- LINKER_FLAGS =  -rdynamic -Wl,-U,_inside_main -mmacosx-version-min=10.15 
-- Using cctz
-- Not using FastMemcpy
-- Using hyperscan
CMake Warning at contrib/jemalloc-cmake/CMakeLists.txt:10 (message):
  jemalloc support on non-linux is EXPERIMENTAL


-- jemalloc malloc_conf: oversize_threshold:0,muzzy_decay_ms:10000
-- Using jemalloc
-- Using cpuid
-- Using replxx
-- Not using unixodbc
-- Using Poco::Crypto
-- Not using Poco::Data::ODBC
-- Using curl: ~/ClickHouse-master/contrib/curl/include : curl
CMake Error at contrib/CMakeLists.txt:157 (add_subdirectory):
  The source directory

    ~/ClickHouse-master/contrib/snappy

  does not contain a CMakeLists.txt file.


CMake Error at contrib/CMakeLists.txt:295 (add_subdirectory):
  The source directory

    ~/ClickHouse-master/contrib/libuv

  does not contain a CMakeLists.txt file.


CMake Error at contrib/CMakeLists.txt:301 (add_subdirectory):
  The source directory

    ~/ClickHouse-master/contrib/cassandra

  does not contain a CMakeLists.txt file.


CMake Error at contrib/CMakeLists.txt:312 (add_subdirectory):
  The source directory

    ~/ClickHouse-master/contrib/gcem

  does not contain a CMakeLists.txt file.


-- ~/ClickHouse-master/src: Have 5723 megabytes of memory. Limiting concurrent linkers jobs to 1 and compiler jobs to 3
-- Will build ClickHouse 20.8.1.1 revision 54438 
-- Target check already exists
-- ~/ClickHouse-master/utils: Have 5716 megabytes of memory. Limiting concurrent linkers jobs to 1 and compiler jobs to OFF
-- Configuring incomplete, errors occurred!
See also "~/ClickHouse-master/build/CMakeFiles/CMakeOutput.log".

My line number is 176 now.
That works for me. Thank you!

athre0z

athre0z commented on Nov 20, 2020

@athre0z
Contributor

That's what worked for me, without hacking any config files, for compiling the latest master, running Big Sur:

brew install llvm cmake ninja obj binutils protobuf ccache capnp
export PATH="/usr/local/opt/binutils/bin:$PATH"
export PATH="/usr/local/opt/llvm@11/bin:$PATH"
mkdir  build  && cd build
cmake .. -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm@11/bin/clang++ -DCMAKE_C_COMPILER=/usr/local/opt/llvm@11/bin/clang -DARCH_NATIVE=ON -DENABLE_TESTS=OFF -GNinja -DWERROR=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DUSE_INTERNAL_PROTOBUF_LIBRARY=OFF -DUSE_INTERNAL_CAPNP_LIBRARY=OFF -DENABLE_BASE64=OFF
ninja
traceon

traceon commented on Dec 26, 2020

@traceon
Contributor

Currently, objcopy is needed in Linux only. This issue is fixed in #17501 (ninja should work too).

PatricYan

PatricYan commented on Dec 27, 2020

@PatricYan
Author

Currently, objcopy is needed in Linux only. This issue is fixed in #17501 (ninja should work too).

That's good. Thanks

zhou-jered

zhou-jered commented on Jul 20, 2021

@zhou-jered

Maybe help you:
brew install binutils

This command solved my issue, thanks

traceon

traceon commented on Jul 20, 2021

@traceon
Contributor

Maybe help you:
brew install binutils

The recent macOS build doc on master reflects that.

Ilyua

Ilyua commented on Sep 29, 2023

@Ilyua

I have a problem on Mac OS. Following steps in Mac OS Build Guide I get :

export CC=$(brew --prefix llvm)/bin/clang
export CXX=$(brew --prefix llvm)/bin/clang++
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -S . -B build
cmake --build build
mkdir: build: File exists
-- The C compiler identification is Clang 17.0.1
-- The CXX compiler identification is Clang 17.0.1
-- The ASM compiler identification is Clang with GNU-like command-line
-- Found assembler: /opt/homebrew/opt/llvm/bin/clang
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/homebrew/opt/llvm/bin/clang - 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: /opt/homebrew/opt/llvm/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using compiler:
Homebrew clang version 17.0.1
Target: arm64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /opt/homebrew/opt/llvm/bin
CMake Error at cmake/tools.cmake:79 (message):
  The only supported linker is LLVM's LLD, but we cannot find it.
Call Stack (most recent call first):
  CMakeLists.txt:18 (include)

Also problem with objcopy occurs. But there is info in thread that it is only necessary in Linux. All libs are installed. Path to LLVM exported. Variables -DLINKER_NAME and -DLLD_PATH are set in CMake setting of CLion.
How can I setup my envs properly for contribution? Thank you

PatricYan

PatricYan commented on Oct 3, 2023

@PatricYan
Author

I have a problem on Mac OS. Following steps in Mac OS Build Guide I get :

export CC=$(brew --prefix llvm)/bin/clang
export CXX=$(brew --prefix llvm)/bin/clang++
cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -S . -B build
cmake --build build
mkdir: build: File exists
-- The C compiler identification is Clang 17.0.1
-- The CXX compiler identification is Clang 17.0.1
-- The ASM compiler identification is Clang with GNU-like command-line
-- Found assembler: /opt/homebrew/opt/llvm/bin/clang
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/homebrew/opt/llvm/bin/clang - 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: /opt/homebrew/opt/llvm/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using compiler:
Homebrew clang version 17.0.1
Target: arm64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /opt/homebrew/opt/llvm/bin
CMake Error at cmake/tools.cmake:79 (message):
  The only supported linker is LLVM's LLD, but we cannot find it.
Call Stack (most recent call first):
  CMakeLists.txt:18 (include)

Also problem with objcopy occurs. But there is info in thread that it is only necessary in Linux. All libs are installed. Path to LLVM exported. Variables -DLINKER_NAME and -DLLD_PATH are set in CMake setting of CLion. How can I setup my envs properly for contribution? Thank you

Do you try #13597 (comment)?

Blargian

Blargian commented on Jan 1, 2025

@Blargian
Member

If anyone else runs into the same issue after following suggestions above:

brew install binutils may give the following warning (or something similar) which is easily missed:

==> Caveats
binutils is keg-only, which means it was not symlinked into /opt/homebrew,
because it shadows the host toolchain.

If you need to have binutils first in your PATH, run:
  echo 'export PATH="/opt/homebrew/opt/binutils/bin:$PATH"' >> ~/.zshrc

For compilers to find binutils you may need to set:
  export LDFLAGS="-L/opt/homebrew/opt/binutils/lib"
  export CPPFLAGS="-I/opt/homebrew/opt/binutils/include"

The issue was solved for me by running

echo 'export PATH="/opt/homebrew/opt/binutils/bin:$PATH"' >> ~/.zshrc

and setting in CMake:

OBJCOPY_PATH:FILEPATH=/opt/homebrew/opt/binutils/bin/objcopy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildcomp-darwinDarwin-related builds and cross-builds

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @BohuTANG@develar@filimonov@zhou-jered@amosbird

        Issue actions

          Mac 10.15.4: Cannot find objcopy · Issue #13597 · ClickHouse/ClickHouse