ClementPinard/Pytorch-Correlation-extension

pip install error

JungHY opened this issue · 36 comments

hi i failed to install

i got this error message

Command "/usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-QlQ2v1/spatial-correlation-sampler/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-1qIZX1-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-QlQ2v1/spatial-correlation-sampler/

i don't even know what this mean please help me

Please give the full output of error message, and make sure you are using pytorch==0.4.1.

does it work when compiling from source ?
clone the repo and then do
python setup.py install

if so, can you try pip install spatial-correlation-sampler -vvv with the verbose argument ? That way we can know exactly what went wrong during the compilation.

this is my full error message when try

pip install spatial-correlation-sampler -vvv.

Collecting spatial-correlation-sampler
1 location(s) to search for versions of spatial-correlation-sampler:

  • https://pypi.python.org/simple/spatial-correlation-sampler/
    Getting page https://pypi.python.org/simple/spatial-correlation-sampler/
    Looking up "https://pypi.python.org/simple/spatial-correlation-sampler/" in the cache
    No cache entry available
    Starting new HTTPS connection (1): pypi.python.org
    https://pypi.python.org:443 "GET /simple/spatial-correlation-sampler/ HTTP/1.1" 301 122
    Updating cache with response from "https://pypi.python.org/simple/spatial-correlation-sampler/"
    Caching permanant redirect
    Looking up "https://pypi.org/simple/spatial-correlation-sampler/" in the cache
    No cache entry available
    Starting new HTTPS connection (1): pypi.org
    https://pypi.org:443 "GET /simple/spatial-correlation-sampler/ HTTP/1.1" 200 315
    Updating cache with response from "https://pypi.org/simple/spatial-correlation-sampler/"
    Caching due to etag
    Analyzing links from page https://pypi.org/simple/spatial-correlation-sampler/
    Found link https://files.pythonhosted.org/packages/b0/2b/f1d8d71a695f31e8d2f59ec9ec5824ecf3e253cf799c821b4c2067e392b2/spatial_correlation_sampler-0.0.5.tar.gz#sha256=adcd9846cbd0ed12717dd24e144bfe4813a6a7d59ac460fb97549cd44465fb4e (from https://pypi.org/simple/spatial-correlation-sampler/), version: 0.0.5
    Using version 0.0.5 (newest of versions: 0.0.5)
    Looking up "https://files.pythonhosted.org/packages/b0/2b/f1d8d71a695f31e8d2f59ec9ec5824ecf3e253cf799c821b4c2067e392b2/spatial_correlation_sampler-0.0.5.tar.gz" in the cache
    No cache entry available
    Starting new HTTPS connection (1): files.pythonhosted.org
    https://files.pythonhosted.org:443 "GET /packages/b0/2b/f1d8d71a695f31e8d2f59ec9ec5824ecf3e253cf799c821b4c2067e392b2/spatial_correlation_sampler-0.0.5.tar.gz HTTP/1.1" 200 6797
    Downloading https://files.pythonhosted.org/packages/b0/2b/f1d8d71a695f31e8d2f59ec9ec5824ecf3e253cf799c821b4c2067e392b2/spatial_correlation_sampler-0.0.5.tar.gz
    Downloading from URL https://files.pythonhosted.org/packages/b0/2b/f1d8d71a695f31e8d2f59ec9ec5824ecf3e253cf799c821b4c2067e392b2/spatial_correlation_sampler-0.0.5.tar.gz#sha256=adcd9846cbd0ed12717dd24e144bfe4813a6a7d59ac460fb97549cd44465fb4e (from https://pypi.org/simple/spatial-correlation-sampler/)
    Updating cache with response from "https://files.pythonhosted.org/packages/b0/2b/f1d8d71a695f31e8d2f59ec9ec5824ecf3e253cf799c821b4c2067e392b2/spatial_correlation_sampler-0.0.5.tar.gz"
    Caching due to etag
    Running setup.py (path:/tmp/pip-build-XH82tU/spatial-correlation-sampler/setup.py) egg_info for package spatial-correlation-sampler
    Running command python setup.py egg_info
    /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'long_description_content_type'
    warnings.warn(msg)
    running egg_info
    creating pip-egg-info/spatial_correlation_sampler.egg-info
    writing requirements to pip-egg-info/spatial_correlation_sampler.egg-info/requires.txt
    writing pip-egg-info/spatial_correlation_sampler.egg-info/PKG-INFO
    writing top-level names to pip-egg-info/spatial_correlation_sampler.egg-info/top_level.txt
    writing dependency_links to pip-egg-info/spatial_correlation_sampler.egg-info/dependency_links.txt
    writing manifest file 'pip-egg-info/spatial_correlation_sampler.egg-info/SOURCES.txt'
    reading manifest file 'pip-egg-info/spatial_correlation_sampler.egg-info/SOURCES.txt'
    writing manifest file 'pip-egg-info/spatial_correlation_sampler.egg-info/SOURCES.txt'
    Source in /tmp/pip-build-XH82tU/spatial-correlation-sampler has version 0.0.5, which satisfies requirement spatial-correlation-sampler from https://files.pythonhosted.org/packages/b0/2b/f1d8d71a695f31e8d2f59ec9ec5824ecf3e253cf799c821b4c2067e392b2/spatial_correlation_sampler-0.0.5.tar.gz#sha256=adcd9846cbd0ed12717dd24e144bfe4813a6a7d59ac460fb97549cd44465fb4e
    Requirement already satisfied: numpy in /usr/local/lib/python2.7/dist-packages (from spatial-correlation-sampler)
    Requirement already satisfied: torch>=0.4.1 in /usr/local/lib/python2.7/dist-packages (from spatial-correlation-sampler)
    Installing collected packages: spatial-correlation-sampler
    Running setup.py install for spatial-correlation-sampler ... Running command /usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-XH82tU/spatial-correlation-sampler/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-g3WJNX-record/install-record.txt --single-version-externally-managed --compile
    /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'long_description_content_type'
    warnings.warn(msg)
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-2.7
    creating build/lib.linux-x86_64-2.7/spatial_correlation_sampler
    copying Correlation_Module/spatial_correlation_sampler/spatial_correlation_sampler.py -> build/lib.linux-x86_64-2.7/spatial_correlation_sampler
    copying Correlation_Module/spatial_correlation_sampler/init.py -> build/lib.linux-x86_64-2.7/spatial_correlation_sampler
    running build_ext
    building 'spatial_correlation_sampler_backend' extension
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/Correlation_Module
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-nbjU53/python2.7-2.7.15rc1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/lib/python2.7/dist-packages/torch/lib/include -I/usr/local/lib/python2.7/dist-packages/torch/lib/include/TH -I/usr/local/lib/python2.7/dist-packages/torch/lib/include/THC -I/usr/local/cuda/include -I/usr/include/python2.7 -c Correlation_Module/correlation.cpp -o build/temp.linux-x86_64-2.7/Correlation_Module/correlation.o -fopenmp -DTORCH_EXTENSION_NAME=spatial_correlation_sampler_backend -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-nbjU53/python2.7-2.7.15
    rc1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/lib/python2.7/dist-packages/torch/lib/include -I/usr/local/lib/python2.7/dist-packages/torch/lib/include/TH -I/usr/local/lib/python2.7/dist-packages/torch/lib/include/THC -I/usr/local/cuda/include -I/usr/include/python2.7 -c Correlation_Module/correlation_sampler.cpp -o build/temp.linux-x86_64-2.7/Correlation_Module/correlation_sampler.o -fopenmp -DTORCH_EXTENSION_NAME=spatial_correlation_sampler_backend -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    /usr/local/cuda/bin/nvcc -I/usr/local/lib/python2.7/dist-packages/torch/lib/include -I/usr/local/lib/python2.7/dist-packages/torch/lib/include/TH -I/usr/local/lib/python2.7/dist-packages/torch/lib/include/THC -I/usr/local/cuda/include -I/usr/include/python2.7 -c Correlation_Module/correlation_cuda_kernel.cu -o build/temp.linux-x86_64-2.7/Correlation_Module/correlation_cuda_kernel.o -DTORCH_EXTENSION_NAME=spatial_correlation_sampler_backend -D_GLIBCXX_USE_CXX11_ABI=0 --compiler-options '-fPIC' -std=c++11
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’:
    /usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/TensorMethods.h:646:36: required from here
    /usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
    return _and<is_constructible<_Elements, _UElements&&>...>::value;
    ^~~~~
    /usr/include/c++/6/tuple:484:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’:
    /usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/TensorMethods.h:646:36: required from here
    /usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
    return _and<is_convertible<_UElements&&, _Elements>...>::value;
    ^~~~~
    /usr/include/c++/6/tuple:490:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’:
    /usr/include/c++/6/tuple:662:419: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/TensorMethods.h:646:36: required from here
    /usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)
    return _and<_not<is_same<tuple<_Elements...>,
    ^
    /usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
    struct is_convertible
    ^~~~~~~~~~~~~~
    /usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’:
    /usr/include/c++/6/tuple:686:422: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/TensorMethods.h:646:36: required from here
    /usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)
    return _and<_not<is_same<tuple<_Elements...>,
    ^
    /usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
    struct is_convertible
    ^~~~~~~~~~~~~~
    /usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>}; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]’:
    /usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor&, at::Tensor&, at::Tensor&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor&, at::Tensor&, at::Tensor&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:1971:61: required from here
    /usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
    return _and<is_constructible<_Elements, _UElements&&>...>::value;
    ^~~~~
    /usr/include/c++/6/tuple:484:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>}; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>}; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]’:
    /usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor&, at::Tensor&, at::Tensor&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor&, at::Tensor&, at::Tensor&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:1971:61: required from here
    /usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
    return _and<is_convertible<_UElements&&, _Elements>...>::value;
    ^~~~~
    /usr/include/c++/6/tuple:490:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>}; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>&; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]’:
    /usr/include/c++/6/tuple:662:419: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor&, at::Tensor&, at::Tensor&>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor&, at::Tensor&, at::Tensor&}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor&, at::Tensor&, at::Tensor&>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:1971:61: required from here
    /usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)
    return _and<_not<is_same<tuple<_Elements...>,
    ^
    /usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
    struct is_convertible
    ^~~~~~~~~~~~~~
    /usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>&; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>&&; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]’:
    /usr/include/c++/6/tuple:686:422: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor&, at::Tensor&, at::Tensor&>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor&, at::Tensor&, at::Tensor&}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor&, at::Tensor&, at::Tensor&>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:1971:61: required from here
    /usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)
    return _and<_not<is_same<tuple<_Elements...>,
    ^
    /usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
    struct is_convertible
    ^~~~~~~~~~~~~~
    /usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>&&; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’:
    /usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3129:189: required from here
    /usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
    return _and<is_constructible<_Elements, _UElements&&>...>::value;
    ^~~~~
    /usr/include/c++/6/tuple:484:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’:
    /usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3129:189: required from here
    /usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
    return _and<is_convertible<_UElements&&, _Elements>...>::value;
    ^~~~~
    /usr/include/c++/6/tuple:490:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’:
    /usr/include/c++/6/tuple:662:419: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3129:189: required from here
    /usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (6, should be 2)
    return _and<_not<is_same<tuple<_Elements...>,
    ^
    /usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
    struct is_convertible
    ^~~~~~~~~~~~~~
    /usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’:
    /usr/include/c++/6/tuple:686:422: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3129:189: required from here
    /usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (6, should be 2)
    return _and<_not<is_same<tuple<_Elements...>,
    ^
    /usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
    struct is_convertible
    ^~~~~~~~~~~~~~
    /usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]’:
    /usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3132:259: required from here
    /usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
    return _and<is_constructible<_Elements, _UElements&&>...>::value;
    ^~~~~
    /usr/include/c++/6/tuple:484:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]’:
    /usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3132:259: required from here
    /usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
    return _and<is_convertible<_UElements&&, _Elements>...>::value;
    ^~~~~
    /usr/include/c++/6/tuple:490:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]’:
    /usr/include/c++/6/tuple:662:419: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3132:259: required from here
    /usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)
    return _and<_not<is_same<tuple<_Elements...>,
    ^
    /usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
    struct is_convertible
    ^~~~~~~~~~~~~~
    /usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]’:
    /usr/include/c++/6/tuple:686:422: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3132:259: required from here
    /usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)
    return _and<_not<is_same<tuple<_Elements...>,
    ^
    /usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
    struct is_convertible
    ^~~~~~~~~~~~~~
    /usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’:
    /usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3493:99: required from here
    /usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
    return _and<is_constructible<_Elements, _UElements&&>...>::value;
    ^~~~~
    /usr/include/c++/6/tuple:484:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’:
    /usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3493:99: required from here
    /usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
    return _and<is_convertible<_UElements&&, _Elements>...>::value;
    ^~~~~
    /usr/include/c++/6/tuple:490:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’:
    /usr/include/c++/6/tuple:662:419: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3493:99: required from here
    /usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)
    return _and<_not<is_same<tuple<_Elements...>,
    ^
    /usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
    struct is_convertible
    ^~~~~~~~~~~~~~
    /usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
    }
    ^
    /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’:
    /usr/include/c++/6/tuple:686:422: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’
    /usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3493:99: required from here
    /usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)
    return _and<_not<is_same<tuple<_Elements...>,
    ^
    /usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
    struct is_convertible
    ^~~~~~~~~~~~~~
    /usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
    }
    ^
    error: command '/usr/local/cuda/bin/nvcc' failed with exit status 1
    error
    Cleaning up...
    Removing source in /tmp/pip-build-XH82tU/spatial-correlation-sampler
    Command "/usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-XH82tU/spatial-correlation-sampler/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-g3WJNX-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-XH82tU/spatial-correlation-sampler/
    Exception information:
    Traceback (most recent call last):
    File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
    File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 360, in run
    prefix=options.prefix_path,
    File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 784, in install
    **kwargs
    File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 878, in install
    spinner=spinner,
    File "/usr/lib/python2.7/dist-packages/pip/utils/init.py", line 725, in call_subprocess
    % (command_desc, proc.returncode, cwd))
    InstallationError: Command "/usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-XH82tU/spatial-correlation-sampler/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-g3WJNX-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-XH82tU/spatial-correlation-sampler/

and this is the message that i tried

python setup.py install

running install
running bdist_egg
running egg_info
writing requirements to Correlation_Module/spatial_correlation_sampler.egg-info/requires.txt
writing Correlation_Module/spatial_correlation_sampler.egg-info/PKG-INFO
writing top-level names to Correlation_Module/spatial_correlation_sampler.egg-info/top_level.txt
writing dependency_links to Correlation_Module/spatial_correlation_sampler.egg-info/dependency_links.txt
reading manifest file 'Correlation_Module/spatial_correlation_sampler.egg-info/SOURCES.txt'
writing manifest file 'Correlation_Module/spatial_correlation_sampler.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
running build_ext
building 'spatial_correlation_sampler_backend' extension
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-nbjU53/python2.7-2.7.15rc1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/lib/python2.7/dist-packages/torch/lib/include -I/usr/local/lib/python2.7/dist-packages/torch/lib/include/TH -I/usr/local/lib/python2.7/dist-packages/torch/lib/include/THC -I/usr/local/cuda/include -I/usr/include/python2.7 -c Correlation_Module/correlation.cpp -o build/temp.linux-x86_64-2.7/Correlation_Module/correlation.o -fopenmp -DTORCH_EXTENSION_NAME=spatial_correlation_sampler_backend -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-nbjU53/python2.7-2.7.15
rc1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/lib/python2.7/dist-packages/torch/lib/include -I/usr/local/lib/python2.7/dist-packages/torch/lib/include/TH -I/usr/local/lib/python2.7/dist-packages/torch/lib/include/THC -I/usr/local/cuda/include -I/usr/include/python2.7 -c Correlation_Module/correlation_sampler.cpp -o build/temp.linux-x86_64-2.7/Correlation_Module/correlation_sampler.o -fopenmp -DTORCH_EXTENSION_NAME=spatial_correlation_sampler_backend -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
/usr/local/cuda/bin/nvcc -I/usr/local/lib/python2.7/dist-packages/torch/lib/include -I/usr/local/lib/python2.7/dist-packages/torch/lib/include/TH -I/usr/local/lib/python2.7/dist-packages/torch/lib/include/THC -I/usr/local/cuda/include -I/usr/include/python2.7 -c Correlation_Module/correlation_cuda_kernel.cu -o build/temp.linux-x86_64-2.7/Correlation_Module/correlation_cuda_kernel.o -DTORCH_EXTENSION_NAME=spatial_correlation_sampler_backend -D_GLIBCXX_USE_CXX11_ABI=0 --compiler-options '-fPIC' -std=c++11
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/TensorMethods.h:646:36: required from here
/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
return _and<is_constructible<_Elements, _UElements&&>...>::value;
^~~~~
/usr/include/c++/6/tuple:484:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/TensorMethods.h:646:36: required from here
/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
return _and<is_convertible<_UElements&&, _Elements>...>::value;
^~~~~
/usr/include/c++/6/tuple:490:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:662:419: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/TensorMethods.h:646:36: required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)
return _and<_not<is_same<tuple<_Elements...>,
^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
struct is_convertible
^~~~~~~~~~~~~~
/usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:686:422: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/TensorMethods.h:646:36: required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)
return _and<_not<is_same<tuple<_Elements...>,
^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
struct is_convertible
^~~~~~~~~~~~~~
/usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>}; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]’:
/usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor&, at::Tensor&, at::Tensor&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor&, at::Tensor&, at::Tensor&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:1971:61: required from here
/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
return _and<is_constructible<_Elements, _UElements&&>...>::value;
^~~~~
/usr/include/c++/6/tuple:484:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>}; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>}; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]’:
/usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor&, at::Tensor&, at::Tensor&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor&, at::Tensor&, at::Tensor&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:1971:61: required from here
/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
return _and<is_convertible<_UElements&&, _Elements>...>::value;
^~~~~
/usr/include/c++/6/tuple:490:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>}; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>&; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]’:
/usr/include/c++/6/tuple:662:419: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor&, at::Tensor&, at::Tensor&>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor&, at::Tensor&, at::Tensor&}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor&, at::Tensor&, at::Tensor&>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:1971:61: required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)
return _and<_not<is_same<tuple<_Elements...>,
^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
struct is_convertible
^~~~~~~~~~~~~~
/usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>&; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>&&; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]’:
/usr/include/c++/6/tuple:686:422: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor&, at::Tensor&, at::Tensor&>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor&, at::Tensor&, at::Tensor&}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor&, at::Tensor&, at::Tensor&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor&, at::Tensor&, at::Tensor&>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:1971:61: required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)
return _and<_not<is_same<tuple<_Elements...>,
^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
struct is_convertible
^~~~~~~~~~~~~~
/usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>&&; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3129:189: required from here
/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
return _and<is_constructible<_Elements, _UElements&&>...>::value;
^~~~~
/usr/include/c++/6/tuple:484:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3129:189: required from here
/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
return _and<is_convertible<_UElements&&, _Elements>...>::value;
^~~~~
/usr/include/c++/6/tuple:490:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:662:419: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3129:189: required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (6, should be 2)
return _and<_not<is_same<tuple<_Elements...>,
^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
struct is_convertible
^~~~~~~~~~~~~~
/usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:686:422: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3129:189: required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (6, should be 2)
return _and<_not<is_same<tuple<_Elements...>,
^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
struct is_convertible
^~~~~~~~~~~~~~
/usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]’:
/usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3132:259: required from here
/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
return _and<is_constructible<_Elements, _UElements&&>...>::value;
^~~~~
/usr/include/c++/6/tuple:484:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]’:
/usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3132:259: required from here
/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
return _and<is_convertible<_UElements&&, _Elements>...>::value;
^~~~~
/usr/include/c++/6/tuple:490:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]’:
/usr/include/c++/6/tuple:662:419: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3132:259: required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)
return _and<_not<is_same<tuple<_Elements...>,
^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
struct is_convertible
^~~~~~~~~~~~~~
/usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]’:
/usr/include/c++/6/tuple:686:422: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3132:259: required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)
return _and<_not<is_same<tuple<_Elements...>,
^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
struct is_convertible
^~~~~~~~~~~~~~
/usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3493:99: required from here
/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
return _and<is_constructible<_Elements, _UElements&&>...>::value;
^~~~~
/usr/include/c++/6/tuple:484:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3493:99: required from here
/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
return _and<is_convertible<_UElements&&, _Elements>...>::value;
^~~~~
/usr/include/c++/6/tuple:490:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:662:419: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3493:99: required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)
return _and<_not<is_same<tuple<_Elements...>,
^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
struct is_convertible
^~~~~~~~~~~~~~
/usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:686:422: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’
/usr/local/lib/python2.7/dist-packages/torch/lib/include/ATen/Functions.h:3493:99: required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)
return _and<_not<is_same<tuple<_Elements...>,
^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
struct is_convertible
^~~~~~~~~~~~~~
/usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]’ not a return-statement
}
^
error: command '/usr/local/cuda/bin/nvcc' failed with exit status 1

thanks.

yes i'm using torch version 0.4.1

what is your cuda version ? and your gcc version ? the error seems to be in nvcc.

i installed cuda version 9.0.176 and gcc version 6.4.0

can you try with python3 ? Just to know if nvcc is the problem or my code (If so, I'll try to make my code more compatible with python2)

ok i’ll try with python3

bkvie commented

tried to install both ways, 1) pip 2) git clone and setup py.
Consistent error : spatial_correlation_sampler_backend.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN2at5ErrorC1ENS_14SourceLocationESs

Seems like users over at the Nvidia page get similar error messages.

Hello, same as above, can you state your python version, pytorch version, cuda version and GCC version ?

bkvie commented

3.6, 4.1, V8.0.61, 4.8.4

Unfortunately, I don't know what is wrong with your setup. Best usecase would be to test it in a docker with your your setup, but I don't have much time for now :(

Best advice (although admittedly not sufficient is to try with more up to date gcc and CUDA) would be use more up to date cuda and gcc version

Also, make sure your pytorch is compiled with the same CUDA version as the one installed in your computer.

@ClementPinard What is the cuda, ubuntu, and gcc version on which the test passes?
It seems this is related to age old compatibility issues between nvcc and gcc.
https://devtalk.nvidia.com/default/topic/1028112/cuda-setup-and-installation/nvcc-bug-related-to-gcc-6-lt-tuple-gt-header-/

Tested with Ubuntu 16.04, cuda 9.2 and GCC 5.

Do you experience similar problems for your setup?

I tried to set up with Ubuntu 18.04, cuda 9.0 and gcc 6. The problem is nvcc 9.0 is not compatible with gcc>5. And if I compile your package with gcc5 using,
CC=gcc-5 CXX=g++-5 pip install spatial-correlation-sampler
it still looks for include files in /usr/include/c++/6/tuple instead of /usr/include/c++/5/tuple, and throws the same error. It seems to be hard-coded in torch somehow and I couldn't figure it out how to prevent this linking.

Bottomline: Switch to cuda 9.2 which supports gcc >=5. Also, cuda 10.0 has been released, so there are going to be more problems.

I am not very familiar with gcc4/5 differences, but wouldn't the problem be also present in the custom CPP extension official pytorch tutorial? Did this repo work for you ?

https://github.com/pytorch/extension-cpp

I recall being able to use it with 9.1 but didn't test 9.0 though

I din't try the https://github.com/pytorch/extension-cpp on cuda 9.0., and will avoid going back to it.
However, to give you a sense of the bug, this is what happens when I call,
CC=gcc-5 CXX=g++-5 pip install spatial-correlation-sampler
It uses gcc-5 to compile correlation object files, and stdouts the following which is fine.

gcc-5 -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I~/pytorch4.3.1/lib/python3.6/site-packages/torch/lib/include -I~/pytorch4.3.1/lib/python3.6/site-packages/torch/lib/include/TH -I~/pytorch4.3.1/lib/python3.6/site-packages/torch/lib/include/THC -I/usr/local/cuda-9.0/include -I/usr/include/python3.6m -I~/pytorch4.3.1/include/python3.6m -c Correlation_Module/correlation.cpp -o build/temp.linux-x86_64-3.6/Correlation_Module/correlation.o -fopenmp -DTORCH_EXTENSION_NAME=spatial_correlation_sampler_backend -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
gcc-5 -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I~/pytorch4.3.1/lib/python3.6/site-packages/torch/lib/include -I~/pytorch4.3.1/lib/python3.6/site-packages/torch/lib/include/TH -I~/pytorch4.3.1/lib/python3.6/site-packages/torch/lib/include/THC -I/usr/local/cuda-9.0/include -I/usr/include/python3.6m -I~/pytorch4.3.1/include/python3.6m -c Correlation_Module/correlation_sampler.cpp -o build/temp.linux-x86_64-3.6/Correlation_Module/correlation_sampler.o -fopenmp -DTORCH_EXTENSION_NAME=spatial_correlation_sampler_backend -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11

Later, pytorch's ATen calls include headers from /usr/include/c++/6/tuple which is strange, because it was called using gcc5, and therefore, it should call headers from c++/5. And c++/6 is not compatible with cuda 9.0.

pytorch4.3.1/lib/python3.6/site-packages/torch/lib/include/ATen/TensorMethods.h:646:36:   required from here
  /usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
         return __and_<is_constructible<_Elements, _UElements&&>...>::value;

May be, we should add it to readme. The following works/ doesnt work with pytorch 0.4:

Works: gcc-5 cuda-9.0
Works: gcc-7 cuda-9.2
Doesnt work: gcc-7 cuda-9.0

If you have both gcc-7 and gcc-5, with default gcc being gcc-7, even the following doesnt work with cuda-9.0:
CC=gcc-5 CXX=g++-5 pip3 install spatial-correlation-sampler

I updated the README, thanks for your work on compatibility for this module !

Hopefully, pytorch CUDAExtension module will be able to deal properly with such CUDA/gcc incompatibilities in the future.

Hey, I had to build this module on a system with CUDA 9.0 and gcc-7 by default
It appears the problem is CUDA related. If I link the gcc inside my cuda bin directory, it works (it copiles and the tests run)

sudo ln -s /usr/bin/gcc-5 /usr/local/cuda-9.0/bin/gcc
followed by this command :
sudo CC=/usr/bin/gcc-5 CXX=/usr/bin/g++-5 CUDA_HOME=/usr/local/cuda-9.0/ python3 setup.py install

Yes, this sounds like reasonable fix. Although, I don't have sudo access on my gpu machines. :D

I use the following scripts to switch to another gcc version and install the correlation lib successfully on CUDA 9.2 (original gcc-v8 not work)

# used to compile .cu and for cudnn 
export GCC_HOME=/path/to/gcc-5.4.0/
export PATH=$GCC_HOME/bin/:$PATH
export LD_LIBRARY_PATH=$GCC_HOME/lib:$GCC_HOME/lib64:$GCC_HOME/libexec:$LD_LIBRARY_PATH
export CPLUS_INCLUDE="$GCC_HOME/include:$CPLUS_INCLUDE"
export C_INCLUDE="$GCC_HOME/include:$C_INCLUDE"
export CXX=$GCC_HOME/bin/g++
export CC=$GCC_HOME/bin/gcc # for make
CC=$GCC_HOME/bin/gcc # for cmake

# complime using nvcc with gcc
export EXTRA_NVCCFLAGS="-Xcompiler -std=c++98"

# pip install 
pip install spatial-correlation-sampler

@charliememory can you please tell me how did you get gcc-5.4.0 on your machine? I have gcc-4.8.5. and I don't have sudo access so I think I won't be able to install it, although your method of switching to another version seems like the only choice I have.

@moha23 You can install it without sudo. While you need to make and compile from the gcc source code.

Maybe you can install it from anaconda ?
https://anaconda.org/anaconda/gcc_linux-64

@ClementPinard I installed gcc7.3 using Conda (helpful StackOverflow Post) and still getting error when trying to pip install.

Python 3.7.7, pytorch 1.5.0, cuda10.0(server has both cuda9 and cuda10) and GCC 7.3

Could it possibly be because of Conda installed GCC? They have different names but according to https://docs.conda.io/projects/conda-build/en/latest/resources/compiler-tools.html environment variables are set to point to the correct compiler.

EDIT:

I just checked pytorch has the compiler names hardcoded, and this function checks for it. Probably this is what is causing the error.

Error:

ERROR: Command errored out with exit status 1:
command: /home/s18002/anaconda3/envs/try1/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-mnpxd2ut/spatial-correlation-sampler/setup.py'"'"'; file='"'"'/tmp/pip-install-mnpxd2ut/spatial-correlation-sampler/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-9yo16h8x
cwd: /tmp/pip-install-mnpxd2ut/spatial-correlation-sampler/
Complete output (57 lines):
which: no hipcc in (/home/s18002/anaconda3/envs/try1/bin:/home/s18002/anaconda3/condabin:.local/bin:/opt/soft/share/cudann-10.0/bin:/opt/soft/share/cuda-10.0/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/s18002/.local/bin:/home/s18002/bin)
running bdist_wheel
/home/s18002/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py:304: 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.'))
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/spatial_correlation_sampler
copying Correlation_Module/spatial_correlation_sampler/init.py -> build/lib.linux-x86_64-3.7/spatial_correlation_sampler
copying Correlation_Module/spatial_correlation_sampler/spatial_correlation_sampler.py -> build/lib.linux-x86_64-3.7/spatial_correlation_sampler
running build_ext
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-install-mnpxd2ut/spatial-correlation-sampler/setup.py", line 57, in
launch_setup()
File "/tmp/pip-install-mnpxd2ut/spatial-correlation-sampler/setup.py", line 52, in launch_setup
"Topic :: Scientific/Engineering :: Artificial Intelligence"
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/site-packages/setuptools/init.py", line 144, in setup
return distutils.core.setup(**attrs)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/site-packages/wheel/bdist_wheel.py", line 223, in run
self.run_command('build')
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 87, in run
_build_ext.run(self)
File "/home/s18002/.local/lib/python3.7/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
_build_ext.build_ext.run(self)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "/home/s18002/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 308, in build_extensions
self._check_abi()
File "/home/s18002/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 607, in _check_abi
check_compiler_abi_compatibility(compiler)
File "/home/s18002/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 215, in check_compiler_abi_compatibility
if not check_compiler_ok_for_platform(compiler):
File "/home/s18002/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 191, in check_compiler_ok_for_platform
which = subprocess.check_output(['which', compiler], stderr=subprocess.STDOUT)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/subprocess.py", line 411, in check_output
**kwargs).stdout
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/subprocess.py", line 512, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['which', 'x86_64-conda_cos6-linux-gnu-c++']' returned non-zero exit status 1.

ERROR: Failed building wheel for spatial-correlation-sampler
Running setup.py clean for spatial-correlation-sampler
Failed to build spatial-correlation-sampler
Installing collected packages: spatial-correlation-sampler
Running setup.py install for spatial-correlation-sampler ... error
ERROR: Command errored out with exit status 1:
command: /home/s18002/anaconda3/envs/try1/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-mnpxd2ut/spatial-correlation-sampler/setup.py'"'"'; file='"'"'/tmp/pip-install-mnpxd2ut/spatial-correlation-sampler/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-mduycuom/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/s18002/.local/include/python3.7m/spatial-correlation-sampler
cwd: /tmp/pip-install-mnpxd2ut/spatial-correlation-sampler/
Complete output (59 lines):
which: no hipcc in (/home/s18002/anaconda3/envs/try1/bin:/home/s18002/anaconda3/condabin:.local/bin:/opt/soft/share/cudann-10.0/bin:/opt/soft/share/cuda-10.0/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/s18002/.local/bin:/home/s18002/bin)
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/spatial_correlation_sampler
copying Correlation_Module/spatial_correlation_sampler/init.py -> build/lib.linux-x86_64-3.7/spatial_correlation_sampler
copying Correlation_Module/spatial_correlation_sampler/spatial_correlation_sampler.py -> build/lib.linux-x86_64-3.7/spatial_correlation_sampler
running build_ext
/home/s18002/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py:304: 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.'))
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-install-mnpxd2ut/spatial-correlation-sampler/setup.py", line 57, in
launch_setup()
File "/tmp/pip-install-mnpxd2ut/spatial-correlation-sampler/setup.py", line 52, in launch_setup
"Topic :: Scientific/Engineering :: Artificial Intelligence"
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/site-packages/setuptools/init.py", line 144, in setup
return distutils.core.setup(**attrs)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/site-packages/setuptools/command/install.py", line 61, in run
return orig.install.run(self)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/command/install.py", line 545, in run
self.run_command('build')
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 87, in run
_build_ext.run(self)
File "/home/s18002/.local/lib/python3.7/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
_build_ext.build_ext.run(self)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "/home/s18002/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 308, in build_extensions
self._check_abi()
File "/home/s18002/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 607, in _check_abi
check_compiler_abi_compatibility(compiler)
File "/home/s18002/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 215, in check_compiler_abi_compatibility
if not check_compiler_ok_for_platform(compiler):
File "/home/s18002/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 191, in check_compiler_ok_for_platform
which = subprocess.check_output(['which', compiler], stderr=subprocess.STDOUT)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/subprocess.py", line 411, in check_output
**kwargs).stdout
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/subprocess.py", line 512, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['which', 'x86_64-conda_cos6-linux-gnu-c++']' returned non-zero exit status 1.
----------------------------------------
ERROR: Command errored out with exit status 1: /home/s18002/anaconda3/envs/try1/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-mnpxd2ut/spatial-correlation-sampler/setup.py'"'"'; file='"'"'/tmp/pip-install-mnpxd2ut/spatial-correlation-sampler/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-mduycuom/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/s18002/.local/include/python3.7m/spatial-correlation-sampler Check the logs for full command output.

Can you put the log when you install it directly from source instead ?
with python setup.py build

Other than that, pytorch gets the compiler that the environment variable CXX is set to. (see here)
So you can try this command intead:

CXX=/path/to/conda-gcc python setup.py build

Installing directly from source gives:

which: no hipcc in (/home/s18002/anaconda3/envs/try1/bin:/home/s18002/anaconda3/condabin:.local/bin:/opt/soft/share/cudann-10.0/bin:/opt/soft/share/cuda-10.0/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/s18002/.local/bin:/home/s18002/bin)
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/spatial_correlation_sampler
copying Correlation_Module/spatial_correlation_sampler/spatial_correlation_sampler.py -> build/lib.linux-x86_64-3.7/spatial_correlation_sampler
copying Correlation_Module/spatial_correlation_sampler/init.py -> build/lib.linux-x86_64-3.7/spatial_correlation_sampler
running build_ext
/home/s18002/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py:304: 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.'))
Traceback (most recent call last):
File "setup.py", line 57, in
launch_setup()
File "setup.py", line 52, in launch_setup
"Topic :: Scientific/Engineering :: Artificial Intelligence"
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/site-packages/setuptools/init.py", line 144, in setup
return distutils.core.setup(**attrs)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 87, in run
_build_ext.run(self)
File "/home/s18002/.local/lib/python3.7/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
_build_ext.build_ext.run(self)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "/home/s18002/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 308, in build_extensions
self._check_abi()
File "/home/s18002/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 607, in _check_abi
check_compiler_abi_compatibility(compiler)
File "/home/s18002/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 215, in check_compiler_abi_compatibility
if not check_compiler_ok_for_platform(compiler):
File "/home/s18002/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 191, in check_compiler_ok_for_platform
which = subprocess.check_output(['which', compiler], stderr=subprocess.STDOUT)
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/subprocess.py", line 411, in check_output
**kwargs).stdout
File "/home/s18002/anaconda3/envs/try1/lib/python3.7/subprocess.py", line 512, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['which', 'x86_64-conda_cos6-linux-gnu-c++']' returned non-zero exit status 1.

There are multiple compiler tools installed by Conda named with prefix x86_64-conda_cos6-linux-gnu-xxxx, and suffixes including addr2line,ar,as,c++filt,cc,cpp,ct-ng.config,dwp,gcc,gcc-ar,gcc-nm,gcc-ranlib, etc.

Trying to install providing path to x86_64-conda_cos6-linux-gnu-gcc (after this) gives:

which: no hipcc in (/home/s18002/anaconda3/envs/try1/bin:/home/s18002/anaconda3/condabin:.local/bin:/opt/soft/share/cudann-10.0/bin:/opt/soft/share/cuda-10.0/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/s18002/.local/bin:/home/s18002/bin)
running build
running build_py
running build_ext
/home/s18002/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py:304: 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.'))
building 'spatial_correlation_sampler_backend' extension
/home/s18002/anaconda3/envs/try1/bin/x86_64-conda_cos6-linux-gnu-cc -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -Wstrict-prototypes -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/s18002/anaconda3/envs/try1/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/s18002/anaconda3/envs/try1/include -fPIC -DUSE_CUDA -I/home/s18002/.local/lib/python3.7/site-packages/torch/include -I/home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/s18002/.local/lib/python3.7/site-packages/torch/include/TH -I/home/s18002/.local/lib/python3.7/site-packages/torch/include/THC -I/opt/soft/share/cuda-10.0/include -I/home/s18002/anaconda3/envs/try1/include/python3.7m -c Correlation_Module/correlation.cpp -o build/temp.linux-x86_64-3.7/Correlation_Module/correlation.o -fopenmp -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=spatial_correlation_sampler_backend -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
/home/s18002/anaconda3/envs/try1/bin/x86_64-conda_cos6-linux-gnu-cc -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -Wstrict-prototypes -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/s18002/anaconda3/envs/try1/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/s18002/anaconda3/envs/try1/include -fPIC -DUSE_CUDA -I/home/s18002/.local/lib/python3.7/site-packages/torch/include -I/home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/s18002/.local/lib/python3.7/site-packages/torch/include/TH -I/home/s18002/.local/lib/python3.7/site-packages/torch/include/THC -I/opt/soft/share/cuda-10.0/include -I/home/s18002/anaconda3/envs/try1/include/python3.7m -c Correlation_Module/correlation_sampler.cpp -o build/temp.linux-x86_64-3.7/Correlation_Module/correlation_sampler.o -fopenmp -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=spatial_correlation_sampler_backend -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
Correlation_Module/correlation_sampler.cpp: In function 'at::Tensor correlation_sample_forward(at::Tensor, at::Tensor, int, int, int, int, int, int, int, int, int, int)':
Correlation_Module/correlation_sampler.cpp:62:19: warning: 'at::DeprecatedTypeProperties& at::Tensor::type() const' is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
if (input1.type().is_cuda()){
^
In file included from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Tensor.h:11:0,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Context.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/ATen.h:5,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/extension.h:4,
from Correlation_Module/correlation_sampler.cpp:1:
/home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/core/TensorBody.h:262:30: note: declared here
DeprecatedTypeProperties & type() const {
^~~~
In file included from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/core/DeviceType.h:8:0,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/core/Device.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/core/Allocator.h:,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/ATen.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/extension.h:4,
from Correlation_Module/correlation_sampler.cpp:1:
Correlation_Module/correlation_sampler.cpp:29:42: warning: 'at::DeprecatedTypeProperties& at::Tensor::type() const' is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
#define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x, " must be a CUDA tensor")
^
/home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/macros/Macros.h:141:65: note: in definition of macro 'C10_UNLIKELY'
#define C10_UNLIKELY(expr) (__builtin_expect(static_cast(expr), 0))
^~~~
/home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/util/Exception.h:262:7: note: in expansion of macro 'C10_UNLIKELY_OR_CONST'
if (C10_UNLIKELY_OR_CONST(!(cond))) {
^~~~~~~~~~~~~~~~~~~~~
/home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/util/Exception.h:273:32: note: in expansion of macro 'TORCH_CHECK_WITH'
#define TORCH_CHECK(cond, ...) TORCH_CHECK_WITH(Error, cond, VA_ARGS)
^~~~~~~~~~~~~~~~
Correlation_Module/correlation_sampler.cpp:29:23: note: in expansion of macro 'TORCH_CHECK'
#define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x, " must be a CUDA tensor")
^~~~~~~~~~~
Correlation_Module/correlation_sampler.cpp:31:24: note: in expansion of macro 'CHECK_CUDA'
#define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
^~~~~~~~~~
Correlation_Module/correlation_sampler.cpp:63:5: note: in expansion of macro 'CHECK_INPUT'
CHECK_INPUT(input1);
^
In file included from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Tensor.h:11:0,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Context.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/ATen.h:5,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/extension.h:4,
from Correlation_Module/correlation_sampler.cpp:1:
/home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/core/TensorBody.h:262:30: note: declared here
DeprecatedTypeProperties & type() const {
^~~~
In file included from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/core/DeviceType.h:8:0,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/core/Device.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/core/Allocator.h:,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/ATen.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/extension.h:4,
from Correlation_Module/correlation_sampler.cpp:1:
Correlation_Module/correlation_sampler.cpp:29:42: warning: 'at::DeprecatedTypeProperties& at::Tensor::type() const' is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
#define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x, " must be a CUDA tensor")
^
/home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/macros/Macros.h:141:65: note: in definition of macro 'C10_UNLIKELY'
#define C10_UNLIKELY(expr) (builtin_expect(static_cast(expr), 0))
^~~~
/home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/util/Exception.h:262:7: note: in expansion of macro 'C10_UNLIKELY_OR_CONST'
if (C10_UNLIKELY_OR_CONST(!(cond))) {
^~~~~~~~~~~~~~~~~~~~~
/home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/util/Exception.h:273:32: note: in expansion of macro 'TORCH_CHECK_WITH'
#define TORCH_CHECK(cond, ...) TORCH_CHECK_WITH(Error, cond, VA_ARGS)
^~~~~~~~~~~~~~~~
Correlation_Module/correlation_sampler.cpp:29:23: note: in expansion of macro 'TORCH_CHECK'
#define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x, " must be a CUDA tensor")
^~~~~~~~~~~
Correlation_Module/correlation_sampler.cpp:31:24: note: in expansion of macro 'CHECK_CUDA'
#define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
^~~~~~~~~~
Correlation_Module/correlation_sampler.cpp:64:5: note: in expansion of macro 'CHECK_INPUT'
CHECK_INPUT(input2);
^
In file included from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Tensor.h:11:0,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Context.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/ATen.h:5,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/extension.h:4,
from Correlation_Module/correlation_sampler.cpp:1:
/home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/core/TensorBody.h:262:30: note: declared here
DeprecatedTypeProperties & type() const {
^~~~
Correlation_Module/correlation_sampler.cpp: In function 'std::vectorat::Tensor correlation_sample_backward(at::Tensor, at::Tensor, at::Tensor, size_t, size_t, size_t, size_t, size_t, size_t, size_t, size_t, size_t, size_t)':
Correlation_Module/correlation_sampler.cpp:88:23: warning: 'at::DeprecatedTypeProperties& at::Tensor::type() const' is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
if(grad_output.type().is_cuda()){
^
In file included from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Tensor.h:11:0,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Context.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/ATen.h:5,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/extension.h:4,
from Correlation_Module/correlation_sampler.cpp:1:
/home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/core/TensorBody.h:262:30: note: declared here
DeprecatedTypeProperties & type() const {
^~~~
In file included from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/core/DeviceType.h:8:0,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/core/Device.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/core/Allocator.h:,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/ATen.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/extension.h:4,
from Correlation_Module/correlation_sampler.cpp:1:
Correlation_Module/correlation_sampler.cpp:29:42: warning: 'at::DeprecatedTypeProperties& at::Tensor::type() const' is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
#define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x, " must be a CUDA tensor")
^
/home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/macros/Macros.h:141:65: note: in definition of macro 'C10_UNLIKELY'
#define C10_UNLIKELY(expr) (builtin_expect(static_cast(expr), 0))
^~~~
/home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/util/Exception.h:262:7: note: in expansion of macro 'C10_UNLIKELY_OR_CONST'
if (C10_UNLIKELY_OR_CONST(!(cond))) {
^~~~~~~~~~~~~~~~~~~~~
/home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/util/Exception.h:273:32: note: in expansion of macro 'TORCH_CHECK_WITH'
#define TORCH_CHECK(cond, ...) TORCH_CHECK_WITH(Error, cond, VA_ARGS)
^~~~~~~~~~~~~~~~
Correlation_Module/correlation_sampler.cpp:29:23: note: in expansion of macro 'TORCH_CHECK'
#define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x, " must be a CUDA tensor")
^~~~~~~~~~~
Correlation_Module/correlation_sampler.cpp:31:24: note: in expansion of macro 'CHECK_CUDA'
#define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
^~~~~~~~~~
Correlation_Module/correlation_sampler.cpp:89:5: note: in expansion of macro 'CHECK_INPUT'
CHECK_INPUT(input1);
^
In file included from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Tensor.h:11:0,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Context.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/ATen.h:5,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/extension.h:4,
from Correlation_Module/correlation_sampler.cpp:1:
/home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/core/TensorBody.h:262:30: note: declared here
DeprecatedTypeProperties & type() const {
^~~~
In file included from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/core/DeviceType.h:8:0,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/core/Device.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/core/Allocator.h:,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/ATen.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/extension.h:4,
from Correlation_Module/correlation_sampler.cpp:1:
Correlation_Module/correlation_sampler.cpp:29:42: warning: 'at::DeprecatedTypeProperties& at::Tensor::type() const' is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
#define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x, " must be a CUDA tensor")
^
/home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/macros/Macros.h:141:65: note: in definition of macro 'C10_UNLIKELY'
#define C10_UNLIKELY(expr) (builtin_expect(static_cast(expr), 0))
^~~~
/home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/util/Exception.h:262:7: note: in expansion of macro 'C10_UNLIKELY_OR_CONST'
if (C10_UNLIKELY_OR_CONST(!(cond))) {
^~~~~~~~~~~~~~~~~~~~~
/home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/util/Exception.h:273:32: note: in expansion of macro 'TORCH_CHECK_WITH'
#define TORCH_CHECK(cond, ...) TORCH_CHECK_WITH(Error, cond, VA_ARGS)
^~~~~~~~~~~~~~~~
Correlation_Module/correlation_sampler.cpp:29:23: note: in expansion of macro 'TORCH_CHECK'
#define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x, " must be a CUDA tensor")
^~~~~~~~~~~
Correlation_Module/correlation_sampler.cpp:31:24: note: in expansion of macro 'CHECK_CUDA'
#define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
^~~~~~~~~~
Correlation_Module/correlation_sampler.cpp:90:5: note: in expansion of macro 'CHECK_INPUT'
CHECK_INPUT(input2);
^
In file included from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Tensor.h:11:0,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Context.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/ATen.h:5,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/extension.h:4,
from Correlation_Module/correlation_sampler.cpp:1:
/home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/core/TensorBody.h:262:30: note: declared here
DeprecatedTypeProperties & type() const {
^~~~
/opt/soft/share/cuda-10.0/bin/nvcc -DUSE_CUDA -I/home/s18002/.local/lib/python3.7/site-packages/torch/include -I/home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/s18002/.local/lib/python3.7/site-packages/torch/include/TH -I/home/s18002/.local/lib/python3.7/site-packages/torch/include/THC -I/opt/soft/share/cuda-10.0/include -I/home/s18002/anaconda3/envs/try1/include/python3.7m -c Correlation_Module/correlation_cuda_kernel.cu -o build/temp.linux-x86_64-3.7/Correlation_Module/correlation_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS -D__CUDA_NO_HALF_CONVERSIONS -D__CUDA_NO_HALF2_OPERATORS
--expt-relaxed-constexpr --compiler-options '-fPIC' -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=spatial_correlation_sampler_backend -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_61,code=sm_61 -std=c++14
nvcc warning : The -std=c++14 flag is not supported with the configured host compiler. Flag will be ignored.
In file included from /usr/include/c++/4.8.2/initializer_list:36:0,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/util/SmallVector.h:31,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/util/ArrayRef.h:1,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/core/MemoryFormat.h:5,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/core/TensorBody.h:5,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Tensor.h:11,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Context.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/ATen.h:5,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from Correlation_Module/correlation_cuda_kernel.cu:1:
/usr/include/c++/4.8.2/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support for the
^
In file included from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/util/ArrayRef.h:19:0,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/core/MemoryFormat.h:5,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/core/TensorBody.h:5,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Tensor.h:11,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Context.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/ATen.h:5,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from Correlation_Module/correlation_cuda_kernel.cu:1:
/home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/util/C++17.h:16:2: error: #error "You're trying to build PyTorch with a too old version of GCC. We need GCC 5 or later."
#error "You're trying to build PyTorch with a too old version of GCC. We need GCC 5 or later."
^
/home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/util/C++17.h:24:2: error: #error You need C++14 to compile PyTorch
#error You need C++14 to compile PyTorch
^
In file included from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/util/typeid.h:28:,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/core/ScalarType.h:7,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/core/Scalar.h:9,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/core/TensorBody.h:7,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Tensor.h:11,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/Context.h:4,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/ATen/ATen.h:5,
from /home/s18002/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from Correlation_Module/correlation_cuda_kernel.cu:1:
/home/s18002/.local/lib/python3.7/site-packages/torch/include/c10/util/TypeIndex.h:76:2: error: #error "You're running a too old version of GCC. We need GCC 5 or later."
#error "You're running a too old version of GCC. We need GCC 5 or later."

I just built gcc7.3.0 and it got installed all good.

I built gcc7.3.0 ,but it didnt work ,too. which command do you input after built gcc7.3.0?

@charliememory should i input your scripts in ~/.bashrc and source ~/.bashrc?

@moha23 hi! I have a same problem, I installed gcc7.3.0 using Conda.
pytorch 1.0 cuda 10.0 gcc7.3.0

@moha23 hi! I have a same problem, I installed gcc7.3.0 using Conda.
pytorch 1.0 cuda 10.0 gcc7.3.0

Hi, I don't really remember, but as per my comments I probably built gcc from source and not conda. Sorry can't be of much help.