pytorch / vision

Datasets, Transforms and Models specific to Computer Vision
https://pytorch.org/vision
BSD 3-Clause "New" or "Revised" License
16.06k stars 6.93k forks source link

Difficulty building on macOS #8421

Open joshestein opened 4 months ago

joshestein commented 4 months ago

🐛 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 ```bash /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; ^ /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::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::operator*' requested here return at::_ops::to_padded_tensor::call(const_cast(*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 ```bash 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 ```bash 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

NicolasHug commented 4 months ago

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)

joshestein commented 4 months ago

That worked! Thank you 😄

joshestein commented 4 months ago

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.

lamikr commented 2 months ago

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 +
scm-aiml commented 1 month ago

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'

NicolasHug commented 1 month ago

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.

scm-aiml commented 1 month ago

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?

NicolasHug commented 1 month ago

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

ezredd commented 1 month ago

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