{"action":"created","issue":{"url":"https://api.github.com/repos/openai/retro/issues/102","repository_url":"https://api.github.com/repos/openai/retro","labels_url":"https://api.github.com/repos/openai/retro/issues/102/labels{/name}","comments_url":"https://api.github.com/repos/openai/retro/issues/102/comments","events_url":"https://api.github.com/repos/openai/retro/issues/102/events","html_url":"https://github.com/openai/retro/issues/102","id":383672202,"node_id":"MDU6SXNzdWUzODM2NzIyMDI=","number":102,"title":"Installation failed on Raspberry Pi","user":{"login":"phmignot","id":35995122,"node_id":"MDQ6VXNlcjM1OTk1MTIy","avatar_url":"https://avatars0.githubusercontent.com/u/35995122?v=4","gravatar_id":"","url":"https://api.github.com/users/phmignot","html_url":"https://github.com/phmignot","followers_url":"https://api.github.com/users/phmignot/followers","following_url":"https://api.github.com/users/phmignot/following{/other_user}","gists_url":"https://api.github.com/users/phmignot/gists{/gist_id}","starred_url":"https://api.github.com/users/phmignot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phmignot/subscriptions","organizations_url":"https://api.github.com/users/phmignot/orgs","repos_url":"https://api.github.com/users/phmignot/repos","events_url":"https://api.github.com/users/phmignot/events{/privacy}","received_events_url":"https://api.github.com/users/phmignot/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-11-22T23:27:46Z","updated_at":"2018-11-27T20:22:49Z","closed_at":null,"author_association":"NONE","body":"## Issue summary\r\nI have already installed gym-retro on my computer, but I can't install it on a raspberry Pi.\r\n\r\ncmake has been installed from source.\r\nsetuptools version 40.6.2\r\n\r\nI have tried to install gym-retro from source and directly with pip3.\r\nI link you everything since the first warning.\r\n\r\n\r\n    [ 91%] Building CXX object CMakeFiles/retro-base.dir/src/memory.cpp.o\r\n    /tmp/pip-build-fet82t45/gym-retro/src/memory.cpp: In member function ‘size_t std::hash<Retro::DataType>::operator()(const Retro::DataType&) const’:\r\n    /tmp/pip-build-fet82t45/gym-retro/src/memory.cpp:131:70: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]\r\n      return hash<uint32_t>()(*reinterpret_cast<const uint32_t*>(type.type));\r\n                                                                          ^\r\n    [ 91%] Building CXX object CMakeFiles/retro-base.dir/src/movie.cpp.o\r\n    [ 91%] Building CXX object CMakeFiles/retro-base.dir/src/movie-bk2.cpp.o\r\n    [ 95%] Building CXX object CMakeFiles/retro-base.dir/src/movie-fm2.cpp.o\r\n    In file included from /usr/include/c++/6/map:60:0,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/third-party/json.hpp:53,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/src/coreinfo.cpp:1:\r\n    /usr/include/c++/6/bits/stl_tree.h: In member function ‘std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]’:\r\n    /usr/include/c++/6/bits/stl_tree.h:1928:5: note: parameter passing for argument of type ‘std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >, std::less<void>, std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >}’ will change in GCC 7.1\r\n         _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::\r\n         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n    [ 95%] Building CXX object CMakeFiles/retro-base.dir/src/script.cpp.o\r\n    [ 95%] Building CXX object CMakeFiles/retro-base.dir/src/script-lua.cpp.o\r\n    [ 95%] Building CXX object CMakeFiles/retro-base.dir/src/search.cpp.o\r\n    In file included from /usr/include/c++/6/map:60:0,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/third-party/gtest/googletest/include/gtest/internal/gtest-internal.h:58,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/third-party/gtest/googletest/include/gtest/gtest.h:58,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/src/memory.h:3,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/src/emulator.h:4,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/src/data.h:3,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/src/data.cpp:1:\r\n    /usr/include/c++/6/bits/stl_tree.h: In member function ‘std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >; _Compare = std::less<void>; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >]’:\r\n    /usr/include/c++/6/bits/stl_tree.h:1928:5: note: parameter passing for argument of type ‘std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >, std::less<void>, std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> > >}’ will change in GCC 7.1\r\n         _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::\r\n         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n    /tmp/pip-build-fet82t45/gym-retro/src/search.cpp:491:51: error: ‘T’ does not name a type\r\n     inline void hash_combine(std::size_t& seed, const T& v) {\r\n                                                       ^\r\n    /tmp/pip-build-fet82t45/gym-retro/src/search.cpp: In function ‘void hash_combine(std::size_t&, const int&)’:\r\n    /tmp/pip-build-fet82t45/gym-retro/src/search.cpp:492:12: error: ‘T’ was not declared in this scope\r\n      std::hash<T> hasher;\r\n                ^\r\n    /tmp/pip-build-fet82t45/gym-retro/src/search.cpp:492:13: error: template argument 1 is invalid\r\n      std::hash<T> hasher;\r\n                 ^\r\n    /tmp/pip-build-fet82t45/gym-retro/src/search.cpp:494:27: error: ‘hasher’ cannot be used as a function\r\n      std::size_t a = (hasher(v) ^ seed) * kMul;\r\n                               ^\r\n    /tmp/pip-build-fet82t45/gym-retro/src/search.cpp:495:13: warning: right shift count >= width of type [-Wshift-count-overflow]\r\n      a ^= (a >> 47);\r\n                 ^~\r\n    /tmp/pip-build-fet82t45/gym-retro/src/search.cpp:497:13: warning: right shift count >= width of type [-Wshift-count-overflow]\r\n      b ^= (b >> 47);\r\n                 ^~\r\n    [ 95%] Building CXX object CMakeFiles/retro-base.dir/src/utils.cpp.o\r\n    CMakeFiles/retro-base.dir/build.make:196 : la recette pour la cible « CMakeFiles/retro-base.dir/src/search.cpp.o » a échouée\r\n    make[3]: *** [CMakeFiles/retro-base.dir/src/search.cpp.o] Erreur 1\r\n    make[3]: *** Attente des tâches non terminées....\r\n    In file included from /usr/include/c++/6/vector:69:0,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/third-party/gtest/googletest/include/gtest/gtest.h:56,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/src/memory.h:3,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/src/emulator.h:4,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/src/data.h:3,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/src/data.cpp:1:\r\n    /usr/include/c++/6/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_fill_insert(std::vector<_Tp, _Alloc>::iterator, std::vector<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = nlohmann::basic_json<>; _Alloc = std::allocator<nlohmann::basic_json<> >]’:\r\n    /usr/include/c++/6/bits/vector.tcc:449:5: note: parameter passing for argument of type ‘std::vector<nlohmann::basic_json<>, std::allocator<nlohmann::basic_json<> > >::iterator {aka __gnu_cxx::__normal_iterator<nlohmann::basic_json<>*, std::vector<nlohmann::basic_json<>, std::allocator<nlohmann::basic_json<> > > >}’ will change in GCC 7.1\r\n         vector<_Tp, _Alloc>::\r\n         ^~~~~~~~~~~~~~~~~~~\r\n    In file included from /usr/include/c++/6/vector:64:0,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/third-party/gtest/googletest/include/gtest/gtest.h:56,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/src/memory.h:3,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/src/emulator.h:4,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/src/data.h:3,\r\n                     from /tmp/pip-build-fet82t45/gym-retro/src/data.cpp:1:\r\n    /usr/include/c++/6/bits/stl_vector.h: In member function ‘nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::value_type& nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::operator[](nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer>::size_type) [with ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string<char>; BooleanType = bool; NumberIntegerType = long long int; NumberUnsignedType = long long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer]’:\r\n    /usr/include/c++/6/bits/stl_vector.h:1055:2: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<nlohmann::basic_json<>*, std::vector<nlohmann::basic_json<>, std::allocator<nlohmann::basic_json<> > > >’ will change in GCC 7.1\r\n      _M_fill_insert(begin() + __offset, __n, __x);\r\n      ^~~~~~~~~~~~~~\r\n    CMakeFiles/Makefile2:606 : la recette pour la cible « CMakeFiles/retro-base.dir/all » a échouée\r\n    make[2]: *** [CMakeFiles/retro-base.dir/all] Erreur 2\r\n    CMakeFiles/Makefile2:730 : la recette pour la cible « CMakeFiles/retro.dir/rule » a échouée\r\n    make[1]: *** [CMakeFiles/retro.dir/rule] Erreur 2\r\n    Makefile:431 : la recette pour la cible « retro » a échouée\r\n    make: *** [retro] Erreur 2\r\n    Traceback (most recent call last):\r\n      File \"<string>\", line 1, in <module>\r\n      File \"/tmp/pip-build-fet82t45/gym-retro/setup.py\", line 90, in <module>\r\n        **kwargs\r\n      File \"/usr/lib/python3.5/distutils/core.py\", line 148, in setup\r\n        dist.run_commands()\r\n      File \"/usr/lib/python3.5/distutils/dist.py\", line 955, in run_commands\r\n        self.run_command(cmd)\r\n      File \"/usr/lib/python3.5/distutils/dist.py\", line 974, in run_command\r\n        cmd_obj.run()\r\n      File \"/usr/lib/python3/dist-packages/setuptools/command/install.py\", line 61, in run\r\n        return orig.install.run(self)\r\n      File \"/usr/lib/python3.5/distutils/command/install.py\", line 583, in run\r\n        self.run_command('build')\r\n      File \"/usr/lib/python3.5/distutils/cmd.py\", line 313, in run_command\r\n        self.distribution.run_command(command)\r\n      File \"/usr/lib/python3.5/distutils/dist.py\", line 974, in run_command\r\n        cmd_obj.run()\r\n      File \"/usr/lib/python3.5/distutils/command/build.py\", line 135, in run\r\n        self.run_command(cmd_name)\r\n      File \"/usr/lib/python3.5/distutils/cmd.py\", line 313, in run_command\r\n        self.distribution.run_command(command)\r\n      File \"/usr/lib/python3.5/distutils/dist.py\", line 974, in run_command\r\n        cmd_obj.run()\r\n      File \"/tmp/pip-build-fet82t45/gym-retro/setup.py\", line 62, in run\r\n        subprocess.check_call([make_exe, jobs, 'retro'])\r\n      File \"/usr/lib/python3.5/subprocess.py\", line 271, in check_call\r\n        raise CalledProcessError(retcode, cmd)\r\n    subprocess.CalledProcessError: Command '['/usr/bin/make', '-j4', 'retro']' returned non-zero exit status 2\r\n    \r\n    ----------------------------------------\r\nCommand \"/usr/bin/python3 -u -c \"import setuptools, tokenize;__file__='/tmp/pip-build-fet82t45/gym-retro/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-41zgalo_-record/install-record.txt --single-version-externally-managed --compile\" failed with error code 1 in /tmp/pip-build-fet82t45/gym-retro/\r\n\r\n\r\n## System information\r\n\r\n- Raspbian GNU/Linux 9 (stretch)\r\n- Python 3.5.3\r\n- gym-retro 0.6.1.dev18+g0f82b71"},"comment":{"url":"https://api.github.com/repos/openai/retro/issues/comments/442203722","html_url":"https://github.com/openai/retro/issues/102#issuecomment-442203722","issue_url":"https://api.github.com/repos/openai/retro/issues/102","id":442203722,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0MjIwMzcyMg==","user":{"login":"endrift","id":605502,"node_id":"MDQ6VXNlcjYwNTUwMg==","avatar_url":"https://avatars3.githubusercontent.com/u/605502?v=4","gravatar_id":"","url":"https://api.github.com/users/endrift","html_url":"https://github.com/endrift","followers_url":"https://api.github.com/users/endrift/followers","following_url":"https://api.github.com/users/endrift/following{/other_user}","gists_url":"https://api.github.com/users/endrift/gists{/gist_id}","starred_url":"https://api.github.com/users/endrift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/endrift/subscriptions","organizations_url":"https://api.github.com/users/endrift/orgs","repos_url":"https://api.github.com/users/endrift/repos","events_url":"https://api.github.com/users/endrift/events{/privacy}","received_events_url":"https://api.github.com/users/endrift/received_events","type":"User","site_admin":false},"created_at":"2018-11-27T20:22:49Z","updated_at":"2018-11-27T20:22:49Z","author_association":"COLLABORATOR","body":"First issue is a 32-bit build failure, second issue is a LuaJIT build system bug. It can probably be worked around though."}}
{"actor":{"display_login":"endrift"}}