Error trying to install ControlBlock
-
Raspberry Pi 4 B 8GB
Vilros Adaptor (5.1V, 3000mA)
Retropie 4.7.21 (base image downloaded from the official site)
EmulationStation V2.10.1RPHi 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:
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?
-
Looks like some dependencies are missing. Run
sudo apt install libgpiod-dev gpiod
and try installing again from RetroPie-Setup.
-
@mitu Hey, that did the trick, thank you very much, sir !!!!
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.