vision icon indicating copy to clipboard operation
vision copied to clipboard

Difficulty building on macOS

Open joshestein opened this issue 9 months ago • 9 comments

🐛 Describe the bug

I am having difficulty building from source on macOS with an M1 chip. Here is what I've tried:

  1. conda create -n .torchvision_venv python=3.11
  2. conda activate .torchvision_venv
  3. conda install pytorch-nightly::pytorch -c pytorch-nightly
  4. git clone https://github.com/pytorch/vision.git
  5. cd vision
  6. MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python setup.py develop

This results in the following:

Error output
/private/tmp/vision/setup.py:10: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  from pkg_resources import DistributionNotFound, get_distribution, parse_version
Building wheel torchvision-0.19.0a0+947ae1d
Compiling extensions with following flags:
  FORCE_CUDA: False
  FORCE_MPS: False
  DEBUG: False
  TORCHVISION_USE_PNG: True
  TORCHVISION_USE_JPEG: True
  TORCHVISION_USE_NVJPEG: True
  TORCHVISION_USE_FFMPEG: True
  TORCHVISION_USE_VIDEO_CODEC: True
  NVCC_FLAGS: 
Compiling with debug mode OFF
Found PNG library
Building torchvision with PNG image support
  libpng version: 1.6.43
  libpng include path: /opt/homebrew/Cellar/libpng/1.6.43/include/libpng16
