Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failing to build mmcv from source with cuda 12.1 #2860

Closed
2 tasks done
isobelm opened this issue Jul 3, 2023 · 20 comments · Fixed by #2865
Closed
2 tasks done

Failing to build mmcv from source with cuda 12.1 #2860

isobelm opened this issue Jul 3, 2023 · 20 comments · Fixed by #2865
Assignees

Comments

@isobelm
Copy link

isobelm commented Jul 3, 2023

Prerequisite

Environment

'sys.platform', 'linux'
 'Python', '3.8.16 default, Jun 12 2023, 18:09:05 [GCC 11.2.0]'
 'CUDA available', True
 'numpy_random_seed', 2147483648
 'GPU 0', 'NVIDIA GeForce GTX 1080'
 'CUDA_HOME', '/usr/local/cuda'
 'NVCC', 'Cuda compilation tools, release 12.2, V12.2.91'
 'GCC', 'gcc Ubuntu 11.3.0-1ubuntu1~22.04.1 11.3.0'
 'PyTorch', '2.1.0.dev20230703'
 'PyTorch compiling details', 'PyTorch built with:
  - GCC 9.3
  - C++ Version: 201703
  - IntelR Math Kernel Library Version 2020.0.2 Product Build 20200624 for IntelR 64 architecture applications
  - IntelR MKL-DNN v2.7.3 Git Hash 6dbeffbae1f23cbbeae17adb7b5b13f1f37c080e
  - OpenMP 201511 a.k.a. OpenMP 4.5
  - LAPACK is enabled usually provided by MKL
  - NNPACK is enabled
  - CPU capability usage: AVX2
  - CUDA Runtime 12.1
  - NVCC architecture flags: -gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80;-gencode;arch=compute_86,code=sm_86;-gencode;arch=compute_90,code=sm_90
  - CuDNN 8.9.2
  - Magma 2.6.1
  - Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=12.1, CUDNN_VERSION=8.9.2, CXX_COMPILER=/opt/rh/devtoolset-9/root/usr/bin/c++, CXX_FLAGS= -D_GLIBCXX_USE_CXX11_ABI=0 -fabi-version=11 -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -DNDEBUG -DUSE_KINETO -DLIBKINETO_NOROCTRACER -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -O2 -fPIC -Wall -Wextra -Werror=return-type -Werror=non-virtual-dtor -Werror=bool-operation -Wnarrowing -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wno-stringop-overflow -Wno-psabi -Wno-error=pedantic -Wno-error=old-style-cast -Wno-invalid-partial-specialization -Wno-unused-private-field -Wno-aligned-allocation-unavailable -Wno-missing-braces -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Werror=cast-function-type -Wno-stringop-overflow, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_DISABLE_GPU_ASSERTS=ON, TORCH_VERSION=2.1.0, USE_CUDA=ON, USE_CUDNN=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF, 
'
 'TorchVision', '0.16.0.dev20230703'
 'OpenCV', '4.8.0'
 'MMEngine', '0.8.0'
 'MMCV', '2.0.1'
 'MMCV Compiler', 'n/a'
 'MMCV CUDA Compiler', 'n/a'

Reproduces the problem - code sample

N/A

Reproduces the problem - command or script

pip install -e . -v

