Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Problem during PowerBlock installation



  • Hi, during instalaltion of the Powerblock driver on RETROPIE 4.9.35-v7+ and i get the following error :

    pi@retropie:/ $ wget -O - https://raw.githubusercontent.com/petrockblog/PowerBlock/master/install.sh | sudo bash
    --2017-09-20 23:50:45-- https://raw.githubusercontent.com/petrockblog/PowerBlock/master/install.sh
    Résolution de raw.githubusercontent.com (raw.githubusercontent.com)… 151.101.120.133
    Connexion à raw.githubusercontent.com (raw.githubusercontent.com)|151.101.120.133|:443… connecté.
    requête HTTP transmise, en attente de la réponse… 200 OK
    Taille : 2247 (2,2K) [text/plain]
    Sauvegarde en : « STDOUT »

    •                                                       100%[==========================================================================================================================================>]   2,19K  --.-KB/s   ds 0s
      

    2017-09-20 23:50:45 (13,6 MB/s) — envoi vers sortie standard [2247/2247]

    Lecture des listes de paquets... Fait
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    build-essential is already the newest version (12.3).
    cmake is already the newest version (3.7.2-1).
    doxygen is already the newest version (1.8.13-4).
    g++-4.9 is already the newest version (4.9.3-14).
    git is already the newest version (1:2.11.0-3).
    Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
    libclang1-3.5 libcloog-isl4 libgc1c2 libisl10 libjsoncpp0 libllvm3.5 libobjc-4.9-dev libobjc4
    Veuillez utiliser « apt autoremove » pour les supprimer.
    0 mis à jour, 0 nouvellement installés, 0 à enlever et 553 non mis à jour.
    Clonage dans 'PowerBlock'...
    remote: Counting objects: 627, done.
    remote: Compressing objects: 100% (13/13), done.
    remote: Total 627 (delta 4), reused 4 (delta 0), pack-reused 614
    Réception d'objets: 100% (627/627), 1.31 MiB | 813.00 KiB/s, fait.
    Résolution des deltas: 100% (162/162), fait.
    /PowerBlock/build /PowerBlock
    -- The C compiler identification is GNU 6.3.0
    -- The CXX compiler identification is GNU 6.3.0
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- JsonCpp Version: 1.7.7
    -- Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.9", minimum required is "2.6")
    -- Found Doxygen: /usr/bin/doxygen (found version "1.8.13")
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /PowerBlock/build
    Scanning dependencies of target bcm2835
    [ 5%] Building C object src/lib/bcm2835-1.48/src/CMakeFiles/bcm2835.dir/bcm2835.c.o
    [ 10%] Linking C static library libbcm2835.a
    [ 10%] Built target bcm2835
    Scanning dependencies of target jsoncpp_lib_static
    [ 15%] Building CXX object src/lib/jsoncpp/src/lib_json/CMakeFiles/jsoncpp_lib_static.dir/json_reader.cpp.o
    [ 21%] Building CXX object src/lib/jsoncpp/src/lib_json/CMakeFiles/jsoncpp_lib_static.dir/json_value.cpp.o
    In file included from /usr/include/c++/6/map:60:0,
    from /PowerBlock/src/lib/jsoncpp/include/json/value.h:17,
    from /PowerBlock/src/lib/jsoncpp/src/lib_json/json_value.cpp:8:
    /usr/include/c++/6/bits/stl_tree.h: In member function ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<const Json::Value::CZString&>, std::tuple<>}; _Key = Json::Value::CZString; _Val = std::pair<const Json::Value::CZString, Json::Value>; _KeyOfValue = std::_Select1st<std::pair<const Json::Value::CZString, Json::Value> >; _Compare = std::lessJson::Value::CZString; _Alloc = std::allocator<std::pair<const Json::Value::CZString, Json::Value> >]’:
    /usr/include/c++/6/bits/stl_tree.h:2193:7: note: parameter passing for argument of type ‘std::_Rb_tree<Json::Value::CZString, std::pair<const Json::Value::CZString, Json::Value>, std::_Select1st<std::pair<const Json::Value::CZString, Json::Value> >, std::lessJson::Value::CZString, std::allocator<std::pair<const Json::Value::CZString, Json::Value> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const Json::Value::CZString, Json::Value> >}’ will change in GCC 7.1
    _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/include/c++/6/bits/stl_tree.h:2193:7: note: parameter passing for argument of type ‘std::_Rb_tree<Json::Value::CZString, std::pair<const Json::Value::CZString, Json::Value>, std::_Select1st<std::pair<const Json::Value::CZString, Json::Value> >, std::lessJson::Value::CZString, std::allocator<std::pair<const Json::Value::CZString, Json::Value> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const Json::Value::CZString, Json::Value> >}’ will change in GCC 7.1
    /usr/include/c++/6/bits/stl_tree.h: In function ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::M_insert_unique(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, _Arg&&, _NodeGen&) [with _Arg = std::pair<const Json::Value::CZString, Json::Value>&; _NodeGen = std::_Rb_tree<Json::Value::CZString, std::pair<const Json::Value::CZString, Json::Value>, std::_Select1st<std::pair<const Json::Value::CZString, Json::Value> >, std::lessJson::Value::CZString, std::allocator<std::pair<const Json::Value::CZString, Json::Value> > >::_Alloc_node; _Key = Json::Value::CZString; _Val = std::pair<const Json::Value::CZString, Json::Value>; _KeyOfValue = std::_Select1st<std::pair<const Json::Value::CZString, Json::Value> >; _Compare = std::lessJson::Value::CZString; _Alloc = std::allocator<std::pair<const Json::Value::CZString, Json::Value> >]’:
    /usr/include/c++/6/bits/stl_tree.h:1989:7: note: parameter passing for argument of type ‘std::_Rb_tree<Json::Value::CZString, std::pair<const Json::Value::CZString, Json::Value>, std::_Select1st<std::pair<const Json::Value::CZString, Json::Value> >, std::lessJson::Value::CZString, std::allocator<std::pair<const Json::Value::CZString, Json::Value> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const Json::Value::CZString, Json::Value> >}’ will change in GCC 7.1
    _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/include/c++/6/bits/stl_tree.h: In member function ‘Json::Value& Json::Value::operator’:
    /usr/include/c++/6/bits/stl_tree.h:950:65: note: parameter passing for argument of type ‘std::_Rb_tree<Json::Value::CZString, std::pair<const Json::Value::CZString, Json::Value>, std::_Select1st<std::pair<const Json::Value::CZString, Json::Value> >, std::lessJson::Value::CZString, std::allocator<std::pair<const Json::Value::CZString, Json::Value> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const Json::Value::CZString, Json::Value> >}’ will change in GCC 7.1
    return M_insert_unique(__pos, std::forward<_Arg>(__x), __an);
    ^
    In file included from /usr/include/c++/6/map:61:0,
    from /PowerBlock/src/lib/jsoncpp/include/json/value.h:17,
    from /PowerBlock/src/lib/jsoncpp/src/lib_json/json_value.cpp:8:
    /usr/include/c++/6/bits/stl_map.h: In member function ‘bool Json::Value::removeIndex(Json::Value::ArrayIndex, Json::Value*)’:
    /usr/include/c++/6/bits/stl_map.h:483:4: note: parameter passing for argument of type ‘std::_Rb_tree<Json::Value::CZString, std::pair<const Json::Value::CZString, Json::Value>, std::_Select1st<std::pair<const Json::Value::CZString, Json::Value> >, std::lessJson::Value::CZString, std::allocator<std::pair<const Json::Value::CZString, Json::Value> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const Json::Value::CZString, Json::Value> >}’ will change in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
    ^~~
    In file included from /usr/include/c++/6/map:60:0,
    from /PowerBlock/src/lib/jsoncpp/include/json/value.h:17,
    from /PowerBlock/src/lib/jsoncpp/src/lib_json/json_value.cpp:8:
    /usr/include/c++/6/bits/stl_tree.h: In member function ‘Json::Value& Json::Value::resolveReference(const char*)’:
    /usr/include/c++/6/bits/stl_tree.h:950:65: note: parameter passing for argument of type ‘std::_Rb_tree<Json::Value::CZString, std::pair<const Json::Value::CZString, Json::Value>, std::_Select1st<std::pair<const Json::Value::CZString, Json::Value> >, std::lessJson::Value::CZString, std::allocator<std::pair<const Json::Value::CZString, Json::Value> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const Json::Value::CZString, Json::Value> >}’ will change in GCC 7.1
    return M_insert_unique(__pos, std::forward<_Arg>(__x), __an);
    ^
    /usr/include/c++/6/bits/stl_tree.h: In member function ‘Json::Value& Json::Value::resolveReference(const char*, const char*)’:
    /usr/include/c++/6/bits/stl_tree.h:950:65: note: parameter passing for argument of type ‘std::_Rb_tree<Json::Value::CZString, std::pair<const Json::Value::CZString, Json::Value>, std::_Select1st<std::pair<const Json::Value::CZString, Json::Value> >, std::lessJson::Value::CZString, std::allocator<std::pair<const Json::Value::CZString, Json::Value> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const Json::Value::CZString, Json::Value> >}’ will change in GCC 7.1
    return M_insert_unique(__pos, std::forward<_Arg>(__x), __an);
    ^
    [ 26%] Building CXX object src/lib/jsoncpp/src/lib_json/CMakeFiles/jsoncpp_lib_static.dir/json_writer.cpp.o
    [ 31%] Linking CXX static library libjsoncpp.a
    [ 31%] Built target jsoncpp_lib_static
    Scanning dependencies of target powerblock-app
    [ 36%] Building CXX object src/powerblock/CMakeFiles/powerblock-app.dir/PowerBlock.cpp.o
    [ 42%] Building CXX object src/powerblock/CMakeFiles/powerblock-app.dir/PowerSwitch.cpp.o
    [ 47%] Building CXX object src/powerblock/CMakeFiles/powerblock-app.dir/GPIO.cpp.o
    [ 52%] Building CXX object src/powerblock/CMakeFiles/powerblock-app.dir/PowerBlockConfiguration.cpp.o
    [ 57%] Linking CXX static library libpowerblock-app.a
    [ 57%] Built target powerblock-app
    Scanning dependencies of target powerblock
    [ 63%] Building CXX object CMakeFiles/powerblock.dir/src/powerblock/main.cpp.o
    /PowerBlock/src/powerblock/main.cpp:30:17: error: ‘sig_atomic_t’ does not name a type
    static volatile sig_atomic_t doRun = 1;
    ^~~~~~~~~~~~
    /PowerBlock/src/powerblock/main.cpp: In function ‘void sig_handler(int)’:
    /PowerBlock/src/powerblock/main.cpp:35:19: error: ‘SIGINT’ was not declared in this scope
    if ((signo == SIGINT) | (signo == SIGQUIT) | (signo == SIGABRT) | (signo == SIGTERM))
    ^~~~~~
    /PowerBlock/src/powerblock/main.cpp:35:39: error: ‘SIGQUIT’ was not declared in this scope
    if ((signo == SIGINT) | (signo == SIGQUIT) | (signo == SIGABRT) | (signo == SIGTERM))
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:35:60: error: ‘SIGABRT’ was not declared in this scope
    if ((signo == SIGINT) | (signo == SIGQUIT) | (signo == SIGABRT) | (signo == SIGTERM))
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:35:81: error: ‘SIGTERM’ was not declared in this scope
    if ((signo == SIGINT) | (signo == SIGQUIT) | (signo == SIGABRT) | (signo == SIGTERM))
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:38:9: error: ‘doRun’ was not declared in this scope
    doRun = 0;
    ^~~~~
    /PowerBlock/src/powerblock/main.cpp: In function ‘void register_signalhandlers()’:
    /PowerBlock/src/powerblock/main.cpp:46:16: error: ‘SIGINT’ was not declared in this scope
    if (signal(SIGINT, sig_handler) == SIG_ERR)
    ^~~~~~
    /PowerBlock/src/powerblock/main.cpp:46:35: error: ‘signal’ was not declared in this scope
    if (signal(SIGINT, sig_handler) == SIG_ERR)
    ^
    /PowerBlock/src/powerblock/main.cpp:46:40: error: ‘SIG_ERR’ was not declared in this scope
    if (signal(SIGINT, sig_handler) == SIG_ERR)
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:50:16: error: ‘SIGQUIT’ was not declared in this scope
    if (signal(SIGQUIT, sig_handler) == SIG_ERR)
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:50:36: error: ‘signal’ was not declared in this scope
    if (signal(SIGQUIT, sig_handler) == SIG_ERR)
    ^
    /PowerBlock/src/powerblock/main.cpp:50:41: error: ‘SIG_ERR’ was not declared in this scope
    if (signal(SIGQUIT, sig_handler) == SIG_ERR)
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:54:16: error: ‘SIGABRT’ was not declared in this scope
    if (signal(SIGABRT, sig_handler) == SIG_ERR)
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:54:36: error: ‘signal’ was not declared in this scope
    if (signal(SIGABRT, sig_handler) == SIG_ERR)
    ^
    /PowerBlock/src/powerblock/main.cpp:54:41: error: ‘SIG_ERR’ was not declared in this scope
    if (signal(SIGABRT, sig_handler) == SIG_ERR)
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:58:16: error: ‘SIGTERM’ was not declared in this scope
    if (signal(SIGTERM, sig_handler) == SIG_ERR)
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:58:36: error: ‘signal’ was not declared in this scope
    if (signal(SIGTERM, sig_handler) == SIG_ERR)
    ^
    /PowerBlock/src/powerblock/main.cpp:58:41: error: ‘SIG_ERR’ was not declared in this scope
    if (signal(SIGTERM, sig_handler) == SIG_ERR)
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp: In function ‘int main(int, char**)’:
    /PowerBlock/src/powerblock/main.cpp:69:12: error: ‘doRun’ was not declared in this scope
    while (doRun)
    ^~~~~
    CMakeFiles/powerblock.dir/build.make:62: recipe for target 'CMakeFiles/powerblock.dir/src/powerblock/main.cpp.o' failed
    make[2]: *** [CMakeFiles/powerblock.dir/src/powerblock/main.cpp.o] Error 1
    CMakeFiles/Makefile2:69: recipe for target 'CMakeFiles/powerblock.dir/all' failed
    make[1]: *** [CMakeFiles/powerblock.dir/all] Error 2
    Makefile:127: recipe for target 'all' failed
    make: *** [all] Error 2
    Error during building binary
    [ 10%] Built target bcm2835
    [ 31%] Built target jsoncpp_lib_static
    [ 57%] Built target powerblock-app
    [ 63%] Building CXX object CMakeFiles/powerblock.dir/src/powerblock/main.cpp.o
    /PowerBlock/src/powerblock/main.cpp:30:17: error: ‘sig_atomic_t’ does not name a type
    static volatile sig_atomic_t doRun = 1;
    ^~~~~~~~~~~~
    /PowerBlock/src/powerblock/main.cpp: In function ‘void sig_handler(int)’:
    /PowerBlock/src/powerblock/main.cpp:35:19: error: ‘SIGINT’ was not declared in this scope
    if ((signo == SIGINT) | (signo == SIGQUIT) | (signo == SIGABRT) | (signo == SIGTERM))
    ^~~~~~
    /PowerBlock/src/powerblock/main.cpp:35:39: error: ‘SIGQUIT’ was not declared in this scope
    if ((signo == SIGINT) | (signo == SIGQUIT) | (signo == SIGABRT) | (signo == SIGTERM))
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:35:60: error: ‘SIGABRT’ was not declared in this scope
    if ((signo == SIGINT) | (signo == SIGQUIT) | (signo == SIGABRT) | (signo == SIGTERM))
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:35:81: error: ‘SIGTERM’ was not declared in this scope
    if ((signo == SIGINT) | (signo == SIGQUIT) | (signo == SIGABRT) | (signo == SIGTERM))
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:38:9: error: ‘doRun’ was not declared in this scope
    doRun = 0;
    ^~~~~
    /PowerBlock/src/powerblock/main.cpp: In function ‘void register_signalhandlers()’:
    /PowerBlock/src/powerblock/main.cpp:46:16: error: ‘SIGINT’ was not declared in this scope
    if (signal(SIGINT, sig_handler) == SIG_ERR)
    ^~~~~~
    /PowerBlock/src/powerblock/main.cpp:46:35: error: ‘signal’ was not declared in this scope
    if (signal(SIGINT, sig_handler) == SIG_ERR)
    ^
    /PowerBlock/src/powerblock/main.cpp:46:40: error: ‘SIG_ERR’ was not declared in this scope
    if (signal(SIGINT, sig_handler) == SIG_ERR)
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:50:16: error: ‘SIGQUIT’ was not declared in this scope
    if (signal(SIGQUIT, sig_handler) == SIG_ERR)
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:50:36: error: ‘signal’ was not declared in this scope
    if (signal(SIGQUIT, sig_handler) == SIG_ERR)
    ^
    /PowerBlock/src/powerblock/main.cpp:50:41: error: ‘SIG_ERR’ was not declared in this scope
    if (signal(SIGQUIT, sig_handler) == SIG_ERR)
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:54:16: error: ‘SIGABRT’ was not declared in this scope
    if (signal(SIGABRT, sig_handler) == SIG_ERR)
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:54:36: error: ‘signal’ was not declared in this scope
    if (signal(SIGABRT, sig_handler) == SIG_ERR)
    ^
    /PowerBlock/src/powerblock/main.cpp:54:41: error: ‘SIG_ERR’ was not declared in this scope
    if (signal(SIGABRT, sig_handler) == SIG_ERR)
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:58:16: error: ‘SIGTERM’ was not declared in this scope
    if (signal(SIGTERM, sig_handler) == SIG_ERR)
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp:58:36: error: ‘signal’ was not declared in this scope
    if (signal(SIGTERM, sig_handler) == SIG_ERR)
    ^
    /PowerBlock/src/powerblock/main.cpp:58:41: error: ‘SIG_ERR’ was not declared in this scope
    if (signal(SIGTERM, sig_handler) == SIG_ERR)
    ^~~~~~~
    /PowerBlock/src/powerblock/main.cpp: In function ‘int main(int, char**)’:
    /PowerBlock/src/powerblock/main.cpp:69:12: error: ‘doRun’ was not declared in this scope
    while (doRun)
    ^~~~~
    CMakeFiles/powerblock.dir/build.make:62: recipe for target 'CMakeFiles/powerblock.dir/src/powerblock/main.cpp.o' failed
    make[2]: *** [CMakeFiles/powerblock.dir/src/powerblock/main.cpp.o] Error 1
    CMakeFiles/Makefile2:69: recipe for target 'CMakeFiles/powerblock.dir/all' failed
    make[1]: *** [CMakeFiles/powerblock.dir/all] Error 2
    Makefile:127: recipe for target 'all' failed
    make: *** [all] Error 2
    Error during installation of binary
    Scanning dependencies of target installservice
    [100%] Installing service.
    [100%] Built target installservice
    /PowerBlock
    [ERROR] The PowerBlock driver binary is not installed
    [ERROR] The PowerBlock service is not running
    You can find the configuration file at /etc/powerblockconfig.cfg.

    I installed and updated every prerequisites without success.

    Thanks


  • Global Moderator

    There was a problem with missing includes that slipped through with the recent minor update.

    I have just pushed the fix. Everything should work now, sorry!



Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.