velox icon indicating copy to clipboard operation
velox copied to clipboard

Can not compile on MacBook with Intel CPU

Open zuochunwei opened this issue 3 years ago • 11 comments
trafficstars

I followed the getting started operations step by step, I executed ./scripts/setup-macos.sh successfully, but when I executed the make command to compile this project I got the following errors:

velox/third_party/googletest/googlemock/include/gmock/gmock-matchers.h:3165:49: error: use of undeclared identifier 'IndexSequenceFor'

new FieldsAreMatcherImpl<const Struct&, IndexSequenceFor<Inner...>>(

image

I do not know what's wrong, who can give me help?

zuochunwei avatar Oct 19 '22 03:10 zuochunwei

CC: @kgpai @raulcd @Yuhta @majetideepak

mbasmanova avatar Oct 19 '22 14:10 mbasmanova

hi @zuochunwei, could you please post the whole stack trace as text instead of a screenshot? It will help us be able to copy&paste to investigate. Thanks.

raulcd avatar Oct 19 '22 14:10 raulcd

hi @zuochunwei, could you please post the whole stack trace as text instead of a screenshot? It will help us be able to copy&paste to investigate. Thanks.

[71/902] Building CXX object third_party/googletest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o FAILED: third_party/googletest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o ccache /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -I/usr/local/opt/icu4c/include -I/Users/zuochunwei/velox/. -I/Users/zuochunwei/velox/third_party/googletest/googlemock/include -I/Users/zuochunwei/velox/third_party/googletest/googlemock -isystem /usr/local/include -isystem /Users/zuochunwei/velox/velox -isystem /Users/zuochunwei/velox/velox/external -isystem /Users/zuochunwei/velox/velox/external/duckdb -isystem /Users/zuochunwei/velox/velox/external/duckdb/tpch/dbgen/include -isystem /Users/zuochunwei/velox/third_party/googletest/googletest/include -isystem /Users/zuochunwei/velox/third_party/googletest/googletest -mavx2 -mfma -mavx -mf16c -mlzcnt -std=c++17 -mbmi2 -fvisibility=hidden -fvisibility-inlines-hidden -D USE_VELOX_COMMON_BASE -D HAS_UNCAUGHT_EXCEPTIONS -Werror -Wall -Wextra -Wno-unused -Wno-unused-parameter -Wno-sign-compare -Wno-ignored-qualifiers -Wno-range-loop-analysis -Wno-mismatched-tags -O3 -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk -fPIC -Wall -Wshadow -Werror -Wconversion -DGTEST_HAS_PTHREAD=1 -fexceptions -W -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wredundant-decls -std=c++17 -MD -MT third_party/googletest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o -MF third_party/googletest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o.d -o third_party/googletest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o -c /Users/zuochunwei/velox/third_party/googletest/googlemock/src/gmock-all.cc In file included from /Users/zuochunwei/velox/third_party/googletest/googlemock/src/gmock-all.cc:39: In file included from /Users/zuochunwei/velox/third_party/googletest/googlemock/include/gmock/gmock.h:61: In file included from /Users/zuochunwei/velox/third_party/googletest/googlemock/include/gmock/gmock-function-mocker.h:42: In file included from /Users/zuochunwei/velox/third_party/googletest/googlemock/include/gmock/gmock-spec-builders.h:75: /Users/zuochunwei/velox/third_party/googletest/googlemock/include/gmock/gmock-matchers.h:3165:49: error: use of undeclared identifier 'IndexSequenceFor' new FieldsAreMatcherImpl<const Struct&, IndexSequenceFor<Inner...>>( ^ /Users/zuochunwei/velox/third_party/googletest/googlemock/include/gmock/gmock-matchers.h:4291:21: error: no template named 'StringLike' in namespace 'testing::internal' const internal::StringLike<T>& str) { ~~~~~~~~~~^ /Users/zuochunwei/velox/third_party/googletest/googlemock/include/gmock/gmock-matchers.h:4299:21: error: no template named 'StringLike' in namespace 'testing::internal' const internal::StringLike<T>& str) { ~~~~~~~~~~^ /Users/zuochunwei/velox/third_party/googletest/googlemock/include/gmock/gmock-matchers.h:4307:21: error: no template named 'StringLike' in namespace 'testing::internal' const internal::StringLike<T>& str) { ~~~~~~~~~~^ /Users/zuochunwei/velox/third_party/googletest/googlemock/include/gmock/gmock-matchers.h:4315:21: error: no template named 'StringLike' in namespace 'testing::internal' const internal::StringLike<T>& str) { ~~~~~~~~~~^ /Users/zuochunwei/velox/third_party/googletest/googlemock/include/gmock/gmock-matchers.h:4324:21: error: no template named 'StringLike' in namespace 'testing::internal' const internal::StringLike<T>& substring) { ~~~~~~~~~~^ /Users/zuochunwei/velox/third_party/googletest/googlemock/include/gmock/gmock-matchers.h:4332:21: error: no template named 'StringLike' in namespace 'testing::internal' const internal::StringLike<T>& prefix) { ~~~~~~~~~~^ /Users/zuochunwei/velox/third_party/googletest/googlemock/include/gmock/gmock-matchers.h:4340:21: error: no template named 'StringLike' in namespace 'testing::internal' const internal::StringLike<T>& suffix) { ~~~~~~~~~~^ /Users/zuochunwei/velox/third_party/googletest/googlemock/include/gmock/gmock-matchers.h:5150:54: error: no matching function for call to 'GetTypeName' *listener << "throws an exception of type " << GetTypeName(typeid(err));

======== according to the error messages, I guess that I should upgrade the clang first, I am doing so and will report the result, thank u.

zuochunwei avatar Oct 20 '22 02:10 zuochunwei

I have upgraded Apple clang to version 14.0.0 (clang-1400.0.29.102), but I can not compile successfully, the same error messages appeared again.

zuochunwei avatar Oct 20 '22 10:10 zuochunwei

I operated as the following steps step1:

> git clone --recursive https://github.com/facebookincubator/velox.git
> cd velox
> # if you are updating an existing checkout
> git submodule sync --recursive
> git submodule update --init --recursive

step2: ./scripts/setup-macos.sh

step3: make

when I executed make, I got the above error messages. after checking the code, I found that identifiers such as 'IndexSequenceFor' exist, why?

zuochunwei avatar Oct 20 '22 10:10 zuochunwei

Can you try building googletest on isolation?

$ git clone [email protected]:google/googletest.git
$ cd googletest
$ git checkout e2239ee6043f73722e7aa812a459f54a28552929
$ cmake .
$ make -j4

These are the supposed requirements for googletest, I am trying to discard possible versioning issues:

Compilers

    gcc 5.0+
    clang 5.0+
    MSVC 2015+

macOS users: Xcode 9.3+ provides clang 5.0+.

edited to add missing cd googletest

raulcd avatar Oct 20 '22 10:10 raulcd

oh! A colleague just pointed me out that on your first screenshot there seems to be a /usr/local/include/gtest on the last line. Do you have a different version of google test installed as a system local dependency?

raulcd avatar Oct 20 '22 11:10 raulcd

I enter the directory of velox/third_party/googletest then make, it works normally. that's very confused.

zuochunwei avatar Oct 21 '22 03:10 zuochunwei

I renamed the four sub-directories of /usr/local/include. renamed gmock + googlemock + googletest + gtest to gmock2 + googlemock2 + googletest2 + gtest2 . then compiled velox, I encounter the link error this time as following

[zuochunwei@MacBook-Pro16 velox]$ make
/Applications/Xcode.app/Contents/Developer/usr/bin/make cmake BUILD_DIR=release BUILD_TYPE=Release && \
        /Applications/Xcode.app/Contents/Developer/usr/bin/make build BUILD_DIR=release
mkdir -p _build/release && \
        cmake -B \
                "_build/release" \
                -DTREAT_WARNINGS_AS_ERRORS=1 -DENABLE_ALL_WARNINGS=1 -DVELOX_BUILD_MINIMAL="OFF" -DVELOX_BUILD_TESTING="ON" -DCMAKE_BUILD_TYPE=Release \
                -GNinja -DMAX_LINK_JOBS= -DMAX_HIGH_MEM_JOBS= \
                -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
                 \

-- Build type: Release
-- Disabling Codegen
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 -Werror -Wall -Wextra -Wno-unused        -Wno-unused-parameter        -Wno-sign-compare        -Wno-ignored-qualifiers        -Wno-range-loop-analysis -Wno-mismatched-tags
-- Found Bison keg installed by Homebrew at /usr/local/opt/bison
-- Found Flex keg installed by Homebrew at /usr/local/opt/flex
-- xsimd v9.0.1
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/zuochunwei/velox/_build/release
cmake --build _build/release -j 1
[27/890] Linking CXX executable velox/common/caching/tests/cached_factory_test
FAILED: velox/common/caching/tests/cached_factory_test
: && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -mavx2 -mfma -mavx -mf16c -mlzcnt -std=c++17 -mbmi2 -fvisibility=hidden -fvisibility-inlines-hidden -D USE_VELOX_COMMON_BASE -D HAS_UNCAUGHT_EXCEPTIONS -Werror -Wall -Wextra -Wno-unused        -Wno-unused-parameter        -Wno-sign-compare        -Wno-ignored-qualifiers        -Wno-range-loop-analysis -Wno-mismatched-tags -O3 -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -Wl,-flat_namespace velox/common/caching/tests/CMakeFiles/cached_factory_test.dir/CachedFactoryTest.cpp.o -o velox/common/caching/tests/cached_factory_test -L/usr/local/opt/icu4c/include/../lib -Wl,-rpath,/usr/local/opt/icu4c/include/../lib -Wl,-rpath,/usr/local/lib  lib/libgtest.a  lib/libgtest_main.a  /usr/local/lib/libglog.dylib  /usr/local/lib/libfolly.a  /usr/local/lib/libdouble-conversion.a  /usr/local/lib/libevent.dylib  /usr/local/lib/libsnappy.dylib  /usr/local/lib/libfmt.a  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/lib/libbz2.tbd  lib/libgtest.a  /usr/local/lib/libgflags.2.2.2.dylib  /usr/local/lib/libboost_context-mt.dylib  /usr/local/lib/libboost_filesystem-mt.dylib  /usr/local/lib/libboost_atomic-mt.dylib  /usr/local/lib/libboost_program_options-mt.dylib  /usr/local/lib/libboost_regex-mt.dylib  /usr/local/lib/libboost_system-mt.dylib  /usr/local/lib/libboost_thread-mt.dylib  /usr/local/lib/libdouble-conversion.a  /usr/local/lib/libfmt.a  /usr/local/lib/libglog.dylib  /usr/local/lib/libevent.dylib  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/lib/libz.tbd  /usr/local/opt/[email protected]/lib/libssl.dylib  /usr/local/opt/[email protected]/lib/libcrypto.dylib  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/lib/libbz2.tbd  /usr/local/lib/liblz4.dylib  /usr/local/lib/libzstd.dylib  /usr/local/lib/libsnappy.dylib && :
Undefined symbols for architecture x86_64:
  "fmt::v7::detail::vformat(fmt::v7::basic_string_view<char>, fmt::v7::format_args)", referenced from:
      folly::CacheLocality::readFromSysfsTree(std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >)> const&) in libfolly.a(CacheLocality.cpp.o)
  "google::LogMessage::LogMessage(char const*, int, int, unsigned long long, void (google::LogMessage::*)())", referenced from:
      folly::RequestContext::setContextData(folly::RequestToken const&, std::__1::unique_ptr<folly::RequestData, std::__1::default_delete<folly::RequestData> >) in libfolly.a(Request.cpp.o)
      folly::RequestContext::setContextDataIfAbsent(folly::RequestToken const&, std::__1::unique_ptr<folly::RequestData, std::__1::default_delete<folly::RequestData> >) in libfolly.a(Request.cpp.o)
      folly::RequestContext::overwriteContextData(folly::RequestToken const&, std::__1::unique_ptr<folly::RequestData, std::__1::default_delete<folly::RequestData> >, bool) in libfolly.a(Request.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
make[1]: *** [build] Error 1
make: *** [release] Error 2

what's a difficult compile job!

zuochunwei avatar Oct 21 '22 09:10 zuochunwei

Hi @zuochunwei , I am sorry to hear you are having a difficult time building Velox, we are trying to improve the build system, your feedback is really helpful to understand scenarios we haven't faced and trying to fix them. I am slightly confused when you said folly and gtest where downloaded to /usr/include as part of ./scripts/setup-macos.sh as both of those libraries are not downloaded anymore as part of the setup_macos.sh script. GTest is a submodule on the repo and Folly, if not found as a system dependency, should be downloaded and built when building by CMake itself.

raulcd avatar Oct 21 '22 10:10 raulcd

Hi @zuochunwei , I am sorry to hear you are having a difficult time building Velox, we are trying to improve the build system, your feedback is really helpful to understand scenarios we haven't faced and trying to fix them. I am slightly confused when you said folly and gtest where downloaded to /usr/include as part of ./scripts/setup-macos.sh as both of those libraries are not downloaded anymore as part of the setup_macos.sh script. GTest is a submodule on the repo and Folly, if not found as a system dependency, should be downloaded and built when building by CMake itself.

I want to use the velox for the underlying vectorized execution engine of our data processing project. I have spent a long time building but can not succeed until now.

after I renamed the gmock + googlemock + googletest + gtest dirs under /usr/local/include, I compiled it again and I got the link error, could you have a look at it, thank you!

zuochunwei avatar Oct 21 '22 10:10 zuochunwei

[zuochunwei@MacBook-Pro16 velox]$ make
/Applications/Xcode.app/Contents/Developer/usr/bin/make cmake BUILD_DIR=release BUILD_TYPE=Release && \
	/Applications/Xcode.app/Contents/Developer/usr/bin/make build BUILD_DIR=release
mkdir -p _build/release && \
	cmake -B \
		"_build/release" \
		-DTREAT_WARNINGS_AS_ERRORS=1 -DENABLE_ALL_WARNINGS=1 -DVELOX_BUILD_MINIMAL="OFF" -DVELOX_BUILD_TESTING="ON" -DCMAKE_BUILD_TYPE=Release \
		-GNinja -DMAX_LINK_JOBS= -DMAX_HIGH_MEM_JOBS= \
		-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
		 \

-- The C compiler identification is AppleClang 14.0.0.14000029
-- The CXX compiler identification is AppleClang 14.0.0.14000029
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build type: Release
-- Disabling Codegen
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 -Werror -Wall -Wextra -Wno-unused        -Wno-unused-parameter        -Wno-sign-compare        -Wno-ignored-qualifiers        -Wno-range-loop-analysis -Wno-mismatched-tags
-- Found Boost: /usr/local/lib/cmake/Boost-1.80.0/BoostConfig.cmake (found suitable version "1.80.0", minimum required is "1.66.0") found components: program_options context filesystem regex thread system date_time atomic
-- Found glog: /usr/local/lib/libglog.dylib
-- Found ZLIB: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/lib/libz.tbd (found version "1.2.11")
-- Found ICU: /usr/local/opt/icu4c/lib/libicuuc.dylib (found version "71.1.0")
-- Found BZip2: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/lib/libbz2.tbd (found version "1.0.8")
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- Found Protobuf: /usr/local/lib/libprotobuf.dylib (found suitable version "3.21.8", minimum required is "3.21.4")
-- Found Bison keg installed by Homebrew at /usr/local/opt/bison
-- Found Flex keg installed by Homebrew at /usr/local/opt/flex
-- Found BISON: /usr/local/opt/bison/bin/bison (found suitable version "3.8.2", minimum required is "3.0.4")
-- Found FLEX: /usr/local/opt/flex/bin/flex (found suitable version "2.6.4", minimum required is "2.5.13")
-- Found Python: /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/bin/python3.9 (found version "3.9.6") found components: Interpreter
-- Found Threads: TRUE
-- xsimd v9.0.1
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/zuochunwei/velox/_build/release
cmake --build _build/release -j 1
[44/927] Linking CXX executable velox/common/caching/tests/cached_factory_test
FAILED: velox/common/caching/tests/cached_factory_test
: && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -mavx2 -mfma -mavx -mf16c -mlzcnt -std=c++17 -mbmi2 -fvisibility=hidden -fvisibility-inlines-hidden -D USE_VELOX_COMMON_BASE -D HAS_UNCAUGHT_EXCEPTIONS -Werror -Wall -Wextra -Wno-unused        -Wno-unused-parameter        -Wno-sign-compare        -Wno-ignored-qualifiers        -Wno-range-loop-analysis -Wno-mismatched-tags -O3 -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -Wl,-flat_namespace velox/common/caching/tests/CMakeFiles/cached_factory_test.dir/CachedFactoryTest.cpp.o -o velox/common/caching/tests/cached_factory_test -L/usr/local/opt/icu4c/include/../lib -Wl,-rpath,/usr/local/opt/icu4c/include/../lib -Wl,-rpath,/usr/local/lib  lib/libgtest.a  lib/libgtest_main.a  /usr/local/lib/libglog.dylib  /usr/local/lib/libfolly.a  /usr/local/lib/libdouble-conversion.a  /usr/local/lib/libevent.dylib  /usr/local/lib/libsnappy.dylib  /usr/local/lib/libfmt.a  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/lib/libbz2.tbd  lib/libgtest.a  /usr/local/lib/libgflags.2.2.2.dylib  /usr/local/lib/libboost_context-mt.dylib  /usr/local/lib/libboost_filesystem-mt.dylib  /usr/local/lib/libboost_atomic-mt.dylib  /usr/local/lib/libboost_program_options-mt.dylib  /usr/local/lib/libboost_regex-mt.dylib  /usr/local/lib/libboost_system-mt.dylib  /usr/local/lib/libboost_thread-mt.dylib  /usr/local/lib/libdouble-conversion.a  /usr/local/lib/libfmt.a  /usr/local/lib/libglog.dylib  /usr/local/lib/libevent.dylib  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/lib/libz.tbd  /usr/local/opt/[email protected]/lib/libssl.dylib  /usr/local/opt/[email protected]/lib/libcrypto.dylib  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/lib/libbz2.tbd  /usr/local/lib/liblz4.dylib  /usr/local/lib/libzstd.dylib  /usr/local/lib/libsnappy.dylib && :
Undefined symbols for architecture x86_64:
  "fmt::v7::detail::vformat(fmt::v7::basic_string_view<char>, fmt::v7::format_args)", referenced from:
      folly::CacheLocality::readFromSysfsTree(std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >)> const&) in libfolly.a(CacheLocality.cpp.o)
  "google::LogMessage::LogMessage(char const*, int, int, unsigned long long, void (google::LogMessage::*)())", referenced from:
      folly::RequestContext::setContextData(folly::RequestToken const&, std::__1::unique_ptr<folly::RequestData, std::__1::default_delete<folly::RequestData> >) in libfolly.a(Request.cpp.o)
      folly::RequestContext::setContextDataIfAbsent(folly::RequestToken const&, std::__1::unique_ptr<folly::RequestData, std::__1::default_delete<folly::RequestData> >) in libfolly.a(Request.cpp.o)
      folly::RequestContext::overwriteContextData(folly::RequestToken const&, std::__1::unique_ptr<folly::RequestData, std::__1::default_delete<folly::RequestData> >, bool) in libfolly.a(Request.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
make[1]: *** [build] Error 1
make: *** [release] Error 2

zuochunwei avatar Oct 21 '22 10:10 zuochunwei

Hi @zuochunwei - It would probably be better if we figure this out in a more interactive medium. Please join the Velox oss community channel , details here : https://github.com/facebookincubator/velox#community . I and Raul will be there to help you out.

kgpai avatar Oct 21 '22 15:10 kgpai

I tried to compile it on another mac book at home, and I failed again for various problems.

zuochunwei avatar Oct 22 '22 01:10 zuochunwei

Hi @zuochunwei - It would probably be better if we figure this out in a more interactive medium. Please join the Velox oss community channel , details here : https://github.com/facebookincubator/velox#community . I and Raul will be there to help you out.

ok, I will join.

zuochunwei avatar Oct 22 '22 01:10 zuochunwei

@raulcd @kgpai I compiled on another macbook and failed again, this is the output info.

[zuochunwei@bogon ~/velox] make
/Applications/Xcode.app/Contents/Developer/usr/bin/make cmake BUILD_DIR=release BUILD_TYPE=Release && \
	/Applications/Xcode.app/Contents/Developer/usr/bin/make build BUILD_DIR=release
mkdir -p _build/release && \
	cmake -B \
		"_build/release" \
		-DTREAT_WARNINGS_AS_ERRORS=1 -DENABLE_ALL_WARNINGS=1 -DVELOX_BUILD_MINIMAL="OFF" -DVELOX_BUILD_TESTING="ON" -DCMAKE_BUILD_TYPE=Release \
		-GNinja -DMAX_LINK_JOBS= -DMAX_HIGH_MEM_JOBS= \
		-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
		 \

-- Build type: Release
-- Disabling Codegen
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 -Werror -Wall -Wextra -Wno-unused        -Wno-unused-parameter        -Wno-sign-compare        -Wno-ignored-qualifiers        -Wno-range-loop-analysis -Wno-mismatched-tags
-- Found Boost: /usr/local/lib/cmake/Boost-1.80.0/BoostConfig.cmake (found suitable version "1.80.0", minimum required is "1.66.0") found components: program_options context filesystem regex thread system date_time atomic
-- Building Folly from source
CMake Warning (dev) at /usr/local/Cellar/cmake/3.24.2/share/cmake/Modules/FetchContent.cmake:1267 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  ThirdpartyToolchain.cmake:69 (FetchContent_Declare)
  ThirdpartyToolchain.cmake:88 (build_folly)
  ThirdpartyToolchain.cmake:137 (build_dependency)
  CMakeLists.txt:282 (resolve_dependency)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found Boost: /usr/local/lib/cmake/Boost-1.80.0/BoostConfig.cmake (found suitable version "1.80.0", minimum required is "1.51.0") found components: context filesystem program_options regex system thread
-- Found gflags from package config /usr/local/lib/cmake/gflags/gflags-config.cmake
-- Found libevent: /usr/local/lib/libevent.dylib
CMake Error at /usr/local/Cellar/cmake/3.24.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
  system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY
  OPENSSL_INCLUDE_DIR) (Required is at least version "1.1.1")
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.24.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/Cellar/cmake/3.24.2/share/cmake/Modules/FindOpenSSL.cmake:599 (find_package_handle_standard_args)
  _build/release/_deps/folly-src/CMake/folly-deps.cmake:81 (find_package)
  _build/release/_deps/folly-src/CMakeLists.txt:118 (include)


-- Configuring incomplete, errors occurred!
See also "/Users/zuochunwei/velox/_build/release/CMakeFiles/CMakeOutput.log".
See also "/Users/zuochunwei/velox/_build/release/CMakeFiles/CMakeError.log".
make[1]: *** [cmake] Error 1
make: *** [release] Error 2
image

zuochunwei avatar Oct 23 '22 01:10 zuochunwei

Can you try setting OPEN_SSL_ROOT_DIR to the installation folder for openssl 1.1:

export OPENSSL_ROOT_DIR=$(brew --prefix [email protected])

See how we do it on our MacOS CircleCI build here: https://github.com/facebookincubator/velox/blob/main/.circleci/config.yml#L166

raulcd avatar Oct 24 '22 09:10 raulcd

Can you try setting OPEN_SSL_ROOT_DIR to the installation folder for openssl 1.1:

export OPENSSL_ROOT_DIR=$(brew --prefix [email protected])

See how we do it on our MacOS CircleCI build here: https://github.com/facebookincubator/velox/blob/main/.circleci/config.yml#L166

it works well, I compiled it successfully on my home MacBook.

for some compile errors report info, I delete the directory of folly manually and caused another compile problem.

zuochunwei avatar Oct 24 '22 15:10 zuochunwei

Is this a duplicate of #2950? If so, let's close this one and consolidate the discussion in #2950.

mbasmanova avatar Oct 25 '22 14:10 mbasmanova

it works well, I compiled it successfully on my home MacBook. If you still have an issue please open a new issue with the new problem :)

assignUser avatar Mar 28 '23 10:03 assignUser