Reproduces the problem - error message

      474 |   AT_DISPATCH_CASE_ALL_TYPES(__VA_ARGS__)       \
          |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:484:7: note: in expansion of macro ‘AT_DISPATCH_CASE_ALL_TYPES_AND3’
      484 |       AT_DISPATCH_CASE_ALL_TYPES_AND3(                      \
          |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/detail/TensorDataContainer.h:307:9: note: in expansion of macro ‘AT_DISPATCH_ALL_TYPES_AND3’
      307 |         AT_DISPATCH_ALL_TYPES_AND3(
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:56:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’
       56 |     if constexpr (!at::should_include_kernel_dtype(   \
          |        ^~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:221:7: note: in definition of macro ‘AT_DISPATCH_SWITCH’
      221 |       __VA_ARGS__                                                           \
          |       ^~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:68:5: note: in expansion of macro ‘AT_PRIVATE_CHECK_SELECTIVE_BUILD’
       68 |     AT_PRIVATE_CHECK_SELECTIVE_BUILD(enum_type);                        \
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:74:3: note: in expansion of macro ‘AT_PRIVATE_CASE_TYPE_USING_HINT’
       74 |   AT_PRIVATE_CASE_TYPE_USING_HINT(enum_type, scalar_t, __VA_ARGS__)
          |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:234:3: note: in expansion of macro ‘AT_DISPATCH_CASE’
      234 |   AT_DISPATCH_CASE(at::ScalarType::Float, __VA_ARGS__)
          |   ^~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:380:3: note: in expansion of macro ‘AT_DISPATCH_CASE_FLOATING_TYPES’
      380 |   AT_DISPATCH_CASE_FLOATING_TYPES(__VA_ARGS__)
          |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:474:3: note: in expansion of macro ‘AT_DISPATCH_CASE_ALL_TYPES’
      474 |   AT_DISPATCH_CASE_ALL_TYPES(__VA_ARGS__)       \
          |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:484:7: note: in expansion of macro ‘AT_DISPATCH_CASE_ALL_TYPES_AND3’
      484 |       AT_DISPATCH_CASE_ALL_TYPES_AND3(                      \
          |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/detail/TensorDataContainer.h:307:9: note: in expansion of macro ‘AT_DISPATCH_ALL_TYPES_AND3’
      307 |         AT_DISPATCH_ALL_TYPES_AND3(
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:56:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’
       56 |     if constexpr (!at::should_include_kernel_dtype(   \
          |        ^~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:221:7: note: in definition of macro ‘AT_DISPATCH_SWITCH’
      221 |       __VA_ARGS__                                                           \
          |       ^~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:68:5: note: in expansion of macro ‘AT_PRIVATE_CHECK_SELECTIVE_BUILD’
       68 |     AT_PRIVATE_CHECK_SELECTIVE_BUILD(enum_type);                        \
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:74:3: note: in expansion of macro ‘AT_PRIVATE_CASE_TYPE_USING_HINT’
       74 |   AT_PRIVATE_CASE_TYPE_USING_HINT(enum_type, scalar_t, __VA_ARGS__)
          |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:475:3: note: in expansion of macro ‘AT_DISPATCH_CASE’
      475 |   AT_DISPATCH_CASE(SCALARTYPE1, __VA_ARGS__)    \
          |   ^~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:484:7: note: in expansion of macro ‘AT_DISPATCH_CASE_ALL_TYPES_AND3’
      484 |       AT_DISPATCH_CASE_ALL_TYPES_AND3(                      \
          |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/detail/TensorDataContainer.h:307:9: note: in expansion of macro ‘AT_DISPATCH_ALL_TYPES_AND3’
      307 |         AT_DISPATCH_ALL_TYPES_AND3(
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:56:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’
       56 |     if constexpr (!at::should_include_kernel_dtype(   \
          |        ^~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:221:7: note: in definition of macro ‘AT_DISPATCH_SWITCH’
      221 |       __VA_ARGS__                                                           \
          |       ^~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:68:5: note: in expansion of macro ‘AT_PRIVATE_CHECK_SELECTIVE_BUILD’
       68 |     AT_PRIVATE_CHECK_SELECTIVE_BUILD(enum_type);                        \
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:74:3: note: in expansion of macro ‘AT_PRIVATE_CASE_TYPE_USING_HINT’
       74 |   AT_PRIVATE_CASE_TYPE_USING_HINT(enum_type, scalar_t, __VA_ARGS__)
          |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:476:3: note: in expansion of macro ‘AT_DISPATCH_CASE’
      476 |   AT_DISPATCH_CASE(SCALARTYPE2, __VA_ARGS__)    \
          |   ^~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:484:7: note: in expansion of macro ‘AT_DISPATCH_CASE_ALL_TYPES_AND3’
      484 |       AT_DISPATCH_CASE_ALL_TYPES_AND3(                      \
          |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/detail/TensorDataContainer.h:307:9: note: in expansion of macro ‘AT_DISPATCH_ALL_TYPES_AND3’
      307 |         AT_DISPATCH_ALL_TYPES_AND3(
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:56:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’
       56 |     if constexpr (!at::should_include_kernel_dtype(   \
          |        ^~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:221:7: note: in definition of macro ‘AT_DISPATCH_SWITCH’
      221 |       __VA_ARGS__                                                           \
          |       ^~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:68:5: note: in expansion of macro ‘AT_PRIVATE_CHECK_SELECTIVE_BUILD’
       68 |     AT_PRIVATE_CHECK_SELECTIVE_BUILD(enum_type);                        \
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:74:3: note: in expansion of macro ‘AT_PRIVATE_CASE_TYPE_USING_HINT’
       74 |   AT_PRIVATE_CASE_TYPE_USING_HINT(enum_type, scalar_t, __VA_ARGS__)
          |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:477:3: note: in expansion of macro ‘AT_DISPATCH_CASE’
      477 |   AT_DISPATCH_CASE(SCALARTYPE3, __VA_ARGS__)
          |   ^~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:484:7: note: in expansion of macro ‘AT_DISPATCH_CASE_ALL_TYPES_AND3’
      484 |       AT_DISPATCH_CASE_ALL_TYPES_AND3(                      \
          |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/detail/TensorDataContainer.h:307:9: note: in expansion of macro ‘AT_DISPATCH_ALL_TYPES_AND3’
      307 |         AT_DISPATCH_ALL_TYPES_AND3(
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/KernelFunction_impl.h:1,
                     from /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/KernelFunction.h:251,
                     from /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/dispatch/Dispatcher.h:4,
                     from /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:12,
                     from /users/ugrad/imahon/Project/openmmLabSource/mmcv/mmcv/ops/csrc/common/pytorch_cpp_helper.hpp:3,
                     from /users/ugrad/imahon/Project/openmmLabSource/mmcv/mmcv/ops/csrc/pytorch/bbox_overlaps.cpp:2:
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/impl/boxing.h: In static member function ‘static Result c10::impl::BoxedKernelWrapper<Result(Args ...), typename std::enable_if<((c10::guts::conjunction<c10::guts::disjunction<std::is_constructible<c10::IValue, typename std::decay<_Args>::type>, std::is_same<c10::TensorOptions, typename std::decay<_Args>::type> >...>::value && c10::guts::conjunction<c10::guts::disjunction<c10::impl::has_ivalue_to<T, void>, std::is_same<void, T> >, c10::guts::negation<std::is_lvalue_reference<_Tp> > >::value) && (! c10::impl::is_tuple_of_mutable_tensor_refs<Result>::value)), void>::type>::call(const c10::BoxedKernel&, const c10::OperatorHandle&, c10::DispatchKeySet, Args ...)’:
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/impl/boxing.h:229:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’
      229 |     if constexpr (!std::is_same_v<void, Result>) {
          |        ^~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/impl/boxing.h:229:25: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
      229 |     if constexpr (!std::is_same_v<void, Result>) {
          |                         ^~~~~~~~~
          |                         is_same
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/impl/boxing.h:229:35: error: expected primary-expression before ‘void’
      229 |     if constexpr (!std::is_same_v<void, Result>) {
          |                                   ^~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/impl/boxing.h:229:34: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
      229 |     if constexpr (!std::is_same_v<void, Result>) {
          |                                  ^
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/impl/boxing.h:229:35: error: expected ‘)’ before ‘void’
      229 |     if constexpr (!std::is_same_v<void, Result>) {
          |                                   ^~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/impl/boxing.h:229:18: note: to match this ‘(’
      229 |     if constexpr (!std::is_same_v<void, Result>) {
          |                  ^
    In file included from /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/KernelFunction_impl.h:2,
                     from /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/KernelFunction.h:251,
                     from /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/dispatch/Dispatcher.h:4,
                     from /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:12,
                     from /users/ugrad/imahon/Project/openmmLabSource/mmcv/mmcv/ops/csrc/common/pytorch_cpp_helper.hpp:3,
                     from /users/ugrad/imahon/Project/openmmLabSource/mmcv/mmcv/ops/csrc/pytorch/bbox_overlaps.cpp:2:
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/impl/make_boxed_from_unboxed_functor.h: In constructor ‘c10::impl::assert_is_valid_input_type<T, AllowDeprecatedTypes, Enable>::assert_is_valid_input_type()’:
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/impl/make_boxed_from_unboxed_functor.h:108:10: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’
      108 |       if constexpr (guts::typelist::contains<supported_primitive_arg_types, T>::value) {
          |          ^~~~~~~~~
    In file included from /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/KernelFunction_impl.h:2,
                     from /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/KernelFunction.h:251,
                     from /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/dispatch/Dispatcher.h:4,
                     from /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:12,
                     from /users/ugrad/imahon/Project/openmmLabSource/mmcv/mmcv/ops/csrc/common/pytorch_cpp_helper.hpp:3,
                     from /users/ugrad/imahon/Project/openmmLabSource/mmcv/mmcv/ops/csrc/pytorch/bbox_overlaps.cpp:2:
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/impl/make_boxed_from_unboxed_functor.h: In constructor ‘c10::impl::assert_is_valid_output_type<T, AllowDeprecatedTypes, Enable>::assert_is_valid_output_type()’:
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/impl/make_boxed_from_unboxed_functor.h:214:10: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’
      214 |       if constexpr(guts::typelist::contains<supported_primitive_arg_types, T>::value) {
          |          ^~~~~~~~~
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/impl/make_boxed_from_unboxed_functor.h: In static member function ‘static void c10::impl::make_boxed_from_unboxed_functor<KernelFunctor, AllowDeprecatedTypes>::call(c10::OperatorKernel*, const c10::OperatorHandle&, c10::DispatchKeySet, c10::Stack*)’:
    /users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/include/ATen/core/boxing/impl/make_boxed_from_unboxed_functor.h:574:10: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’
      574 |       if constexpr (has_outputs) {
          |          ^~~~~~~~~
    ninja: build stopped: subcommand failed.
    Traceback (most recent call last):
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1916, in _run_ninja_build
        subprocess.run(
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/subprocess.py", line 516, in run
        raise CalledProcessError(retcode, process.args,
    subprocess.CalledProcessError: Command '['ninja', '-v', '-j', '7']' returned non-zero exit status 1.

    The above exception was the direct cause of the following exception:

    Traceback (most recent call last):
      File "<string>", line 2, in <module>
      File "<pip-setuptools-caller>", line 34, in <module>
      File "/users/ugrad/imahon/Project/openmmLabSource/mmcv/setup.py", line 437, in <module>
        setup(
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/__init__.py", line 107, in setup
        return distutils.core.setup(**attrs)
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 185, in setup
        return run_commands(dist)
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
        dist.run_commands()
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
        self.run_command(cmd)
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/dist.py", line 1244, in run_command
        super().run_command(command)
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
        cmd_obj.run()
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/command/develop.py", line 34, in run
        self.install_for_development()
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/command/develop.py", line 115, in install_for_development
        self.run_command('build_ext')
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
        self.distribution.run_command(command)
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/dist.py", line 1244, in run_command
        super().run_command(command)
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
        cmd_obj.run()
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 84, in run
        _build_ext.run(self)
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
        self.build_extensions()
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 864, in build_extensions
        build_ext.build_extensions(self)
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
        self._build_extensions_serial()
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
        self.build_extension(ext)
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 246, in build_extension
        _build_ext.build_extension(self, ext)
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 548, in build_extension
        objects = self.compiler.compile(
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 677, in unix_wrap_ninja_compile
        _write_ninja_file_and_compile_objects(
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1589, in _write_ninja_file_and_compile_objects
        _run_ninja_build(
      File "/users/ugrad/imahon/.conda/envs/openmmlab-source/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1932, in _run_ninja_build
        raise RuntimeError(message) from e
    RuntimeError: Error compiling objects for extension
    error: subprocess-exited-with-error

    × python setup.py develop did not run successfully.
    │ exit code: 1
    ╰─> See above for output.

    note: This error originates from a subprocess, and is likely not a problem with pip.
    full command: /users/ugrad/imahon/.conda/envs/openmmlab-source/bin/python -c '
    exec(compile('"'"''"'"''"'"'
    # This is <pip-setuptools-caller> -- a caller that pip uses to run setup.py
    #
    # - It imports setuptools before invoking setup.py, to enable projects that directly
    #   import from `distutils.core` to work with newer packaging standards.
    # - It provides a clear error message when setuptools is not installed.
    # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so
    #   setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning:
    #     manifest_maker: standard file '"'"'-c'"'"' not found".
    # - It generates a shim setup.py, for handling setup.cfg-only projects.
    import os, sys, tokenize

    try:
        import setuptools
    except ImportError as error:
        print(
            "ERROR: Can not execute `setup.py` since setuptools is not available in "
            "the build environment.",
            file=sys.stderr,
        )
        sys.exit(1)

    __file__ = %r
    sys.argv[0] = __file__

    if os.path.exists(__file__):
        filename = __file__
        with tokenize.open(__file__) as f:
            setup_py_code = f.read()
    else:
        filename = "<auto-generated setuptools caller>"
        setup_py_code = "from setuptools import setup; setup()"

    exec(compile(setup_py_code, filename, "exec"))
    '"'"''"'"''"'"' % ('"'"'/users/ugrad/imahon/Project/openmmLabSource/mmcv/setup.py'"'"',), "<pip-setuptools-caller>", "exec"))' develop --no-deps
    cwd: /users/ugrad/imahon/Project/openmmLabSource/mmcv/
error: subprocess-exited-with-error

× python setup.py develop did not run successfully.
│ exit code: 1
╰─> See above for output.

Additional information

I have been unable to build mmcv from source in my current environment. This may be due to my Cuda version being to recent, but that is difficult to change as I do not have admin powers on the computer I'm using.

Should this be possible? Am I doing something wrong? Any help would be appreciated.

@Aayush2003Gupta
Copy link

I also an getting a similar error in trying to build mmcv from source please provide a solution .
I am on Cuda 12.1 and Ubuntu 22.04.2 and am using the Pytorch 2.1.0.dev20230704+cu121
Thanks a lot for your help!!

@douo
Copy link

douo commented Jul 5, 2023

Changing c++14 to c++17 in this line and this line can temporarily fix this issue.

@isobelm
Copy link
Author

isobelm commented Jul 7, 2023

Changing c++14 to c++17 in this line and this line can temporarily fix this issue.

This worked for me, thank you

@grimoire
Copy link
Member

Thanks for the notification. This is caused by nightly torch

https://github.com/pytorch/pytorch/blob/main/aten/src/ATen/ATen.h

Torch has update their c++ compatible since 2.1.0+. We will update the compatible of MMCV ASAP.

@grimoire grimoire mentioned this issue Jul 10, 2023
7 tasks
@grimoire grimoire linked a pull request Jul 10, 2023 that will close this issue
7 tasks
@bluejaelly
Copy link

Hello! Any updates on this? I cannot install mmcv, hence I cannot use any of the other tools like mmdetection or mmyolo (I want to try out RTMDet).

I ran the following: mim install "mmcv>=2.0.0"

And I get the following error: C:\anaconda3\envs\openmmlab\lib\site-packages\torch\include\c10/util/C++17.h(27): fatal error C1189: #error: You need C++17 to compile PyTorch

I assume this is related to the issue posted by isobelm, hence I'm making a comment here. If you have a solution to this problem that I can try, that'd be great! Thanks for your hard work on this!

@maxpain
Copy link

maxpain commented Aug 11, 2023

Any updates?

@bluejaelly
Copy link

Hello! Would appreciate an update on this. Thanks!

@isobelm
Copy link
Author

isobelm commented Aug 22, 2023

Changing c++14 to c++17 in this line and this line can temporarily fix this issue.

Did you try this?

@bluejaelly
Copy link

I haven’t yet since I thought that’s for building from source. I’m installing mmcv over mim, as directed in the mmdetection repo… I’m trying to use RTMDet. Is there a way to use mmcv from source with the changes you mentioned (without mim install)? Thanks!

@isobelm
Copy link
Author

isobelm commented Aug 22, 2023

I was using mmPose, which also recommended installing via mim, I installed from source to get around the issues I was having installing from mim (probably the same ones you're having). As far as I know, you shouldn't have any issue using RTMDet if you install mmcv from source with the changes described in this thread, although I'm no expert.

@bluejaelly
Copy link

Oh awesome, will try that out! This is a very dumb question, but how do you connect mmcv to other mm repos after installing from source…?

@isobelm
Copy link
Author

isobelm commented Aug 22, 2023

There are docs that describe how to build from source, just follow the instructions included and verify the installation and it'll work, there's no extra step to connect them: https://mmcv.readthedocs.io/en/latest/get_started/build.html#build-mmcv

@bluejaelly
Copy link

Awesome! Thanks! I’ll give this a shot :))

@maxpain
Copy link

maxpain commented Aug 31, 2023

I'm trying to build using this Dockerfike:

FROM nvidia/cuda:12.1.0-cudnn8-devel-ubuntu22.04 AS mmcv-builder

ENV FORCE_CUDA 1
ENV MMCV_WITH_OPS 1

RUN apt update && apt install -y python3 python3-pip git

ARG PYTORCH_VERSION=2.1.0.dev20230831+cu121
ARG TORCHVISION_VERSION=v0.16.0.dev20230831
RUN pip install --pre torch==$PYTORCH_VERSION torchvision==$TORCHVISION_VERSION --index-url https://download.pytorch.org/whl/nightly/cu121
RUN pip install openmim
RUN git clone --depth 1 --branch fix-cpp17 https://github.com/grimoire/mmcv
WORKDIR mmcv
RUN mim install .

But getting this error:

#26 391.8       x86_64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DMMCV_WITH_CUDA -I/mmcv/mmcv/ops/csrc/pytorch -I/mmcv/mmcv/ops/csrc/common -I/mmcv/mmcv/ops/csrc/common/cuda -I/usr/local/lib/python3.10/dist-packages/torch/include -I/usr/local/lib/python3.10/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.10/dist-packages/torch/include/TH -I/usr/local/lib/python3.10/dist-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c ./mmcv/ops/csrc/pytorch/cpu/voxelization.cpp -o build/temp.linux-x86_64-3.10/./mmcv/ops/csrc/pytorch/cpu/voxelization.o -std=c++17 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0
#26 391.8       Traceback (most recent call last):
#26 391.8         File "<string>", line 2, in <module>
#26 391.8         File "<pip-setuptools-caller>", line 34, in <module>
#26 391.8         File "/mmcv/setup.py", line 440, in <module>
#26 391.8           setup(
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/__init__.py", line 155, in setup
#26 391.8           return distutils.core.setup(**attrs)
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/core.py", line 148, in setup
#26 391.8           return run_commands(dist)
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/core.py", line 163, in run_commands
#26 391.8           dist.run_commands()
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 967, in run_commands
#26 391.8           self.run_command(cmd)
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 986, in run_command
#26 391.8           cmd_obj.run()
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/command/install.py", line 68, in run
#26 391.8           return orig.install.run(self)
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/install.py", line 662, in run
#26 391.8           self.run_command('build')
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/cmd.py", line 313, in run_command
#26 391.8           self.distribution.run_command(command)
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 986, in run_command
#26 391.8           cmd_obj.run()
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build.py", line 135, in run
#26 391.8           self.run_command(cmd_name)
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/cmd.py", line 313, in run_command
#26 391.8           self.distribution.run_command(command)
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 986, in run_command
#26 391.8           cmd_obj.run()
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/command/build_ext.py", line 79, in run
#26 391.8           _build_ext.run(self)
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build_ext.py", line 339, in run
#26 391.8           self.build_extensions()
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 873, in build_extensions
#26 391.8           build_ext.build_extensions(self)
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build_ext.py", line 448, in build_extensions
#26 391.8           self._build_extensions_serial()
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build_ext.py", line 473, in _build_extensions_serial
#26 391.8           self.build_extension(ext)
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/command/build_ext.py", line 202, in build_extension
#26 391.8           _build_ext.build_extension(self, ext)
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build_ext.py", line 528, in build_extension
#26 391.8           objects = self.compiler.compile(sources,
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/ccompiler.py", line 574, in compile
#26 391.8           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 609, in unix_wrap_single_compile
#26 391.8           cflags = unix_cuda_flags(cflags)
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 576, in unix_cuda_flags
#26 391.8           cflags + _get_cuda_arch_flags(cflags))
#26 391.8         File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 1980, in _get_cuda_arch_flags
#26 391.8           arch_list[-1] += '+PTX'
#26 391.8       IndexError: list index out of range
#26 391.8       [end of output]

@maxpain
Copy link

maxpain commented Aug 31, 2023

Found the solution.
Added ENV TORCH_CUDA_ARCH_LIST="5.2 6.0 6.1 7.0 7.5 8.0 8.6 9.0+PTX"

@juWuBabaaaa
Copy link

Thanks for the notification. This is caused by nightly torch

https://github.com/pytorch/pytorch/blob/main/aten/src/ATen/ATen.h

Torch has update their c++ compatible since 2.1.0+. We will update the compatible of MMCV ASAP.

when will the update completed? Very unconvenient for pytorch 2.1.0 users.

@otterslide
Copy link

otterslide commented Oct 7, 2023

What can I do to get past this error on Ubuntu? I'm trying to install ComfyUI Impact Pack on Ubuntu 23, and there's no way to enable MMCV because of this error. I believe it's related?
Thanks.

 FAILED: /tmp/pip-install-c_a4g52g/mmcv_773058720f4148d5b532438fe635ac9e/build/temp.linux-x86_64-3.11/mmcv/ops/csrc/pytorch/bezier_align.o
      c++ -MMD -MF /tmp/pip-install-c_a4g52g/mmcv_773058720f4148d5b532438fe635ac9e/build/temp.linux-x86_64-3.11/mmcv/ops/csrc/pytorch/bezier_align.o.d -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DMMCV_WITH_CUDA -I/tmp/pip-install-c_a4g52g/mmcv_773058720f4148d5b532438fe635ac9e/mmcv/ops/csrc/pytorch -I/tmp/pip-install-c_a4g52g/mmcv_773058720f4148d5b532438fe635ac9e/mmcv/ops/csrc/common -I/tmp/pip-install-c_a4g52g/mmcv_773058720f4148d5b532438fe635ac9e/mmcv/ops/csrc/common/cuda -I/home/cris/comfy/ComfyUI/lib/python3.11/site-packages/torch/include -I/home/cris/comfy/ComfyUI/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/home/cris/comfy/ComfyUI/lib/python3.11/site-packages/torch/include/TH -I/home/cris/comfy/ComfyUI/lib/python3.11/site-packages/torch/include/THC -I/home/cris/comfy/ComfyUI/include -I/usr/include/python3.11 -c -c /tmp/pip-install-c_a4g52g/mmcv_773058720f4148d5b532438fe635ac9e/mmcv/ops/csrc/pytorch/bezier_align.cpp -o /tmp/pip-install-c_a4g52g/mmcv_773058720f4148d5b532438fe635ac9e/build/temp.linux-x86_64-3.11/mmcv/ops/csrc/pytorch/bezier_align.o -std=c++14 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0
      In file included from /home/cris/comfy/ComfyUI/lib/python3.11/site-packages/torch/include/c10/util/string_view.h:4,
                       from /home/cris/comfy/ComfyUI/lib/python3.11/site-packages/torch/include/c10/util/StringUtil.h:6,
                       from /home/cris/comfy/ComfyUI/lib/python3.11/site-packages/torch/include/c10/util/Exception.h:5,
                       from /home/cris/comfy/ComfyUI/lib/python3.11/site-packages/torch/include/ATen/core/Generator.h:11,
                       from /home/cris/comfy/ComfyUI/lib/python3.11/site-packages/torch/include/ATen/CPUGeneratorImpl.h:3,
                       from /home/cris/comfy/ComfyUI/lib/python3.11/site-packages/torch/include/ATen/Context.h:3,
                       from /home/cris/comfy/ComfyUI/lib/python3.11/site-packages/torch/include/ATen/ATen.h:4,
                       from /home/cris/comfy/ComfyUI/lib/python3.11/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                       from /tmp/pip-install-c_a4g52g/mmcv_773058720f4148d5b532438fe635ac9e/mmcv/ops/csrc/common/pytorch_cpp_helper.hpp:3,
                       from /tmp/pip-install-c_a4g52g/mmcv_773058720f4148d5b532438fe635ac9e/mmcv/ops/csrc/pytorch/bezier_align.cpp:2:
      /home/cris/comfy/ComfyUI/lib/python3.11/site-packages/torch/include/c10/util/C++17.h:27:2: error: #error You need C++17 to compile PyTorch
         27 | #error You need C++17 to compile PyTorch

@zhouzaida
Copy link
Member

Thanks for the notification. This is caused by nightly torch
https://github.com/pytorch/pytorch/blob/main/aten/src/ATen/ATen.h
Torch has update their c++ compatible since 2.1.0+. We will update the compatible of MMCV ASAP.

when will the update completed? Very unconvenient for pytorch 2.1.0 users.

Hi @juWuBabaaaa , we will provide the pre-built packages for torch2.1 soon.

@otterslide
Copy link

What can I do to get past this error on Ubuntu? I'm trying to install ComfyUI Impact Pack on Ubuntu 23, and there's no way to enable MMCV because of this error. I believe it's related? Thanks.

Ended up installing 2.0.0 from source with the instructions in the GiHub, and replaced all "c++14" to "c++17" in setup.py before running install.

@kongqingthu
Copy link

I added statements for compiler selection in Cmakelist.txt and successfully compiled them, I hope it will be helpful to you

set(CMAKE_C_COMPILER "/usr/bin/gcc-9")
set(CMAKE_CXX_COMPILER "/usr/bin/g++-9")

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

Successfully merging a pull request may close this issue.

10 participants