Running build on conda-build: False
Running build on conda: True
Building torchvision without JPEG image support
Building torchvision without NVJPEG image support
Building torchvision without ffmpeg support
Building torchvision without video codec support
running develop
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` and ``easy_install``.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://github.com/pypa/setuptools/issues/917 for details.
        ********************************************************************************

!!
  easy_install.initialize_options(self)
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  self.initialize_options()
running egg_info
creating torchvision.egg-info
writing torchvision.egg-info/PKG-INFO
writing dependency_links to torchvision.egg-info/dependency_links.txt
writing requirements to torchvision.egg-info/requires.txt
writing top-level names to torchvision.egg-info/top_level.txt
writing manifest file 'torchvision.egg-info/SOURCES.txt'
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/utils/cpp_extension.py:499: UserWarning: Attempted to use ninja as the BuildExtension backend but we could not find ninja.. Falling back to using the slow distutils backend.
  warnings.warn(msg.format('we could not find ninja.'))
reading manifest file 'torchvision.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
adding license file 'LICENSE'
writing manifest file 'torchvision.egg-info/SOURCES.txt'
running build_ext
building 'torchvision._C' extension
creating build
creating build/temp.macosx-11.1-arm64-cpython-311
creating build/temp.macosx-11.1-arm64-cpython-311/private
creating build/temp.macosx-11.1-arm64-cpython-311/private/tmp
creating build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision
creating build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision
creating build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc
creating build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/ops
creating build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/ops/autocast
creating build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/ops/autograd
creating build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/ops/cpu
creating build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/ops/mps
creating build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/ops/quantized
creating build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/ops/quantized/cpu
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:7:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/Context.h:4:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/CPUGeneratorImpl.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/Generator.h:18:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/core/GeneratorImpl.h:8:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/core/TensorImpl.h:13:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/core/Storage.h:6:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/core/StorageImpl.h:8:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/core/impl/COWDeleter.h:36:50: error: 'shared_mutex' is unavailable: introduced in macOS 10.12
  using NotLastReference = std::shared_lock<std::shared_mutex>;
                                                 ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/shared_mutex:187:104: note: 'shared_mutex' has been explicitly marked unavailable here
    _LIBCPP_AVAILABILITY_SHARED_MUTEX _LIBCPP_THREAD_SAFETY_ANNOTATION(__capability__("shared_mutex")) shared_mutex {
                                                                                                       ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:7:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/Context.h:4:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/CPUGeneratorImpl.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/Generator.h:18:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/core/GeneratorImpl.h:8:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/core/TensorImpl.h:13:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/core/Storage.h:6:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/core/StorageImpl.h:8:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/core/impl/COWDeleter.h:53:8: error: 'shared_mutex' is unavailable: introduced in macOS 10.12
  std::shared_mutex mutex_;
       ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/shared_mutex:187:104: note: 'shared_mutex' has been explicitly marked unavailable here
    _LIBCPP_AVAILABILITY_SHARED_MUTEX _LIBCPP_THREAD_SAFETY_ANNOTATION(__capability__("shared_mutex")) shared_mutex {
                                                                                                       ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:7:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/Context.h:8:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/DeprecatedTypeProperties.h:114:34: error: 'value' is unavailable: introduced in macOS 10.13
      Device device = device_opt.value();
                                 ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1066:27: note: 'value' has been explicitly marked unavailable here
    constexpr value_type& value() &
                          ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:7:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/Context.h:64:27: error: 'value' is unavailable: introduced in macOS 10.13
        ? opt_device_type.value()
                          ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1066:27: note: 'value' has been explicitly marked unavailable here
    constexpr value_type& value() &
                          ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:7:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/Context.h:65:36: error: 'value' is unavailable: introduced in macOS 10.13
        : at::getAccelerator(true).value();
                                   ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1075:28: note: 'value' has been explicitly marked unavailable here
    constexpr value_type&& value() &&
                           ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:9:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/DeviceGuard.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef.h:631:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef_inl.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List.h:490:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List_inl.h:4:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue.h:4:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/TensorBody.h:28:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/util/OptionalArrayRef.h:165:34: error: 'value' is unavailable: introduced in macOS 10.13
    return wrapped_opt_array_ref.value();
                                 ^
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/util/OptionalArrayRef.h:227:13: note: in instantiation of member function 'c10::OptionalArrayRef<long long>::value' requested here
  return a1.value() == other;
            ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1057:33: note: 'value' has been explicitly marked unavailable here
    constexpr value_type const& value() const&
                                ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:9:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/DeviceGuard.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef.h:631:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef_inl.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List.h:490:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List_inl.h:4:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue.h:4:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/TensorBody.h:31:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/CheckMemoryFormat.h:11:35: error: 'value' is unavailable: introduced in macOS 10.13
      options.requires_grad_opt().value() == false,
                                  ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1075:28: note: 'value' has been explicitly marked unavailable here
    constexpr value_type&& value() &&
                           ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:9:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/DeviceGuard.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef.h:631:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef_inl.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List.h:490:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List_inl.h:4:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue.h:4:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/TensorBody.h:442:26: error: 'value' is unavailable: introduced in macOS 10.13
      TORCH_CHECK(inputs.value().size() > 0, "'inputs' argument to backward cannot be empty")
                         ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1066:27: note: 'value' has been explicitly marked unavailable here
    constexpr value_type& value() &
                          ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:9:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/DeviceGuard.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef.h:631:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef_inl.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List.h:490:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List_inl.h:4:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue.h:4:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/TensorBody.h:443:30: error: 'value' is unavailable: introduced in macOS 10.13
      this->_backward(inputs.value(), gradient, retain_graph, create_graph);
                             ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1066:27: note: 'value' has been explicitly marked unavailable here
    constexpr value_type& value() &
                          ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:9:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/DeviceGuard.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef.h:631:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef_inl.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List.h:490:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List_inl.h:4:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue.h:4:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/TensorBody.h:28:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/util/OptionalArrayRef.h:137:34: error: 'value' is unavailable: introduced in macOS 10.13
    return wrapped_opt_array_ref.value();
                                 ^
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/TensorBody.h:5624:154: note: in instantiation of member function 'c10::OptionalArrayRef<long long>::operator*' requested here
    return at::_ops::to_padded_tensor::call(const_cast<Tensor&>(*this), padding, output_size.has_value() ? ::std::make_optional(c10::fromIntArrayRefSlow(*output_size)) : ::std::nullopt);
                                                                                                                                                         ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1066:27: note: 'value' has been explicitly marked unavailable here
    constexpr value_type& value() &
                          ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:9:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/DeviceGuard.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef.h:631:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef_inl.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List.h:490:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List_inl.h:4:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue.h:1564:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue_inl.h:12:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/jit_type.h:662:24: error: 'value' is unavailable: introduced in macOS 10.13
      prod *= shape[i].value();
                       ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1057:33: note: 'value' has been explicitly marked unavailable here
    constexpr value_type const& value() const&
                                ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:9:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/DeviceGuard.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef.h:631:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef_inl.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List.h:490:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List_inl.h:4:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue.h:1564:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue_inl.h:12:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/jit_type.h:1512:28: error: 'value' is unavailable: introduced in macOS 10.13
    const auto& n = name().value();
                           ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1057:33: note: 'value' has been explicitly marked unavailable here
    constexpr value_type const& value() const&
                                ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:9:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/DeviceGuard.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef.h:631:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef_inl.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List.h:490:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List_inl.h:4:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue.h:1564:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue_inl.h:12:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/jit_type.h:2129:20: error: 'value' is unavailable: introduced in macOS 10.13
    return reason_.value();
                   ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1057:33: note: 'value' has been explicitly marked unavailable here
    constexpr value_type const& value() const&
                                ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:9:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/DeviceGuard.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef.h:631:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef_inl.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List.h:490:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List_inl.h:4:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue.h:1564:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue_inl.h:16:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/core/DeviceGuard.h:5:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/core/impl/InlineDeviceGuard.h:229:33: error: 'value' is unavailable: introduced in macOS 10.13
      guard_.emplace(device_opt.value());
                                ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1066:27: note: 'value' has been explicitly marked unavailable here
    constexpr value_type& value() &
                          ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:9:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/DeviceGuard.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef.h:631:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef_inl.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List.h:490:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List_inl.h:4:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue.h:1564:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue_inl.h:16:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/core/DeviceGuard.h:5:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/core/impl/InlineDeviceGuard.h:241:39: error: 'value' is unavailable: introduced in macOS 10.13
      guard_.emplace(device_index_opt.value());
                                      ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1066:27: note: 'value' has been explicitly marked unavailable here
    constexpr value_type& value() &
                          ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:9:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/DeviceGuard.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef.h:631:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/IListRef_inl.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List.h:490:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/List_inl.h:4:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue.h:1564:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/core/ivalue_inl.h:20:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/core/StreamGuard.h:5:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/c10/core/impl/InlineStreamGuard.h:144:33: error: 'value' is unavailable: introduced in macOS 10.13
      guard_.emplace(stream_opt.value());
                                ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1066:27: note: 'value' has been explicitly marked unavailable here
    constexpr value_type& value() &
                          ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:9:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/DeviceGuard.h:27:38: error: 'value' is unavailable: introduced in macOS 10.13
  return t.has_value() ? device_of(t.value()) : c10::nullopt;
                                     ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1057:33: note: 'value' has been explicitly marked unavailable here
    constexpr value_type const& value() const&
                                ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:18:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/TensorIndexing.h:13:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/NativeFunctions.h:37:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ops/_addmm_activation_native.h:15:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ops/_addmm_activation_meta.h:12:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/TensorIterator.h:324:34: error: 'value' is unavailable: introduced in macOS 10.13
    return operands_[arg].device.value();
                                 ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1057:33: note: 'value' has been explicitly marked unavailable here
    constexpr value_type const& value() const&
                                ^
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:1:
In file included from /private/tmp/vision/torchvision/csrc/ops/autocast/../deform_conv2d.h:3:
In file included from /opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/ATen.h:18:
/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/ATen/TensorIndexing.h:48:37: error: 'value' is unavailable: introduced in macOS 10.13
      step_ = std::move(step_index).value();
                                    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1075:28: note: 'value' has been explicitly marked unavailable here
    constexpr value_type&& value() &&
                           ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
error: command '/usr/bin/clang' failed with exit code 1

If I try to target a higher version of macOS (to combat the 'is unavailable: introduced in macOS '), e.g. _TARGET=11.0:

MACOSX_DEPLOYMENT_TARGET=11.0 CC=clang CXX=clang++ python setup.py develop

I get an error about 'error: invalid argument '-std=c++17' not allowed with 'C')' when trying to use 'dgif_lib.c':

MACOSX_DEPLOYMENT_TARGET=11.0 Error output
<same as before>
building 'torchvision.image' extension
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -DPNG_FOUND=1 -DJPEG_FOUND=0 -DNVJPEG_FOUND=0 -I/private/tmp/vision/torchvision/csrc -I/opt/homebrew/Cellar/libpng/1.6.43/include/libpng16 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/private/tmp/vision/torchvision/csrc/io/image -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/io/image/cpu/common_jpeg.cpp -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/io/image/cpu/common_jpeg.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=image -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -DPNG_FOUND=1 -DJPEG_FOUND=0 -DNVJPEG_FOUND=0 -I/private/tmp/vision/torchvision/csrc -I/opt/homebrew/Cellar/libpng/1.6.43/include/libpng16 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/private/tmp/vision/torchvision/csrc/io/image -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/io/image/cpu/decode_gif.cpp -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/io/image/cpu/decode_gif.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=image -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -DPNG_FOUND=1 -DJPEG_FOUND=0 -DNVJPEG_FOUND=0 -I/private/tmp/vision/torchvision/csrc -I/opt/homebrew/Cellar/libpng/1.6.43/include/libpng16 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/private/tmp/vision/torchvision/csrc/io/image -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/io/image/cpu/decode_image.cpp -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/io/image/cpu/decode_image.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=image -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -DPNG_FOUND=1 -DJPEG_FOUND=0 -DNVJPEG_FOUND=0 -I/private/tmp/vision/torchvision/csrc -I/opt/homebrew/Cellar/libpng/1.6.43/include/libpng16 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/private/tmp/vision/torchvision/csrc/io/image -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/io/image/cpu/decode_jpeg.cpp -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/io/image/cpu/decode_jpeg.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=image -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -DPNG_FOUND=1 -DJPEG_FOUND=0 -DNVJPEG_FOUND=0 -I/private/tmp/vision/torchvision/csrc -I/opt/homebrew/Cellar/libpng/1.6.43/include/libpng16 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/private/tmp/vision/torchvision/csrc/io/image -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/io/image/cpu/decode_png.cpp -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/io/image/cpu/decode_png.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=image -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -DPNG_FOUND=1 -DJPEG_FOUND=0 -DNVJPEG_FOUND=0 -I/private/tmp/vision/torchvision/csrc -I/opt/homebrew/Cellar/libpng/1.6.43/include/libpng16 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/private/tmp/vision/torchvision/csrc/io/image -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/io/image/cpu/encode_jpeg.cpp -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/io/image/cpu/encode_jpeg.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=image -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -DPNG_FOUND=1 -DJPEG_FOUND=0 -DNVJPEG_FOUND=0 -I/private/tmp/vision/torchvision/csrc -I/opt/homebrew/Cellar/libpng/1.6.43/include/libpng16 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/private/tmp/vision/torchvision/csrc/io/image -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/io/image/cpu/encode_png.cpp -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/io/image/cpu/encode_png.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=image -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -DPNG_FOUND=1 -DJPEG_FOUND=0 -DNVJPEG_FOUND=0 -I/private/tmp/vision/torchvision/csrc -I/opt/homebrew/Cellar/libpng/1.6.43/include/libpng16 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/private/tmp/vision/torchvision/csrc/io/image -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/io/image/cpu/giflib/dgif_lib.c -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/io/image/cpu/giflib/dgif_lib.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=image -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
error: invalid argument '-std=c++17' not allowed with 'C'
error: command '/usr/bin/clang' failed with exit code 1

If I try straight python setup.py develop I get a similar error

python setup.py develop Error output
<same as before>
building 'torchvision.image' extension
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -DPNG_FOUND=1 -DJPEG_FOUND=0 -DNVJPEG_FOUND=0 -I/private/tmp/vision/torchvision/csrc -I/opt/homebrew/Cellar/libpng/1.6.43/include/libpng16 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/private/tmp/vision/torchvision/csrc/io/image -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/io/image/cpu/common_jpeg.cpp -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/io/image/cpu/common_jpeg.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=image -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -DPNG_FOUND=1 -DJPEG_FOUND=0 -DNVJPEG_FOUND=0 -I/private/tmp/vision/torchvision/csrc -I/opt/homebrew/Cellar/libpng/1.6.43/include/libpng16 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/private/tmp/vision/torchvision/csrc/io/image -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/io/image/cpu/decode_gif.cpp -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/io/image/cpu/decode_gif.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=image -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -DPNG_FOUND=1 -DJPEG_FOUND=0 -DNVJPEG_FOUND=0 -I/private/tmp/vision/torchvision/csrc -I/opt/homebrew/Cellar/libpng/1.6.43/include/libpng16 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/private/tmp/vision/torchvision/csrc/io/image -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/io/image/cpu/decode_image.cpp -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/io/image/cpu/decode_image.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=image -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -DPNG_FOUND=1 -DJPEG_FOUND=0 -DNVJPEG_FOUND=0 -I/private/tmp/vision/torchvision/csrc -I/opt/homebrew/Cellar/libpng/1.6.43/include/libpng16 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/private/tmp/vision/torchvision/csrc/io/image -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/io/image/cpu/decode_jpeg.cpp -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/io/image/cpu/decode_jpeg.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=image -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -DPNG_FOUND=1 -DJPEG_FOUND=0 -DNVJPEG_FOUND=0 -I/private/tmp/vision/torchvision/csrc -I/opt/homebrew/Cellar/libpng/1.6.43/include/libpng16 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/private/tmp/vision/torchvision/csrc/io/image -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/io/image/cpu/decode_png.cpp -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/io/image/cpu/decode_png.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=image -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -DPNG_FOUND=1 -DJPEG_FOUND=0 -DNVJPEG_FOUND=0 -I/private/tmp/vision/torchvision/csrc -I/opt/homebrew/Cellar/libpng/1.6.43/include/libpng16 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/private/tmp/vision/torchvision/csrc/io/image -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/io/image/cpu/encode_jpeg.cpp -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/io/image/cpu/encode_jpeg.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=image -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -DPNG_FOUND=1 -DJPEG_FOUND=0 -DNVJPEG_FOUND=0 -I/private/tmp/vision/torchvision/csrc -I/opt/homebrew/Cellar/libpng/1.6.43/include/libpng16 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/private/tmp/vision/torchvision/csrc/io/image -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/io/image/cpu/encode_png.cpp -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/io/image/cpu/encode_png.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=image -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -fPIC -O2 -isystem /opt/miniconda3/envs/.torchvision_venv/include -arch arm64 -DPNG_FOUND=1 -DJPEG_FOUND=0 -DNVJPEG_FOUND=0 -I/private/tmp/vision/torchvision/csrc -I/opt/homebrew/Cellar/libpng/1.6.43/include/libpng16 -I/private/tmp/vision/torchvision/csrc -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/private/tmp/vision/torchvision/csrc/io/image -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/TH -I/opt/miniconda3/envs/.torchvision_venv/lib/python3.11/site-packages/torch/include/THC -I/opt/miniconda3/envs/.torchvision_venv/include/python3.11 -c /private/tmp/vision/torchvision/csrc/io/image/cpu/giflib/dgif_lib.c -o build/temp.macosx-11.1-arm64-cpython-311/private/tmp/vision/torchvision/csrc/io/image/cpu/giflib/dgif_lib.o -g0 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=image -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
error: invalid argument '-std=c++17' not allowed with 'C'
error: command '/usr/bin/clang' failed with exit code 1

I have tried a couple other flags (e.g. USE_METAL=1, USE_CUDA=0) but am getting the same errors.

Any help will be greatly appreciated!

Versions

Collecting environment information... PyTorch version: 2.4.0.dev20240510 Is debug build: False CUDA used to build PyTorch: None ROCM used to build PyTorch: N/A

OS: macOS 14.4.1 (arm64) GCC version: Could not collect Clang version: 15.0.0 (clang-1500.3.9.4) CMake version: Could not collect Libc version: N/A

Python version: 3.11.9 (main, Apr 19 2024, 11:43:47) [Clang 14.0.6 ] (64-bit runtime) Python platform: macOS-14.4.1-arm64-arm-64bit Is CUDA available: False CUDA runtime version: No CUDA CUDA_MODULE_LOADING set to: N/A GPU models and configuration: No CUDA Nvidia driver version: No CUDA cuDNN version: No CUDA HIP runtime version: N/A MIOpen runtime version: N/A Is XNNPACK available: True

CPU: Apple M1 Pro

Versions of relevant libraries: [pip3] torch==2.4.0.dev20240510 [conda] pytorch 2.4.0.dev20240510 py3.11_0 pytorch-nightly

joshestein avatar May 10 '24 17:05 joshestein

As a hack, can you check if the build works if you change the extension of all the .c files in https://github.com/pytorch/vision/tree/main/torchvision/csrc/io/image/cpu/giflib into .cpp (with MACOSX_DEPLOYMENT_TARGET=11.0)

NicolasHug avatar May 14 '24 13:05 NicolasHug

That worked! Thank you 😄

joshestein avatar May 14 '24 14:05 joshestein

Although now building successfully, all the tests in tests/test_image.py are now failing. I'm seeing this warning:

serWarning: Failed to load image Python extension: 'dlopen(/tmp/vision/torchvision/image.so, 0x0006): symbol not found in flat namespace '_DGifCloseFile''If you don't plan on using image functionality from `torchvision.io`, you can ignore this warning. Otherwise, there might be something wrong with your environment. Did you have `libjpeg` or `libpng` installed before building `torchvision` from source?

I did install libjpeg-turbo and libpng with conda before building from source.

I'm seeing a lot of failures due to AttributeError: '_OpNamespace' 'image' object has no attribute 'read_file' for the attributes read_file, write_file, decode_jpeg, etc.

joshestein avatar May 14 '24 14:05 joshestein

gif_lib C files breaks the tochvision build also least on Fedora 40 and Mageia 9 for the same 'error: invalid argument '-std=c++17' not allowed with 'C')' error.

To me it looks like that the cpp_extension.py from pytorch adds the "std=c++17" compilation flag blindly to all type of files, no matter whether the extension is C or C++. I got it now building with this hack, but something better would be needed.

[lamikr@halsey pytorch ((3489a558fc7...))]$ diff -Naur torch/utils/cpp_extension.py /opt/rocm_sdk_612/lib/python3.11/site-packages/torch/utils/cpp_extension.py 
--- torch/utils/cpp_extension.py	2024-08-02 18:04:56.673120304 -0700
+++ /opt/rocm_sdk_612/lib/python3.11/site-packages/torch/utils/cpp_extension.py	2024-08-03 01:21:36.356596205 -0700
@@ -568,8 +568,8 @@
             cpp_format_prefix = '/{}:' if self.compiler.compiler_type == 'msvc' else '-{}='
             cpp_flag_prefix = cpp_format_prefix.format('std')
             cpp_flag = cpp_flag_prefix + 'c++17'
-            if not any(flag.startswith(cpp_flag_prefix) for flag in cflags):
-                cflags.append(cpp_flag)
+            #if not any(flag.startswith(cpp_flag_prefix) for flag in cflags):
+            #    cflags.append(cpp_flag)
 
         def unix_cuda_flags(cflags):
             cflags = (COMMON_NVCC_FLAGS +

lamikr avatar Aug 05 '24 08:08 lamikr

Did this ever get resolved? I tried running the exact same set of commands listed by @joshestein above, using the nightly current main branch of vision and whether I set MACOSX_DEPLOYMENT_TARGET= 10.9 or 11.0 I still get the error: invalid argument '-std=c++17' not allowed with 'C'

scm-aiml avatar Aug 17 '24 12:08 scm-aiml

Hi folks.

Looks like the mac compiler is unhappy compiling C files while passing C++ flags, while the other compilers just ignore the flags. Perhaps the fix just a matter of renaming the .c files into c++, or compiling the libgif files with separate flags.

I don't have access to a mac, so it'll be hard for me to debug or fix this one. I'm happy to review a PR though, if you'd like to submit one.

NicolasHug avatar Aug 19 '24 08:08 NicolasHug

More then happy to give it a go as this would make future contribution helps easier!

I'll give an initial go tonight be capture more detailed outputs for you to review on the PR since no Mac.

On question for you @NicolasHug, on the CONTRIBUTE.md file it calls out for Mac to set target for 10.9. Is there a specific comparability reason or is that just a dated piece of the file?

scm-aiml avatar Aug 19 '24 11:08 scm-aiml

That part hasn't been updated in a while, there's a good chance it's not needed anymore or needs to be updated!

NicolasHug avatar Aug 19 '24 12:08 NicolasHug

I had the same error and found out that ninja was not installed on my mac (there is a warning to that end in the attached build log above). after running

brew install ninja

and rerunning

python setup.py develop

the error disappears

ezredd avatar Sep 01 '24 05:09 ezredd