RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Error trying to install ControlBlock

    Scheduled Pinned Locked Moved ControlBlock, PowerBlock & Co.
    controlblockdrivers
    3 Posts 2 Posters 672 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      NIGHTKILLER05
      last edited by NIGHTKILLER05

      Raspberry Pi 4 B 8GB
      Vilros Adaptor (5.1V, 3000mA)
      Retropie 4.7.21 (base image downloaded from the official site)
      EmulationStation V2.10.1RP

      Hi Guys, I have a controlBlock connected in a Rpi 4, the power adaptor is connected to the ControlBlock, and I power on my pi with a momentary button, well, I want to configure it, for that I go to Retropie-Setup > Manage Packages > Manage Driver Packages > ControlBlock, Then, when I try to install it (from source, it's the only option), shows me several errors, and a final error message at the end:

      errorcontroblock.jpg

      errorcontrolblock2.jpg

      I didn't install anything weird, only the cores for my games, this is the log:

      Log started at: Tue  1 Mar 19:22:41 GMT 2022
      
      RetroPie-Setup version: 4.7.21 (9569e179)
      System: rpi4 (armv7l) - Raspbian GNU/Linux 10 (buster) - Linux retropie 5.4.72-v7l+ #1356 SMP Thu Oct 22 13:57:51 BST 2020 armv7l GNU/Linux
      
      = = = = = = = = = = = = = = = = = = = = =
      Installing dependencies for 'controlblock' : ControlBlock Driver
      = = = = = = = = = = = = = = = = = = = = =
      
      /home/pi/RetroPie-Setup/tmp/build/controlblock /home/pi
      
      = = = = = = = = = = = = = = = = = = = = =
      Getting sources for 'controlblock' : ControlBlock Driver
      = = = = = = = = = = = = = = = = = = = = =
      
      git clone --recursive --depth 1 --shallow-submodules --branch master "https://github.com/petrockblog/ControlBlockService2.git" "/opt/retropie/supplementary/controlblock"
      Cloning into '/opt/retropie/supplementary/controlblock'...
      Submodule 'src/lib/fmt' (https://github.com/fmtlib/fmt.git) registered for path 'src/lib/fmt'
      Submodule 'src/lib/jsoncpp' (https://github.com/open-source-parsers/jsoncpp.git) registered for path 'src/lib/jsoncpp'
      Submodule 'src/lib/plog' (https://github.com/SergiusTheBest/plog.git) registered for path 'src/lib/plog'
      Submodule 'test/lib/googletest' (https://github.com/google/googletest.git) registered for path 'test/lib/googletest'
      Cloning into '/opt/retropie/supplementary/controlblock/src/lib/fmt'...
      Cloning into '/opt/retropie/supplementary/controlblock/src/lib/plog'...
      Cloning into '/opt/retropie/supplementary/controlblock/src/lib/jsoncpp'...
      Cloning into '/opt/retropie/supplementary/controlblock/test/lib/googletest'...
      From https://github.com/fmtlib/fmt
       * branch            123e7f7fc33381a07a9d4d28ea2006f5132c503d -> FETCH_HEAD
      Submodule path 'src/lib/fmt': checked out '123e7f7fc33381a07a9d4d28ea2006f5132c503d'
      From https://github.com/open-source-parsers/jsoncpp
       * branch            d8cd848ede1071a25846cd90b4fddf269d868ff1 -> FETCH_HEAD
      Submodule path 'src/lib/jsoncpp': checked out 'd8cd848ede1071a25846cd90b4fddf269d868ff1'
      From https://github.com/SergiusTheBest/plog
       * branch            f4c22b03d5d3aa753cca8e716636ac4eb29b0917 -> FETCH_HEAD
      Submodule path 'src/lib/plog': checked out 'f4c22b03d5d3aa753cca8e716636ac4eb29b0917'
      From https://github.com/google/googletest
       * branch            ec44c6c1675c25b9827aacd08c02433cccde7780 -> FETCH_HEAD
      Submodule path 'test/lib/googletest': checked out 'ec44c6c1675c25b9827aacd08c02433cccde7780'
      HEAD is now in branch 'master' at commit '4767f620e16323924cac8fb7172e406b1d9f2336'
      /home/pi
      
      = = = = = = = = = = = = = = = = = = = = =
      Building 'controlblock' : ControlBlock Driver
      = = = = = = = = = = = = = = = = = = = = =
      
      -- The C compiler identification is GNU 8.3.0
      -- The CXX compiler identification is GNU 8.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.16", minimum required is "2.6") 
      -- Version: 6.1.0
      -- Build type: Release
      -- CXX_STANDARD: 14
      -- Performing Test has_std_14_flag
      -- Performing Test has_std_14_flag - Success
      -- Performing Test has_std_1y_flag
      -- Performing Test has_std_1y_flag - Success
      -- Performing Test SUPPORTS_VARIADIC_TEMPLATES
      -- Performing Test SUPPORTS_VARIADIC_TEMPLATES - Success
      -- Performing Test SUPPORTS_USER_DEFINED_LITERALS
      -- Performing Test SUPPORTS_USER_DEFINED_LITERALS - Success
      -- Performing Test FMT_HAS_VARIANT
      -- Performing Test FMT_HAS_VARIANT - Success
      -- Looking for strtod_l
      -- Looking for strtod_l - not found
      -- Configuring done
      -- Generating done
      -- Build files have been written to: /opt/retropie/supplementary/controlblock/build
      Scanning dependencies of target mcp23s17Lib
      Scanning dependencies of target controlblock-uinput
      Scanning dependencies of target jsoncpp_lib_static
      Scanning dependencies of target fmt
      [  2%] Building CXX object src/lib/mcp23s17/CMakeFiles/mcp23s17Lib.dir/mcp23s17.cpp.o
      [  4%] Building CXX object src/controlblock/uinput/CMakeFiles/controlblock-uinput.dir/UInputGamepadArcade.cpp.o
      [  6%] Building CXX object src/lib/jsoncpp/src/lib_json/CMakeFiles/jsoncpp_lib_static.dir/json_reader.cpp.o
      [  8%] Building CXX object src/lib/fmt/CMakeFiles/fmt.dir/src/format.cc.o
      [ 11%] Linking CXX static library libmcp23s17Lib.a
      [ 13%] Building CXX object src/controlblock/uinput/CMakeFiles/controlblock-uinput.dir/UInputDevice.cpp.o
      [ 13%] Built target mcp23s17Lib
      Scanning dependencies of target controlblock-app
      [ 15%] Building CXX object src/controlblock/app/CMakeFiles/controlblock-app.dir/ControlBlock.cpp.o
      In file included from /opt/retropie/supplementary/controlblock/src/controlblock/app/ControlBlock.h:30,
                       from /opt/retropie/supplementary/controlblock/src/controlblock/app/ControlBlock.cpp:25:
      /opt/retropie/supplementary/controlblock/src/controlblock/app/PowerSwitch.h:26:10: fatal error: gpiod.hpp: No such file or directory
       #include <gpiod.hpp>
                ^~~~~~~~~~~
      compilation terminated.
      make[2]: *** [src/controlblock/app/CMakeFiles/controlblock-app.dir/build.make:63: src/controlblock/app/CMakeFiles/controlblock-app.dir/ControlBlock.cpp.o] Error 1
      make[1]: *** [CMakeFiles/Makefile2:636: src/controlblock/app/CMakeFiles/controlblock-app.dir/all] Error 2
      make[1]: *** Waiting for unfinished jobs....
      [ 17%] Building CXX object src/lib/jsoncpp/src/lib_json/CMakeFiles/jsoncpp_lib_static.dir/json_value.cpp.o
      /opt/retropie/supplementary/controlblock/src/lib/jsoncpp/src/lib_json/json_reader.cpp: In member function ‘bool Json::OurReader::readToken(Json::OurReader::Token&)’:
      /opt/retropie/supplementary/controlblock/src/lib/jsoncpp/src/lib_json/json_reader.cpp:1230:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
           if (features_.allowSingleQuotes_) {
           ^~
      /opt/retropie/supplementary/controlblock/src/lib/jsoncpp/src/lib_json/json_reader.cpp:1235:3: note: here
         case '/':
         ^~~~
      [ 20%] Building CXX object src/controlblock/uinput/CMakeFiles/controlblock-uinput.dir/UInputGamepadSNES.cpp.o
      [ 22%] Building CXX object src/controlblock/uinput/CMakeFiles/controlblock-uinput.dir/UInputGamepadNES.cpp.o
      [ 24%] Building CXX object src/controlblock/uinput/CMakeFiles/controlblock-uinput.dir/UInputGamepadGenesis.cpp.o
      In file included from /usr/include/c++/8/map:60,
                       from /opt/retropie/supplementary/controlblock/src/lib/jsoncpp/include/json/value.h:17,
                       from /opt/retropie/supplementary/controlblock/src/lib/jsoncpp/src/lib_json/json_value.cpp:8:
      /usr/include/c++/8/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 = 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::less<Json::Value::CZString>; _Alloc = std::allocator<std::pair<const Json::Value::CZString, Json::Value> >]’:
      /usr/include/c++/8/bits/stl_tree.h:2146:5: 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::less<Json::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> >’} changed in GCC 7.1
           _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      /usr/include/c++/8/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 = {std::pair<const Json::Value::CZString, Json::Value>&}; _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::less<Json::Value::CZString>; _Alloc = std::allocator<std::pair<const Json::Value::CZString, Json::Value> >]’:
      /usr/include/c++/8/bits/stl_tree.h:2411: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::less<Json::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> >’} changed in GCC 7.1
             _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /usr/include/c++/8/map:61,
                       from /opt/retropie/supplementary/controlblock/src/lib/jsoncpp/include/json/value.h:17,
                       from /opt/retropie/supplementary/controlblock/src/lib/jsoncpp/src/lib_json/json_value.cpp:8:
      /usr/include/c++/8/bits/stl_map.h: In member function ‘Json::Value& Json::Value::operator[](Json::Value::ArrayIndex)’:
      /usr/include/c++/8/bits/stl_map.h:876:35: note: parameter passing for argument of type ‘std::map<Json::Value::CZString, Json::Value>::const_iterator’ {aka ‘std::_Rb_tree_const_iterator<std::pair<const Json::Value::CZString, Json::Value> >’} changed in GCC 7.1
                 std::forward<_Pair>(__x));
                                         ^
      /usr/include/c++/8/bits/stl_map.h: In member function ‘Json::Value& Json::Value::resolveReference(const char*)’:
      /usr/include/c++/8/bits/stl_map.h:876:35: note: parameter passing for argument of type ‘std::map<Json::Value::CZString, Json::Value>::const_iterator’ {aka ‘std::_Rb_tree_const_iterator<std::pair<const Json::Value::CZString, Json::Value> >’} changed in GCC 7.1
                 std::forward<_Pair>(__x));
                                         ^
      /usr/include/c++/8/bits/stl_map.h: In member function ‘Json::Value& Json::Value::resolveReference(const char*, const char*)’:
      /usr/include/c++/8/bits/stl_map.h:876:35: note: parameter passing for argument of type ‘std::map<Json::Value::CZString, Json::Value>::const_iterator’ {aka ‘std::_Rb_tree_const_iterator<std::pair<const Json::Value::CZString, Json::Value> >’} changed in GCC 7.1
                 std::forward<_Pair>(__x));
                                         ^
      [ 28%] Building CXX object src/lib/jsoncpp/src/lib_json/CMakeFiles/jsoncpp_lib_static.dir/json_writer.cpp.o
      [ 28%] Building CXX object src/controlblock/uinput/CMakeFiles/controlblock-uinput.dir/UInputGamepadSaturn.cpp.o
      [ 31%] Building CXX object src/controlblock/uinput/CMakeFiles/controlblock-uinput.dir/UInputKeyboard.cpp.o
      [ 33%] Building CXX object src/controlblock/uinput/CMakeFiles/controlblock-uinput.dir/UInputFactory.cpp.o
      [ 35%] Building CXX object src/lib/fmt/CMakeFiles/fmt.dir/src/posix.cc.o
      [ 37%] Linking CXX static library libcontrolblock-uinput.a
      [ 37%] Built target controlblock-uinput
      [ 40%] Linking CXX static library libjsoncpp.a
      [ 40%] Built target jsoncpp_lib_static
      [ 42%] Linking CXX static library libfmt.a
      [ 42%] Built target fmt
      make: *** [Makefile:130: all] Error 2
      Could not successfully build controlblock - ControlBlock Driver (/opt/retropie/supplementary/controlblock/build/controlblock not found).
      
      Log ended at: Tue  1 Mar 19:24:29 GMT 2022
      Total running time: 0 hours, 1 mins, 48 secs
      
      

      Help me please, ¿is there another way to install the neccesary driver to use my ControlBlock?

      1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by

        Looks like some dependencies are missing. Run

        sudo apt install libgpiod-dev gpiod
        

        and try installing again from RetroPie-Setup.

        N 1 Reply Last reply Reply Quote 1
        • N
          NIGHTKILLER05 @mitu
          last edited by NIGHTKILLER05

          @mitu Hey, that did the trick, thank you very much, sir !!!!

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          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.