TeskaLabs/cysimdjson

Get " ambiguous template specialization ‘get<>’" error when trying to install with PIP

quaxquax opened this issue · 7 comments

This is on CentOS 7 with gcc 7.3.0 trying to install for Python 3.10. Is the latter maybe not supported yet?

Here is the entire PIP error trace:

Collecting cysimdjson
  Using cached cysimdjson-21.4a4.tar.gz (370 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Building wheels for collected packages: cysimdjson
  Building wheel for cysimdjson (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/python3.10 /usr/local/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmp1cpu0ci3
       cwd: /tmp/pip-install-7c4qotgp/cysimdjson_9b536c74e59e4472990b6003d8d6d3e9
  Complete output (263 lines):
  /tmp/pip-build-env-tzj3aepc/overlay/lib/python3.10/site-packages/setuptools/dist.py:487: UserWarning: Normalizing '21.4-a4' to '21.4a4'
    warnings.warn(tmpl.format(**locals()))
  running bdist_wheel
  running build
  running build_py
  package init file 'cysimdjson/__init__.py' not found (or not a regular file)
  running build_ext
  building 'cysimdjson' extension
  creating build
  creating build/temp.linux-x86_64-3.10
  creating build/temp.linux-x86_64-3.10/cysimdjson
  creating build/temp.linux-x86_64-3.10/cysimdjson/pysimdjson
  creating build/temp.linux-x86_64-3.10/cysimdjson/simdjson
  /usr/local/bin/gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -Icysimdjson -I/usr/local/include/python3.10 -c cysimdjson/cysimdjson.cpp -o build/temp.linux-x86_64-3.10/cysimdjson/cysimdjson.o -std=c++17 -O3
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:6262:38: warning: ‘Iterator’ is deprecated [-Wdeprecated-declarations]
     inline Iterator(const Iterator &o) noexcept;
                                        ^~~~~~~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:6265:49: warning: ‘Iterator’ is deprecated: Use the new DOM navigation API instead (see doc/basics.md) [-Wdeprecated-declarations]
     inline Iterator& operator=(const Iterator&) = delete;
                                                   ^~~~~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:6259:97: note: declared here
   class [[deprecated("Use the new DOM navigation API instead (see doc/basics.md)")]] dom::parser::Iterator {
                                                                                                   ^~~~~~~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:6265:49: warning: ‘Iterator’ is deprecated [-Wdeprecated-declarations]
     inline Iterator& operator=(const Iterator&) = delete;
                                                   ^~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:22965:58: error: ambiguous template specialization ‘get<>’ for ‘simdjson::simdjson_result<simdjson::fallback::ondemand::array> simdjson::fallback::ondemand::document::get() &’
   template<> simdjson_really_inline simdjson_result<array> document::get() & noexcept { return get_array(); }
                                                            ^~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20099:66: note: candidates are: template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &
     template<typename T> simdjson_really_inline simdjson_result<T> get() & noexcept {
                                                                    ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20105:66: note:                 template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &&
     template<typename T> simdjson_really_inline simdjson_result<T> get() && noexcept {
                                                                    ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:22966:59: error: ambiguous template specialization ‘get<>’ for ‘simdjson::simdjson_result<simdjson::fallback::ondemand::object> simdjson::fallback::ondemand::document::get() &’
   template<> simdjson_really_inline simdjson_result<object> document::get() & noexcept { return get_object(); }
                                                             ^~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20099:66: note: candidates are: template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &
     template<typename T> simdjson_really_inline simdjson_result<T> get() & noexcept {
                                                                    ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20105:66: note:                 template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &&
     template<typename T> simdjson_really_inline simdjson_result<T> get() && noexcept {
                                                                    ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:22967:68: error: ambiguous template specialization ‘get<>’ for ‘simdjson::simdjson_result<simdjson::fallback::ondemand::raw_json_string> simdjson::fallback::ondemand::document::get() &’
   template<> simdjson_really_inline simdjson_result<raw_json_string> document::get() & noexcept { return get_raw_json_string(); }
                                                                      ^~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20099:66: note: candidates are: template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &
     template<typename T> simdjson_really_inline simdjson_result<T> get() & noexcept {
                                                                    ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20105:66: note:                 template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &&
     template<typename T> simdjson_really_inline simdjson_result<T> get() && noexcept {
                                                                    ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:22968:69: error: ambiguous template specialization ‘get<>’ for ‘simdjson::simdjson_result<std::basic_string_view<char> > simdjson::fallback::ondemand::document::get() &’
   template<> simdjson_really_inline simdjson_result<std::string_view> document::get() & noexcept { return get_string(); }
                                                                       ^~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20099:66: note: candidates are: template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &
     template<typename T> simdjson_really_inline simdjson_result<T> get() & noexcept {
                                                                    ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20105:66: note:                 template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &&
     template<typename T> simdjson_really_inline simdjson_result<T> get() && noexcept {
                                                                    ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:22969:59: error: ambiguous template specialization ‘get<>’ for ‘simdjson::simdjson_result<double> simdjson::fallback::ondemand::document::get() &’
   template<> simdjson_really_inline simdjson_result<double> document::get() & noexcept { return get_double(); }
                                                             ^~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20099:66: note: candidates are: template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &
     template<typename T> simdjson_really_inline simdjson_result<T> get() & noexcept {
                                                                    ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20105:66: note:                 template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &&
     template<typename T> simdjson_really_inline simdjson_result<T> get() && noexcept {
                                                                    ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:22970:61: error: ambiguous template specialization ‘get<>’ for ‘simdjson::simdjson_result<long unsigned int> simdjson::fallback::ondemand::document::get() &’
   template<> simdjson_really_inline simdjson_result<uint64_t> document::get() & noexcept { return get_uint64(); }
                                                               ^~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20099:66: note: candidates are: template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &
     template<typename T> simdjson_really_inline simdjson_result<T> get() & noexcept {
                                                                    ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20105:66: note:                 template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &&
     template<typename T> simdjson_really_inline simdjson_result<T> get() && noexcept {
                                                                    ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:22971:60: error: ambiguous template specialization ‘get<>’ for ‘simdjson::simdjson_result<long int> simdjson::fallback::ondemand::document::get() &’
   template<> simdjson_really_inline simdjson_result<int64_t> document::get() & noexcept { return get_int64(); }
                                                              ^~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20099:66: note: candidates are: template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &
     template<typename T> simdjson_really_inline simdjson_result<T> get() & noexcept {
                                                                    ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20105:66: note:                 template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &&
     template<typename T> simdjson_really_inline simdjson_result<T> get() && noexcept {
                                                                    ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:22972:57: error: ambiguous template specialization ‘get<>’ for ‘simdjson::simdjson_result<bool> simdjson::fallback::ondemand::document::get() &’
   template<> simdjson_really_inline simdjson_result<bool> document::get() & noexcept { return get_bool(); }
                                                           ^~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20099:66: note: candidates are: template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &
     template<typename T> simdjson_really_inline simdjson_result<T> get() & noexcept {
                                                                    ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20105:66: note:                 template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &&
     template<typename T> simdjson_really_inline simdjson_result<T> get() && noexcept {
                                                                    ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:22974:68: error: ambiguous template specialization ‘get<>’ for ‘simdjson::simdjson_result<simdjson::fallback::ondemand::raw_json_string> simdjson::fallback::ondemand::document::get() &&’
   template<> simdjson_really_inline simdjson_result<raw_json_string> document::get() && noexcept { return get_raw_json_string(); }
                                                                      ^~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20099:66: note: candidates are: template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &
     template<typename T> simdjson_really_inline simdjson_result<T> get() & noexcept {
                                                                    ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20105:66: note:                 template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &&
     template<typename T> simdjson_really_inline simdjson_result<T> get() && noexcept {
                                                                    ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:22975:69: error: ambiguous template specialization ‘get<>’ for ‘simdjson::simdjson_result<std::basic_string_view<char> > simdjson::fallback::ondemand::document::get() &&’
   template<> simdjson_really_inline simdjson_result<std::string_view> document::get() && noexcept { return get_string(); }
                                                                       ^~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20099:66: note: candidates are: template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &
     template<typename T> simdjson_really_inline simdjson_result<T> get() & noexcept {
                                                                    ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20105:66: note:                 template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &&
     template<typename T> simdjson_really_inline simdjson_result<T> get() && noexcept {
                                                                    ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:22976:59: error: ambiguous template specialization ‘get<>’ for ‘simdjson::simdjson_result<double> simdjson::fallback::ondemand::document::get() &&’
   template<> simdjson_really_inline simdjson_result<double> document::get() && noexcept { return std::forward<document>(*this).get_double(); }
                                                             ^~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20099:66: note: candidates are: template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &
     template<typename T> simdjson_really_inline simdjson_result<T> get() & noexcept {
                                                                    ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20105:66: note:                 template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &&
     template<typename T> simdjson_really_inline simdjson_result<T> get() && noexcept {
                                                                    ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:22977:61: error: ambiguous template specialization ‘get<>’ for ‘simdjson::simdjson_result<long unsigned int> simdjson::fallback::ondemand::document::get() &&’
   template<> simdjson_really_inline simdjson_result<uint64_t> document::get() && noexcept { return std::forward<document>(*this).get_uint64(); }
                                                               ^~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20099:66: note: candidates are: template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &
     template<typename T> simdjson_really_inline simdjson_result<T> get() & noexcept {
                                                                    ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20105:66: note:                 template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &&
     template<typename T> simdjson_really_inline simdjson_result<T> get() && noexcept {
                                                                    ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:22978:60: error: ambiguous template specialization ‘get<>’ for ‘simdjson::simdjson_result<long int> simdjson::fallback::ondemand::document::get() &&’
   template<> simdjson_really_inline simdjson_result<int64_t> document::get() && noexcept { return std::forward<document>(*this).get_int64(); }
                                                              ^~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20099:66: note: candidates are: template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &
     template<typename T> simdjson_really_inline simdjson_result<T> get() & noexcept {
                                                                    ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20105:66: note:                 template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &&
     template<typename T> simdjson_really_inline simdjson_result<T> get() && noexcept {
                                                                    ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:22979:57: error: ambiguous template specialization ‘get<>’ for ‘simdjson::simdjson_result<bool> simdjson::fallback::ondemand::document::get() &&’
   template<> simdjson_really_inline simdjson_result<bool> document::get() && noexcept { return std::forward<document>(*this).get_bool(); }
                                                           ^~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20099:66: note: candidates are: template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &
     template<typename T> simdjson_really_inline simdjson_result<T> get() & noexcept {
                                                                    ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20105:66: note:                 template<class T> simdjson::simdjson_result<T> simdjson::fallback::ondemand::document::get() &&
     template<typename T> simdjson_really_inline simdjson_result<T> get() && noexcept {
                                                                    ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:23146:104: error: ambiguous template specialization ‘get<simdjson::fallback::ondemand::document>’ for ‘simdjson::simdjson_result<simdjson::fallback::ondemand::document> simdjson::simdjson_result<simdjson::fallback::ondemand::document>::get() &’
   template<> simdjson_really_inline simdjson_result<SIMDJSON_BUILTIN_IMPLEMENTATION::ondemand::document> simdjson_result<SIMDJSON_BUILTIN_IMPLEMENTATION::ondemand::document>::get<SIMDJSON_BUILTIN_IMPLEMENTATION::ondemand::document>() & noexcept = delete;
                                                                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20335:66: note: candidates are: template<class T> simdjson::simdjson_result<T> simdjson::simdjson_result<simdjson::fallback::ondemand::document>::get() &
     template<typename T> simdjson_really_inline simdjson_result<T> get() & noexcept;
                                                                    ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20336:66: note:                 template<class T> simdjson::simdjson_result<T> simdjson::simdjson_result<simdjson::fallback::ondemand::document>::get() &&
     template<typename T> simdjson_really_inline simdjson_result<T> get() && noexcept;
                                                                    ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:23147:104: error: ambiguous template specialization ‘get<simdjson::fallback::ondemand::document>’ for ‘simdjson::simdjson_result<simdjson::fallback::ondemand::document> simdjson::simdjson_result<simdjson::fallback::ondemand::document>::get() &&’
   template<> simdjson_really_inline simdjson_result<SIMDJSON_BUILTIN_IMPLEMENTATION::ondemand::document> simdjson_result<SIMDJSON_BUILTIN_IMPLEMENTATION::ondemand::document>::get<SIMDJSON_BUILTIN_IMPLEMENTATION::ondemand::document>() && noexcept {
                                                                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20335:66: note: candidates are: template<class T> simdjson::simdjson_result<T> simdjson::simdjson_result<simdjson::fallback::ondemand::document>::get() &
     template<typename T> simdjson_really_inline simdjson_result<T> get() & noexcept;
                                                                    ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20336:66: note:                 template<class T> simdjson::simdjson_result<T> simdjson::simdjson_result<simdjson::fallback::ondemand::document>::get() &&
     template<typename T> simdjson_really_inline simdjson_result<T> get() && noexcept;
                                                                    ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:23151:46: error: ambiguous template specialization ‘get<simdjson::fallback::ondemand::document>’ for ‘simdjson::error_code simdjson::simdjson_result<simdjson::fallback::ondemand::document>::get(simdjson::fallback::ondemand::document&) &’
   template<> simdjson_really_inline error_code simdjson_result<SIMDJSON_BUILTIN_IMPLEMENTATION::ondemand::document>::get<SIMDJSON_BUILTIN_IMPLEMENTATION::ondemand::document>(SIMDJSON_BUILTIN_IMPLEMENTATION::ondemand::document &out) & noexcept = delete;
                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20338:58: note: candidates are: template<class T> simdjson::error_code simdjson::simdjson_result<simdjson::fallback::ondemand::document>::get(T&) &
     template<typename T> simdjson_really_inline error_code get(T &out) & noexcept;
                                                            ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20339:58: note:                 template<class T> simdjson::error_code simdjson::simdjson_result<simdjson::fallback::ondemand::document>::get(T&) &&
     template<typename T> simdjson_really_inline error_code get(T &out) && noexcept;
                                                            ^~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:23152:46: error: ambiguous template specialization ‘get<simdjson::fallback::ondemand::document>’ for ‘simdjson::error_code simdjson::simdjson_result<simdjson::fallback::ondemand::document>::get(simdjson::fallback::ondemand::document&) &&’
   template<> simdjson_really_inline error_code simdjson_result<SIMDJSON_BUILTIN_IMPLEMENTATION::ondemand::document>::get<SIMDJSON_BUILTIN_IMPLEMENTATION::ondemand::document>(SIMDJSON_BUILTIN_IMPLEMENTATION::ondemand::document &out) && noexcept {
                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from cysimdjson/pysimdjson/errors.h:3:0,
                   from cysimdjson/cysimdjson.cpp:668:
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20338:58: note: candidates are: template<class T> simdjson::error_code simdjson::simdjson_result<simdjson::fallback::ondemand::document>::get(T&) &
     template<typename T> simdjson_really_inline error_code get(T &out) & noexcept;
                                                            ^~~
  cysimdjson/pysimdjson/../simdjson/simdjson.h:20339:58: note:                 template<class T> simdjson::error_code simdjson::simdjson_result<simdjson::fallback::ondemand::document>::get(T&) &&
     template<typename T> simdjson_really_inline error_code get(T &out) && noexcept;
                                                            ^~~
  error: command '/usr/local/bin/gcc' failed with exit code 1
  ----------------------------------------
  ERROR: Failed building wheel for cysimdjson
Failed to build cysimdjson
ERROR: Could not build wheels for cysimdjson which use PEP 517 and cannot be installed directly

Tried with Python 3.9.7 same error.
I have the module available in Python 3.6.8 and got it to compile when I installed it back then, but I do not recall what gcc version I used at that time.

This seems to be more question to SIMDJSON people https://github.com/simdjson/simdjson - it is C++ related problem (maybe compatibility with the version of GCC?)

Our requirements are as follows...

recent compiler (LLVM clang6 or better, GNU GCC 7.4 or better, Xcode 11 or better)

(copied from our documentation)

My vague recollection is that the early releases of GCC 7 had issues with C++11.

@quaxquax Do you have any reason to need GCC 7.3?

In CI, we currently run tests with GCC 7.5. I would expect people who want to use GCC 7 to use the latest revision of the GCC 7 compiler.

Screen Shot 2021-11-05 at 8 47 50 PM

I am honestly not sure that there is an issue with earlier revisions of GCC 7.

But yeah, we currently test with GCC 7.5 (every commit, full testing).

BTW - I released a binary version of cysimdjson to PIP (as well) for Python 3.10.
That may help you too @quaxquax

Closing this one.