Skip to content
This repository has been archived by the owner on Apr 1, 2021. It is now read-only.

Can't Build the Project on MacOs #121

Open
serhaty opened this issue Sep 23, 2019 · 5 comments
Open

Can't Build the Project on MacOs #121

serhaty opened this issue Sep 23, 2019 · 5 comments

Comments

@serhaty
Copy link

serhaty commented Sep 23, 2019

I am trying to build the project but it is failing errors on llvm-project directory. Here are steps I am following to build the project on my mac laptop:

# Follow steps to install pytorch on: https://github.com/pytorch/pytorch#from-source
# in torch/tvm folder running command to build
python setup.py develop

And this is my environment setup of the tools:

(pytorch) [11:23:56 AM] /Users/serhaty/local/tvm
 $ cmake --version
cmake version 3.14.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).
(pytorch) [11:24:07 AM] /Users/serhaty/local/tvm
 $ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 11.0.0 (clang-1100.0.33.8)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
(pytorch) [11:24:12 AM] /Users/serhaty/local/tvm
 $ llvm-config --version
10.0.0svn
(pytorch) [11:24:20 AM] /Users/serhaty/local/tvm
 $ clang --version
clang version 10.0.0 (https://github.com/llvm/llvm-project.git 77297f0761d2009e25d5d709cdcb041229f3493c)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /Users/serhaty/local/llvm-project/build/bin
(pytorch) [11:24:24 AM] /Users/serhaty/local/tvm
 $ python --version
Python 3.7.4

Here is the output from the above command:

$ python setup.py develop
running develop
running build_ext
running cmake_build
[  8%] Built target tvm_runtime
[  8%] Building CXX object tvm/CMakeFiles/tvm.dir/src/codegen/llvm/codegen_amdgpu.cc.o
[  8%] Building CXX object tvm/CMakeFiles/tvm.dir/src/codegen/llvm/codegen_arm.cc.o
[  9%] Building CXX object tvm/CMakeFiles/tvm.dir/src/codegen/llvm/codegen_llvm.cc.o
[  9%] Building CXX object tvm/CMakeFiles/tvm.dir/src/codegen/llvm/codegen_cpu.cc.o
[ 10%] Building CXX object tvm/CMakeFiles/tvm.dir/src/codegen/llvm/codegen_x86_64.cc.o
[ 10%] Building CXX object tvm/CMakeFiles/tvm.dir/src/codegen/llvm/codegen_nvptx.cc.o
[ 11%] Building CXX object tvm/CMakeFiles/tvm.dir/src/codegen/llvm/llvm_module.cc.o
[ 11%] Building CXX object tvm/CMakeFiles/tvm.dir/src/codegen/llvm/intrin_rule_rocm.cc.o
[ 11%] Building CXX object tvm/CMakeFiles/tvm.dir/src/codegen/llvm/llvm_common.cc.o
[ 11%] Building CXX object tvm/CMakeFiles/tvm.dir/src/codegen/llvm/intrin_rule_llvm.cc.o
[ 11%] Building CXX object tvm/CMakeFiles/tvm.dir/src/runtime/c_dsl_api.cc.o
[ 11%] Building CXX object tvm/CMakeFiles/tvm.dir/src/contrib/hybrid/codegen_hybrid.cc.o
[ 12%] Building CXX object tvm/CMakeFiles/tvm.dir/src/runtime/c_runtime_api.cc.o
[ 12%] Building CXX object tvm/CMakeFiles/tvm.dir/src/runtime/builtin_fp16.cc.o
[ 13%] Building CXX object tvm/CMakeFiles/tvm.dir/src/runtime/cpu_device_api.cc.o
[ 13%] Building CXX object tvm/CMakeFiles/tvm.dir/src/runtime/dso_module.cc.o
[ 13%] Building CXX object tvm/CMakeFiles/tvm.dir/src/runtime/file_util.cc.o
In file included from /Users/serhaty/local/tvm/tvm/src/codegen/llvm/llvm_common.cc:30:
In file included from /Users/serhaty/local/tvm/tvm/src/codegen/llvm/llvm_common.h:29:
In file included from /Users/serhaty/local/llvm-project/llvm/include/llvm/ExecutionEngine/MCJIT.h:17:
In file included from /Users/serhaty/local/llvm-project/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h:18:
In file included from /Users/serhaty/local/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:12:
In file included from /Users/serhaty/local/llvm-project/llvm/include/llvm/ADT/Hashing.h:48:
In file included from /Users/serhaty/local/llvm-project/llvm/include/llvm/Support/Host.h:16:
In file included from /Users/serhaty/local/llvm-project/llvm/include/llvm/ADT/StringMap.h:16:
In file included from /Users/serhaty/local/llvm-project/llvm/include/llvm/ADT/StringRef.h:12:
/Users/serhaty/local/llvm-project/llvm/include/llvm/ADT/STLExtras.h:555:49: error: no template named 'index_sequence' in namespace 'std'
  template <size_t... Ns> value_type deref(std::index_sequence<Ns...>) const {
                                           ~~~~~^
/Users/serhaty/local/llvm-project/llvm/include/llvm/ADT/STLExtras.h:560:36: error: no template named 'index_sequence' in namespace 'std'
  decltype(iterators) tup_inc(std::index_sequence<Ns...>) const {
                              ~~~~~^
/Users/serhaty/local/llvm-project/llvm/include/llvm/ADT/STLExtras.h:565:36: error: no template named 'index_sequence' in namespace 'std'
  decltype(iterators) tup_dec(std::index_sequence<Ns...>) const {
                              ~~~~~^
/Users/serhaty/local/llvm-project/llvm/include/llvm/ADT/STLExtras.h:572:46: error: no member named 'index_sequence_for' in namespace 'std'
  value_type operator*() { return deref(std::index_sequence_for<Iters...>{}); }
                                        ~~~~~^
/Users/serhaty/local/llvm-project/llvm/include/llvm/ADT/STLExtras.h:572:65: error: 'Iters' does not refer to a value
  value_type operator*() { return deref(std::index_sequence_for<Iters...>{}); }
                                                                ^
/Users/serhaty/local/llvm-project/llvm/include/llvm/ADT/STLExtras.h:547:41: note: declared here
template <typename ZipType, typename... Iters>
                                        ^
/Users/serhaty/local/llvm-project/llvm/include/llvm/ADT/STLExtras.h:575:23: error: no member named 'index_sequence_for' in namespace 'std'
    return deref(std::index_sequence_for<Iters...>{});
                 ~~~~~^
/Users/serhaty/local/llvm-project/llvm/include/llvm/ADT/STLExtras.h:575:42: error: 'Iters' does not refer to a value
    return deref(std::index_sequence_for<Iters...>{});
                                         ^
/Users/serhaty/local/llvm-project/llvm/include/llvm/ADT/STLExtras.h:547:41: note: declared here
template <typename ZipType, typename... Iters>
                                        ^
/Users/serhaty/local/llvm-project/llvm/include/llvm/ADT/STLExtras.h:579:30: error: no member named 'index_sequence_for' in namespace 'std'
    iterators = tup_inc(std::index_sequence_for<Iters...>{});
                        ~~~~~^
/Users/serhaty/local/llvm-project/llvm/include/llvm/ADT/STLExtras.h:579:49: error: 'Iters' does not refer to a value
    iterators = tup_inc(std::index_sequence_for<Iters...>{});
                                                ^
/Users/serhaty/local/llvm-project/llvm/include/llvm/ADT/STLExtras.h:547:41: note: declared here
template <typename ZipType, typename... Iters>
...
@serhaty
Copy link
Author

serhaty commented Sep 23, 2019

I downgraded my llvm version to 8.0.1 using brew but now getting some build failure, when building torch_tvm itself. here is the log from first error:

In file included from /Users/serhaty/local/tvm/torch_tvm/operators.cpp:6:
In file included from /Users/serhaty/local/pytorch/torch/include/torch/csrc/autograd/record_function.h:3:
In file included from /Users/serhaty/local/pytorch/torch/include/ATen/core/ivalue.h:5:
In file included from /Users/serhaty/local/pytorch/torch/include/ATen/core/TensorBody.h:11:
In file included from /Users/serhaty/local/pytorch/torch/include/c10/core/TensorImpl.h:17:
In file included from /Users/serhaty/local/pytorch/torch/include/c10/util/Logging.h:28:
/Users/serhaty/local/pytorch/torch/include/c10/util/logging_is_not_google_glog.h:169:9: warning: 'CHECK_NOTNULL' macro redefined [-Wmacro-redefined]
#define CHECK_NOTNULL(val) \
        ^
/Users/serhaty/local/tvm/tvm/3rdparty/dmlc-core/include/dmlc/logging.h:215:9: note: previous definition is here
#define CHECK_NOTNULL(x) \
        ^
In file included from /Users/serhaty/local/tvm/torch_tvm/compiler.cpp:1:
In file included from /Users/serhaty/local/tvm/torch_tvm/compiler.h:3:
In file included from /Users/serhaty/local/pytorch/torch/include/torch/csrc/jit/argument_spec.h:3:
In file included from /Users/serhaty/local/pytorch/torch/include/ATen/core/jit_type.h:3:
In file included from /Users/serhaty/local/pytorch/torch/include/ATen/core/TensorBody.h:3:
In file included from /Users/serhaty/local/pytorch/torch/include/c10/core/Device.h:3:
In file included from /Users/serhaty/local/pytorch/torch/include/c10/core/DeviceType.h:8:
In file included from /Users/serhaty/local/pytorch/torch/include/c10/macros/Macros.h:146:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/sstream:174:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:138:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ios:216:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:15:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string:505:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string_view:176:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__string:57:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:641:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/type_traits:3161:38: error: implicit instantiation of undefined
      template 'std::__1::hash<c10::ScalarType>'
    : public integral_constant<bool, __is_constructible(_Tp, _Args...)>
                                     ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/type_traits:3420:14: note: in instantiation of template class
      'std::__1::is_constructible<std::__1::hash<c10::ScalarType>, const std::__1::hash<c10::ScalarType> &>' requested here
    : public is_constructible<_Tp,
             ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:1597:5: note: in instantiation of template class
      'std::__1::is_copy_constructible<std::__1::hash<c10::ScalarType> >' requested here
    is_copy_constructible<_Hash>::value &&
    ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__hash_table:868:19: note: in instantiation of template type alias
      '__check_hash_requirements' requested here
    static_assert(__check_hash_requirements<_Key, _Hash>::value,
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__hash_table:883:1: note: in instantiation of template class
      'std::__1::__enforce_unordered_container_requirements<c10::ScalarType, std::__1::hash<c10::ScalarType>, std::__1::equal_to<c10::ScalarType> >' requested here
typename __enforce_unordered_container_requirements<_Key, _Hash, _Equal>::type
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/unordered_map:856:26: note: while substituting explicitly-specified
      template arguments into function template '__diagnose_unordered_container_requirements'
    static_assert(sizeof(__diagnose_unordered_container_requirements<_Key, _Hash, _Pred>(0)), "");
                         ^
/Users/serhaty/local/tvm/torch_tvm/compiler.cpp:92:73: note: in instantiation of template class 'std::__1::unordered_map<c10::ScalarType, tvm::DataType,
      std::__1::hash<c10::ScalarType>, std::__1::equal_to<c10::ScalarType>, std::__1::allocator<std::__1::pair<const c10::ScalarType, tvm::DataType> > >' requested here
  static const std::unordered_map<at::ScalarType, tvm::relay::DataType> type_mapping = {
                                                                        ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/type_traits:417:50: note: template is declared here
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS hash;
                                                 ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/type_traits:3161:38: error: implicit instantiation of undefined
      template 'std::__1::hash<c10::ScalarType>'
    : public integral_constant<bool, __is_constructible(_Tp, _Args...)>
                                     ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/type_traits:3434:14: note: in instantiation of template class
      'std::__1::is_constructible<std::__1::hash<c10::ScalarType>, std::__1::hash<c10::ScalarType> &&>' requested here
    : public is_constructible<_Tp, typename add_rvalue_reference<_Tp>::type>
             ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:1598:5: note: in instantiation of template class
      'std::__1::is_move_constructible<std::__1::hash<c10::ScalarType> >' requested here
    is_move_constructible<_Hash>::value &&
    ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__hash_table:868:19: note: in instantiation of template type alias
      '__check_hash_requirements' requested here
    static_assert(__check_hash_requirements<_Key, _Hash>::value,
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__hash_table:883:1: note: in instantiation of template class
      'std::__1::__enforce_unordered_container_requirements<c10::ScalarType, std::__1::hash<c10::ScalarType>, std::__1::equal_to<c10::ScalarType> >' requested here
typename __enforce_unordered_container_requirements<_Key, _Hash, _Equal>::type

@serhaty
Copy link
Author

serhaty commented Sep 23, 2019

@bwasti here is the version of clang++

 $ clang++ --version
clang version 8.0.1 (tags/RELEASE_801/final)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /usr/local/opt/llvm/bin

@bwasti
Copy link
Contributor

bwasti commented Sep 23, 2019

the last error seems related to pytorch -- can you try a different version of PT?

@serhaty
Copy link
Author

serhaty commented Sep 23, 2019

I did rebuild both pytorch and tvm with clang++ which cleared recent errors but looks like there is one more error remaining:

In file included from /Users/serhaty/local/tvm/torch_tvm/compiler.h:5:
In file included from /Users/serhaty/local/tvm/tvm/include/tvm/relay/expr.h:27:                                                                                                 In file included from /Users/serhaty/local/tvm/tvm/include/tvm/attrs.h:48:
In file included from /Users/serhaty/local/tvm/tvm/3rdparty/dmlc-core/include/dmlc/common.h:14:                                                                                 /Users/serhaty/local/tvm/tvm/3rdparty/dmlc-core/include/dmlc/./logging.h:257:9: warning: 'LOG' macro redefined [-Wmacro-redefined]
#define LOG(severity) LOG_##severity.stream()                                                                                                                                           ^
/Users/serhaty/local/pytorch/torch/include/c10/util/logging_is_not_google_glog.h:96:9: note: previous definition is here                                                        #define LOG(n)                   \                                                                                                                                                      ^
In file included from /Users/serhaty/local/tvm/torch_tvm/register.cpp:8:                                                                                                        In file included from /Users/serhaty/local/tvm/torch_tvm/compiler.h:5:                                                                                                          In file included from /Users/serhaty/local/tvm/tvm/include/tvm/relay/expr.h:27:
In file included from /Users/serhaty/local/tvm/tvm/include/tvm/attrs.h:48:                                                                                                      In file included from /Users/serhaty/local/tvm/tvm/3rdparty/dmlc-core/include/dmlc/common.h:14:
/Users/serhaty/local/tvm/tvm/3rdparty/dmlc-core/include/dmlc/./logging.h:259:9: warning: 'LOG_IF' macro redefined [-Wmacro-redefined]
#define LOG_IF(severity, condition) \                                                                                                                                                   ^
/Users/serhaty/local/pytorch/torch/include/c10/util/logging_is_not_google_glog.h:101:9: note: previous definition is here                                                       #define LOG_IF(n, condition)                    \                                                                                                                                       ^
18 warnings and 1 error generated.
make[2]: *** [CMakeFiles/_torch_tvm.dir/torch_tvm/memory_utils.cpp.o] Error 1                                                                                                   make[2]: *** Waiting for unfinished jobs....
/Users/serhaty/local/tvm/torch_tvm/register.cpp:124:14: error: conversion from 'tvm::runtime::TVMArgValue' to 'size_t' (aka 'unsigned long') is ambiguous
      size_t id = args[0];                                                                                                                                                                   ^    ~~~~~~~
/Users/serhaty/local/tvm/tvm/include/tvm/runtime/packed_func.h:441:3: note: candidate function
  operator double() const {                                                                                                                                                       ^
/Users/serhaty/local/tvm/tvm/include/tvm/runtime/packed_func.h:451:3: note: candidate function                                                                                    operator int64_t() const {
  ^
/Users/serhaty/local/tvm/tvm/include/tvm/runtime/packed_func.h:455:3: note: candidate function                                                                                    operator uint64_t() const {                                                                                                                                                     ^
/Users/serhaty/local/tvm/tvm/include/tvm/runtime/packed_func.h:459:3: note: candidate function
  operator int() const {                                                                                                                                                          ^
/Users/serhaty/local/tvm/tvm/include/tvm/runtime/packed_func.h:465:3: note: candidate function
  operator bool() const {                                                                                                                                                         ^
18 warnings and 1 error generated.                                                                                                                                              make[2]: *** [CMakeFiles/_torch_tvm.dir/torch_tvm/register.cpp.o] Error 1
make[1]: *** [CMakeFiles/_torch_tvm.dir/all] Error 2
make: *** [all] Error 2
Traceback (most recent call last):
  File "setup.py", line 273, in <module>                                                                                                                                            url='https://github.com/pytorch/tvm',
  File "//anaconda3/envs/pytorch/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "//anaconda3/envs/pytorch/lib/python3.7/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "//anaconda3/envs/pytorch/lib/python3.7/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)                                                                                                                                                         File "//anaconda3/envs/pytorch/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()                                                                                                                                                                 File "setup.py", line 181, in run
    self.run_command('build_ext')
  File "//anaconda3/envs/pytorch/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "//anaconda3/envs/pytorch/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "setup.py", line 187, in run                                                                                                                                                 self.run_command('cmake_build')                                                                                                                                               File "//anaconda3/envs/pytorch/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)                                                                                                                                        File "//anaconda3/envs/pytorch/lib/python3.7/distutils/dist.py", line 985, in run_command                                                                                         cmd_obj.run()
  File "setup.py", line 176, in run                                                                                                                                                 self._run_build()                                                                                                                                                             File "setup.py", line 165, in _run_build
    subprocess.check_call(build_args)                                                                                                                                             File "//anaconda3/envs/pytorch/lib/python3.7/subprocess.py", line 347, in check_call                                                                                              raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['//anaconda3/envs/pytorch/bin/cmake', '--build', '.', '--', '-j', '16']' returned non-zero exit status 2.

@yinghai
Copy link

yinghai commented Sep 23, 2019

/Users/serhaty/local/tvm/torch_tvm/register.cpp:124:14: error: conversion from 'tvm::runtime::TVMArgValue' to 'size_t' (aka 'unsigned long') is ambiguous
      size_t id = args[0];                                                                                                                                                                   

seems legit

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants