gcc7 ist weniger tolerant gegenüber nicht standardisiertem und veraltetem Code als gcc6 😉 .
Als Folge kann conky nicht mehr kompiliert werden.
Es gibt verschiedene Warnungen über dynamische Ausnahmen dieser Art
/src/semaphore.hh:40:36: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
semaphore(unsigned int value = 0) throw(std::logic_error)
und viele Fehler wie
src/luamm.hh:39:15: error: ‘function’ in namespace ‘std’ does not name a template type
typedef std::function<int(state *)> cpp_function;
oder
src/luamm.hh:250:26: error: ‘cpp_function’ does not name a type; did you mean ‘lua_CFunction’?
void pushclosure(const cpp_function &fn, int n);
Das vollständige Buildlog ist hier
Tatsächlich resultieren alle schwerwiegenden Fehler aus der Datei luamm.hh . Die C/C++ - Melange dort scheint nicht mehr zu funktionieren ... 😜
Der Fehler wird durch ein fehlendes #include verursacht:
diff -bur conky-1.10.6-orig/src/luamm.hh conky-1.10.6/src/luamm.hh
--- conky-1.10.6-orig/src/luamm.hh 2016-12-04 17:13:57.000000000 +0200
+++ conky-1.10.6/src/luamm.hh 2017-05-31 20:05:59.000000000 +0300
@@ -28,6 +28,7 @@
#include <exception>
#include <stdexcept>
#include <string>
+#include <functional>
#include <lua.hpp>
Super 😆 Danke!
Bitte schließen Sie dieses Problem jetzt, da der Patch im Repo enthalten ist
Hilfreichster Kommentar
Der Fehler wird durch ein fehlendes #include verursacht: