Skip to content

macOS Catalina install fails #26

@Sjors

Description

@Sjors

On macOS 10.15.3 with cmake version 3.16.4

brew info capnp   
capnp: stable 0.7.0 (bottled), HEAD
Data interchange format and capability-based RPC system
https://capnproto.org/
/usr/local/Cellar/capnp/0.7.0 (110 files, 11.8MB) *
build % cmake ..
-- The CXX compiler identification is AppleClang 11.0.0.11000033
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Boost: /usr/local/lib/cmake/Boost-1.72.0/BoostConfig.cmake (found version "1.72.0")  
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Performing Test HAVE_PTHREAD_GETNAME_NP
-- Performing Test HAVE_PTHREAD_GETNAME_NP - Success
-- Performing Test HAVE_PTHREAD_THREADID_NP
-- Performing Test HAVE_PTHREAD_THREADID_NP - Failed
-- Performing Test HAVE_PTHREAD_GETTHREADID_NP
-- Performing Test HAVE_PTHREAD_GETTHREADID_NP - Failed
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/sjors/dev/libmultiprocess/build
build % make
[ 14%] Compiling Cap'n Proto schema include/mp/proxy.capnp
Scanning dependencies of target multiprocess
[ 28%] Building CXX object CMakeFiles/multiprocess.dir/include/mp/proxy.capnp.c++.o
[ 42%] Building CXX object CMakeFiles/multiprocess.dir/src/mp/proxy.cpp.o
[ 57%] Building CXX object CMakeFiles/multiprocess.dir/src/mp/util.cpp.o
[ 71%] Linking CXX static library libmultiprocess.a
[ 71%] Built target multiprocess
Scanning dependencies of target mpgen
[ 85%] Building CXX object CMakeFiles/mpgen.dir/src/mp/gen.cpp.o
/Users/sjors/dev/libmultiprocess/src/mp/gen.cpp:131:23: error: use of undeclared identifier 'capnp_PREFIX'
    args.emplace_back(capnp_PREFIX "/bin/capnp");
                      ^
/Users/sjors/dev/libmultiprocess/src/mp/gen.cpp:139:35: error: expected ')'
    args.emplace_back("--output=" capnp_PREFIX "/bin/capnpc-c++");
                                  ^
/Users/sjors/dev/libmultiprocess/src/mp/gen.cpp:139:22: note: to match this '('
    args.emplace_back("--output=" capnp_PREFIX "/bin/capnpc-c++");
                     ^
/Users/sjors/dev/libmultiprocess/src/mp/gen.cpp:150:46: error: expected ')'
        throw std::runtime_error("Invoking " capnp_PREFIX "/bin/capnp failed");
                                             ^
/Users/sjors/dev/libmultiprocess/src/mp/gen.cpp:150:33: note: to match this '('
        throw std::runtime_error("Invoking " capnp_PREFIX "/bin/capnp failed");
                                ^
/Users/sjors/dev/libmultiprocess/src/mp/gen.cpp:154:31: warning: 'parseDiskFile' is deprecated: Use parseFromDirectory() instead. [-Wdeprecated-declarations]
    auto file_schema = parser.parseDiskFile(src_file, src_file, import_paths);
                              ^
/usr/local/include/capnp/schema-parser.h:105:7: note: 'parseDiskFile' has been explicitly marked deprecated here
      CAPNP_DEPRECATED("Use parseFromDirectory() instead.");
      ^
/usr/local/include/capnp/common.h:57:26: note: expanded from macro 'CAPNP_DEPRECATED'
#define CAPNP_DEPRECATED KJ_DEPRECATED
                         ^
/usr/local/include/kj/common.h:186:20: note: expanded from macro 'KJ_DEPRECATED'
    __attribute__((deprecated(reason)))
                   ^
/Users/sjors/dev/libmultiprocess/src/mp/gen.cpp:555:63: error: use of undeclared identifier 'capnp_PREFIX'
    for (const char* path : {CMAKE_INSTALL_PREFIX "/include", capnp_PREFIX "/include"}) {
                                                              ^
1 warning and 4 errors generated.
make[2]: *** [CMakeFiles/mpgen.dir/src/mp/gen.cpp.o] Error 1
make[1]: *** [CMakeFiles/mpgen.dir/all] Error 2
make: *** [all] Error 2

Shouldn't cmake .. have caught this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions