SeanNaren / warp-ctc

Pytorch Bindings for warp-ctc
Apache License 2.0
756 stars 271 forks source link

make erro test_gpu #104

Open zkself opened 5 years ago

zkself commented 5 years ago

envs: ubuntu16.04 cuda9.0 cudnn7 gcc6,4.9 RTX2080TI

[ 33%] Built target warpctc [ 44%] Building NVCC (Device) object CMakeFiles/test_gpu.dir/tests/test_gpu_generated_test_gpu.cu.o /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<int, int, int, int, double>}; bool = true; _Elements = {int, int, int, int, double}]’: /usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int, int, int, int, double>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, double>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, double>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<int, int, int, int, double>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int, int, int, int, double>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, double>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, double>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’ /usr/include/c++/6/tuple:1396:58: required from ‘constexpr std::tuple<typename std::decay_and_strip<_Elements>::__type ...> std::make_tuple(_Elements&& ...) [with _Elements = {int, int, int, int, double}]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:453:130: 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<int, int, int, int, double>}; bool = true; _Elements = {int, int, int, int, double}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<int, int, int, int, double>}; bool = true; _Elements = {int, int, int, int, double}]’: /usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int, int, int, int, double>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, double>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, double>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<int, int, int, int, double>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int, int, int, int, double>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, double>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, double>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’ /usr/include/c++/6/tuple:1396:58: required from ‘constexpr std::tuple<typename std::decay_and_strip<_Elements>::__type ...> std::make_tuple(_Elements&& ...) [with _Elements = {int, int, int, int, double}]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:453:130: 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<int, int, int, int, double>}; bool = true; _Elements = {int, int, int, int, double}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<int, int, int, int, double>&; bool = true; _Elements = {int, int, int, int, double}]’: /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)), int, int, int, int, double>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, double>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int, int, int, int, double>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {int, int, int, int, double}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, double>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, double>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int, int, int, int, double>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’ /usr/include/c++/6/tuple:1396:58: required from ‘constexpr std::tuple<typename std::decay_and_strip<_Elements>::type ...> std::make_tuple(_Elements&& ...) [with _Elements = {int, int, int, int, double}]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:453:130: 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<int, int, int, int, double>&; bool = true; _Elements = {int, int, int, int, double}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<int, int, int, int, double>&&; bool = true; _Elements = {int, int, int, int, double}]’: /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)), int, int, int, int, double>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, double>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int, int, int, int, double>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {int, int, int, int, double}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, double>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, double>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int, int, int, int, double>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’ /usr/include/c++/6/tuple:1396:58: required from ‘constexpr std::tuple<typename std::decay_and_strip<_Elements>::type ...> std::make_tuple(_Elements&& ...) [with _Elements = {int, int, int, int, double}]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:453:130: 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<int, int, int, int, double>&&; bool = true; _Elements = {int, int, int, int, double}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<int, int, int, int, double>}; bool = true; _Elements = {int, int, int, int, float}]’: /usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int, int, int, int, float>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<int, int, int, int, double>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int, int, int, int, float>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:453:131: 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<int, int, int, int, double>}; bool = true; _Elements = {int, int, int, int, float}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<int, int, int, int, double>}; bool = true; _Elements = {int, int, int, int, float}]’: /usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int, int, int, int, float>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<int, int, int, int, double>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int, int, int, int, float>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:453:131: 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<int, int, int, int, double>}; bool = true; _Elements = {int, int, int, int, float}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<int, int, int, int, double>&; bool = true; _Elements = {int, int, int, int, float}]’: /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)), int, int, int, int, float>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int, int, int, int, float>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {int, int, int, int, double}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int, int, int, int, float>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:453:131: 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<int, int, int, int, double>&; bool = true; _Elements = {int, int, int, int, float}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<int, int, int, int, double>&&; bool = true; _Elements = {int, int, int, int, float}]’: /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)), int, int, int, int, float>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int, int, int, int, float>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {int, int, int, int, double}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int, int, int, int, float>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:453:131: 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<int, int, int, int, double>&&; bool = true; _Elements = {int, int, int, int, float}]’ not a return-statement } ^ /home/user/zkself/warp-ctc/tests/test_gpu.cu: In function ‘bool run_tests()’: /home/user/zkself/warp-ctc/tests/test_gpu.cu:453:131: error: could not convert ‘{std::make_tuple(_Elements&& ...) [with _Elements = {int, int, int, int, double}](50, 15, 1, 1.0000000000000001e-5)}’ from ‘’ to ‘std::vector<std::tuple<int, int, int, int, float> >’ std::vector<std::tuple<int, int, int, int, float>> problem_sizes = ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<int, int, int, int, float>&}; bool = true; _Elements = {int, int, int, int, float}]’: /usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int, int, int, int, float>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<int, int, int, int, float>&}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int, int, int, int, float>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:457:21: 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<int, int, int, int, float>&}; bool = true; _Elements = {int, int, int, int, float}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<int, int, int, int, float>&}; bool = true; _Elements = {int, int, int, int, float}]’: /usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int, int, int, int, float>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<int, int, int, int, float>&}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int, int, int, int, float>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:457:21: 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<int, int, int, int, float>&}; bool = true; _Elements = {int, int, int, int, float}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<int, int, int, int, float>&; bool = true; _Elements = {int, int, int, int, float}]’: /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)), int, int, int, int, float>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int, int, int, int, float>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {int, int, int, int, float}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int, int, int, int, float>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:457:21: 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<int, int, int, int, float>&; bool = true; _Elements = {int, int, int, int, float}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<int, int, int, int, float>&&; bool = true; _Elements = {int, int, int, int, float}]’: /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)), int, int, int, int, float>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int, int, int, int, float>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {int, int, int, int, float}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int, int, int, int, float>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int, int, int, int, float>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:457:21: 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<int, int, int, int, float>&&; bool = true; _Elements = {int, int, int, int, float}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<int&, int&, int&, int&, float&>}; bool = true; _Elements = {int&, int&, int&, int&, float&}]’: /usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int&, int&, int&, int&, float&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<int&, int&, int&, int&, float&>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int&, int&, int&, int&, float&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’ /usr/include/c++/6/tuple:1545:43: required from ‘constexpr std::tuple<_Elements& ...> std::tie(_Elements& ...) [with _Elements = {int, int, int, int, float}]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:460:47: 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<int&, int&, int&, int&, float&>}; bool = true; _Elements = {int&, int&, int&, int&, float&}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<int&, int&, int&, int&, float&>}; bool = true; _Elements = {int&, int&, int&, int&, float&}]’: /usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int&, int&, int&, int&, float&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<int&, int&, int&, int&, float&>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int&, int&, int&, int&, float&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’ /usr/include/c++/6/tuple:1545:43: required from ‘constexpr std::tuple<_Elements& ...> std::tie(_Elements& ...) [with _Elements = {int, int, int, int, float}]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:460:47: 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<int&, int&, int&, int&, float&>}; bool = true; _Elements = {int&, int&, int&, int&, float&}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<int&, int&, int&, int&, float&>&; bool = true; _Elements = {int&, int&, int&, int&, float&}]’: /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)), int&, int&, int&, int&, float&>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int&, int&, int&, int&, float&>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {int&, int&, int&, int&, float&}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int&, int&, int&, int&, float&>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’ /usr/include/c++/6/tuple:1545:43: required from ‘constexpr std::tuple<_Elements& ...> std::tie(_Elements& ...) [with _Elements = {int, int, int, int, float}]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:460:47: 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<int&, int&, int&, int&, float&>&; bool = true; _Elements = {int&, int&, int&, int&, float&}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<int&, int&, int&, int&, float&>&&; bool = true; _Elements = {int&, int&, int&, int&, float&}]’: /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)), int&, int&, int&, int&, float&>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int&, int&, int&, int&, float&>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {int&, int&, int&, int&, float&}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int&, int&, int&, int&, float&>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’ /usr/include/c++/6/tuple:1545:43: required from ‘constexpr std::tuple<_Elements& ...> std::tie(_Elements& ...) [with _Elements = {int, int, int, int, float}]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:460:47: 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<int&, int&, int&, int&, float&>&&; bool = true; _Elements = {int&, int&, int&, int&, float&}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<int, int, int, int, float>&}; bool = true; _Elements = {int&, int&, int&, int&, float&}]’: /usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int&, int&, int&, int&, float&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<int, int, int, int, float>&}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int&, int&, int&, int&, float&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:460:52: 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<int, int, int, int, float>&}; bool = true; _Elements = {int&, int&, int&, int&, float&}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<int, int, int, int, float>&}; bool = true; _Elements = {int&, int&, int&, int&, float&}]’: /usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int&, int&, int&, int&, float&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<int, int, int, int, float>&}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), int&, int&, int&, int&, float&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:460:52: 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<int, int, int, int, float>&}; bool = true; _Elements = {int&, int&, int&, int&, float&}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<int, int, int, int, float>&; bool = true; _Elements = {int&, int&, int&, int&, float&}]’: /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)), int&, int&, int&, int&, float&>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int&, int&, int&, int&, float&>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {int, int, int, int, float}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int&, int&, int&, int&, float&>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:460:52: 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<int, int, int, int, float>&; bool = true; _Elements = {int&, int&, int&, int&, float&}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<int, int, int, int, float>&&; bool = true; _Elements = {int&, int&, int&, int&, float&}]’: /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)), int&, int&, int&, int&, float&>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int&, int&, int&, int&, float&>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {int, int, int, int, float}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), int&, int&, int&, int&, float&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), int&, int&, int&, int&, float&>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’ /home/user/zkself/warp-ctc/tests/test_gpu.cu:460:52: 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<int, int, int, int, float>&&; bool = true; _Elements = {int&, int&, int&, int&, float&}]’ not a return-statement } ^ CMake Error at test_gpu_generated_test_gpu.cu.o.cmake:266 (message): Error generating file /home/user/zkself/warp-ctc/build/CMakeFiles/test_gpu.dir/tests/./test_gpu_generated_test_gpu.cu.o

CMakeFiles/test_gpu.dir/build.make:353: recipe for target 'CMakeFiles/test_gpu.dir/tests/test_gpu_generated_test_gpu.cu.o' failed make[2]: [CMakeFiles/test_gpu.dir/tests/test_gpu_generated_test_gpu.cu.o] Error 1 CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/test_gpu.dir/all' failed make[1]: [CMakeFiles/test_gpu.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make: *** [all] Error 2

ghost commented 5 years ago

@zkself ### Hi, My environment is Ubuntu 18.04, CUDA 9.0, cuDNN 7.0, pytorch 0.4.1, gcc-6, g++-6. I also encountered this problem when I executed make.

username@username:~/warp-ctc/build$ make
[ 11%] Building NVCC (Device) object CMakeFiles/warpctc.dir/src/warpctc_generated_reduce.cu.o
...
[ 22%] Building NVCC (Device) object CMakeFiles/warpctc.dir/src/warpctc_generated_ctc_entrypoint.cu.o
...
Scanning dependencies of target warpctc
[ 33%] Linking CXX shared library libwarpctc.so
[ 33%] Built target warpctc
Scanning dependencies of target test_cpu
[ 44%] Building CXX object CMakeFiles/test_cpu.dir/tests/test_cpu.cpp.o
[ 55%] Building CXX object CMakeFiles/test_cpu.dir/tests/random.cpp.o
[ 66%] Linking CXX executable test_cpu
[ 66%] Built target test_cpu
[ 77%] Building NVCC (Device) object CMakeFiles/test_gpu.dir/tests/test_gpu_generated_test_gpu.cu.o
...
CMake Error at test_gpu_generated_test_gpu.cu.o.cmake:279 (message):
  Error generating file
  /home/username/warp-ctc/build/CMakeFiles/test_gpu.dir/tests/./test_gpu_generated_test_gpu.cu.o

CMakeFiles/test_gpu.dir/build.make:63: recipe for target 'CMakeFiles/test_gpu.dir/tests/test_gpu_generated_test_gpu.cu.o' failed
make[2]: *** [CMakeFiles/test_gpu.dir/tests/test_gpu_generated_test_gpu.cu.o] Error 1
CMakeFiles/Makefile2:141: recipe for target 'CMakeFiles/test_gpu.dir/all' failed
make[1]: *** [CMakeFiles/test_gpu.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

You can try to change the versions of GCC and g++, like this.

username@username:/usr/bin$ ls -all gcc*
lrwxrwxrwx 1 root root      5 3月  24 10:24 gcc -> gcc-6
-rwxr-xr-x 1 root root 772280 3月  19  2018 gcc-4.8
lrwxrwxrwx 1 root root     22 11月 12 16:50 gcc-6 -> x86_64-linux-gnu-gcc-6
lrwxrwxrwx 1 root root     22 7月  26  2018 gcc-7 -> x86_64-linux-gnu-gcc-7
lrwxrwxrwx 1 root root      8 9月  17  2018 gcc-ar -> gcc-ar-7
-rwxr-xr-x 1 root root  27088 3月  19  2018 gcc-ar-4.8
lrwxrwxrwx 1 root root     25 11月 12 16:50 gcc-ar-6 -> x86_64-linux-gnu-gcc-ar-6
lrwxrwxrwx 1 root root     25 7月  26  2018 gcc-ar-7 -> x86_64-linux-gnu-gcc-ar-7
lrwxrwxrwx 1 root root      5 4月   7  2018 gcc.bak -> gcc-7
lrwxrwxrwx 1 root root      8 9月  17  2018 gcc-nm -> gcc-nm-7
-rwxr-xr-x 1 root root  27088 3月  19  2018 gcc-nm-4.8
lrwxrwxrwx 1 root root     25 11月 12 16:50 gcc-nm-6 -> x86_64-linux-gnu-gcc-nm-6
lrwxrwxrwx 1 root root     25 7月  26  2018 gcc-nm-7 -> x86_64-linux-gnu-gcc-nm-7
lrwxrwxrwx 1 root root     12 9月  17  2018 gcc-ranlib -> gcc-ranlib-7
-rwxr-xr-x 1 root root  27088 3月  19  2018 gcc-ranlib-4.8
lrwxrwxrwx 1 root root     29 11月 12 16:50 gcc-ranlib-6 -> x86_64-linux-gnu-gcc-ranlib-6
lrwxrwxrwx 1 root root     29 7月  26  2018 gcc-ranlib-7 -> x86_64-linux-gnu-gcc-ranlib-7
username@username:/usr/bin$ ls -al g++*
lrwxrwxrwx 1 root root      5 3月  24 10:24 g++ -> g++-6
-rwxr-xr-x 1 root root 776376 3月  19  2018 g++-4.8
lrwxrwxrwx 1 root root     22 11月 12 16:50 g++-6 -> x86_64-linux-gnu-g++-6
lrwxrwxrwx 1 root root     22 7月  26  2018 g++-7 -> x86_64-linux-gnu-g++-7
lrwxrwxrwx 1 root root      5 4月   7  2018 g++.bak -> g++-7
username@username:/usr/bin$ sudo ln -sf gcc-4.8 gcc
[sudo] zhudong 的密码: 
username@username:/usr/bin$ sudo ln -sf g++-4.8 g++
username@username:/usr/bin$ 

After going through the above steps, you can try make again.

username@username:~/warp-ctc/build$ make
[ 11%] Linking CXX shared library libwarpctc.so
[ 33%] Built target warpctc
[ 44%] Linking CXX executable test_cpu
[ 66%] Built target test_cpu
[ 77%] Building NVCC (Device) object CMakeFiles/test_gpu.dir/tests/test_gpu_generated_test_gpu.cu.o
Scanning dependencies of target test_gpu
[ 88%] Building CXX object CMakeFiles/test_gpu.dir/tests/random.cpp.o
[100%] Linking CXX executable test_gpu
[100%] Built target test_gpu

Good luck.

kalanityL commented 5 years ago

I confirm. Same error initially I downloaded gcc4.8 and g++4.8 and it compiled fine after setting them default.

sudo apt-get install gcc-4.8
sudo apt-get install -y g++-4.8
sudo ln -sf g++-4.8 g++
sudo ln -sf gcc-4.8 gcc