terba / slimmer

User interface controller for Logitech Media Server (aka SlimServer, Squeezebox Server, SqueezeCenter)
GNU General Public License v3.0
33 stars 7 forks source link

doesn't compile on Debian #31

Closed droidboxma closed 7 years ago

droidboxma commented 7 years ago

pi@audiobox:~/slimmer $ mkdir 20170708 pi@audiobox:~/slimmer $ cd 20170708/ pi@audiobox:~/slimmer/20170708 $ git clone https://github.com/terba/slimmer.git Klone nach 'slimmer'... remote: Counting objects: 225, done. remote: Compressing objects: 100% (30/30), done. remote: Total 225 (delta 9), reused 3 (delta 0), pack-reused 195 Empfange Objekte: 100% (225/225), 252.01 KiB | 0 bytes/s, Fertig. Löse Unterschiede auf: 100% (89/89), Fertig. Prüfe Konnektivität... Fertig. pi@audiobox:~/slimmer/20170708 $ mkdir slimmer-build pi@audiobox:~/slimmer/20170708 $ cd slimmer-build pi@audiobox:~/slimmer/20170708/slimmer-build $ cmake -DCMAKE_BUILD_TYPE=Release ../slimmer -- The CXX compiler identification is GNU 4.9.2 -- 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 -- Configuring done -- Generating done -- Build files have been written to: /home/pi/slimmer/20170708/slimmer-build pi@audiobox:~/slimmer/20170708/slimmer-build $ make Scanning dependencies of target slimmer [ 4%] Building CXX object CMakeFiles/slimmer.dir/Button.cpp.o [ 8%] Building CXX object CMakeFiles/slimmer.dir/Config.cpp.o /home/pi/slimmer/20170708/slimmer/Config.cpp: In static member function ‘static void Config::discoverLMS()’: /home/pi/slimmer/20170708/slimmer/Config.cpp:163:73: error: ‘runtime_error’ was not declared in this scope throw runtime_error("Can not create discovery socket. Errno: " + errno); ^ /home/pi/slimmer/20170708/slimmer/Config.cpp:167:78: error: ‘runtime_error’ was not declared in this scope throw runtime_error("Can not set discovery socket options. Errno: " + errno); ^ /home/pi/slimmer/20170708/slimmer/Config.cpp:173:85: error: ‘runtime_error’ was not declared in this scope throw runtime_error("Can not set discovery socket timeout option. Errno: " + errno); ^ /home/pi/slimmer/20170708/slimmer/Config.cpp:181:71: error: ‘runtime_error’ was not declared in this scope throw runtime_error("Can not send discovery packet. Errno: " + errno); ^ CMakeFiles/slimmer.dir/build.make:86: recipe for target 'CMakeFiles/slimmer.dir/Config.cpp.o' failed make[2]: [CMakeFiles/slimmer.dir/Config.cpp.o] Error 1 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/slimmer.dir/all' failed make[1]: [CMakeFiles/slimmer.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2

terba commented 7 years ago

Please try adding the following line into Config.cpp somewhere at the top where the other includes are:

#include <stdexcept>
droidboxma commented 7 years ago

Hey, did you change anything? I setup a new debian9 VM and start with compiling: user@debian9:/usr/src/build/slimmer-build$ cmake -DCMAKE_BUILD_TYPE=MinSizeRel ../slimmer -- The CXX compiler identification is GNU 6.3.0 -- 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 -- Configuring done -- Generating done -- Build files have been written to: /usr/src/build/slimmer-build user@debian9:/usr/src/build/slimmer-build$ make Scanning dependencies of target slimmer [ 4%] Building CXX object CMakeFiles/slimmer.dir/Button.cpp.o [ 8%] Building CXX object CMakeFiles/slimmer.dir/Config.cpp.o [ 12%] Building CXX object CMakeFiles/slimmer.dir/Controller.cpp.o [ 16%] Building CXX object CMakeFiles/slimmer.dir/MenuItem.cpp.o [ 20%] Building CXX object CMakeFiles/slimmer.dir/Player.cpp.o [ 25%] Building CXX object CMakeFiles/slimmer.dir/Screen.cpp.o [ 29%] Building CXX object CMakeFiles/slimmer.dir/ScreenError.cpp.o [ 33%] Building CXX object CMakeFiles/slimmer.dir/ScreenMenu.cpp.o [ 37%] Building CXX object CMakeFiles/slimmer.dir/ScreenNowPlaying.cpp.o [ 41%] Building CXX object CMakeFiles/slimmer.dir/ScreenVolume.cpp.o [ 45%] Building CXX object CMakeFiles/slimmer.dir/Server.cpp.o [ 50%] Building CXX object CMakeFiles/slimmer.dir/json/jsoncpp.cpp.o [ 54%] Building CXX object CMakeFiles/slimmer.dir/jsonrpccpp/client/batchcall.cpp.o [ 58%] Building CXX object CMakeFiles/slimmer.dir/jsonrpccpp/client/batchresponse.cpp.o [ 62%] Building CXX object CMakeFiles/slimmer.dir/jsonrpccpp/client/client.cpp.o [ 66%] Building CXX object CMakeFiles/slimmer.dir/jsonrpccpp/client/connectors/httpclient.cpp.o [ 70%] Building CXX object CMakeFiles/slimmer.dir/jsonrpccpp/client/rpcprotocolclient.cpp.o [ 75%] Building CXX object CMakeFiles/slimmer.dir/jsonrpccpp/common/errors.cpp.o [ 79%] Building CXX object CMakeFiles/slimmer.dir/jsonrpccpp/common/exception.cpp.o [ 83%] Building CXX object CMakeFiles/slimmer.dir/jsonrpccpp/common/procedure.cpp.o [ 87%] Building CXX object CMakeFiles/slimmer.dir/jsonrpccpp/common/specificationparser.cpp.o [ 91%] Building CXX object CMakeFiles/slimmer.dir/jsonrpccpp/common/specificationwriter.cpp.o [ 95%] Building CXX object CMakeFiles/slimmer.dir/main.cpp.o In file included from /usr/src/build/slimmer/main.cpp:28:0: /usr/src/build/slimmer/libev/ev.c:1825:31: warning: ‘ev_default_loop_ptr’ initialized and declared ‘extern’ EV_API_DECL struct ev_loop *ev_default_loop_ptr = 0; /* needs to be initialised to make it a definition despite extern */ ^~~~~~~~~~~~~~~~~~~ [100%] Linking CXX executable slimmer [100%] Built target slimmer It looks good but i change nothing

terba commented 7 years ago

I didn't either :) It compiles on all the machines I use. Can you try out the include I wrote above on the older Debian?

droidboxma commented 7 years ago

Hey Okay.

I find the old Debian 8.8 installation. I insert "#include " and it compile perfect. When i remark the include, the compile breaks. Thank you.

terba commented 7 years ago

Thanks for the test!