gcc7 es menos tolerante con código no estándar y obsoleto que gcc6 😉.
Como consecuencia, conky ya no se puede compilar.
Hay varias advertencias sobre la excepción dinámica del tipo
/src/semaphore.hh:40:36: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
semaphore(unsigned int value = 0) throw(std::logic_error)
y muchos errores como
src/luamm.hh:39:15: error: ‘function’ in namespace ‘std’ does not name a template type
typedef std::function<int(state *)> cpp_function;
o
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);
el registro de compilación completo está aquí
De hecho, todos los errores fatales resultan del archivo luamm.hh . El C/C++ - melange no parece funcionar más... 😜
El error es causado por un #include faltante:
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>
Genial 😆 ¡Gracias!
Cierre este problema ahora que el parche está incluido en el repositorio.
Comentario más útil
El error es causado por un #include faltante: