gcc7 é menos tolerante com código fora do padrão e obsoleto do que gcc6 era 😉 .
Como consequência, o conky não pode mais ser compilado.
Existem vários avisos sobre exceção dinâmica do 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)
e muitos erros como
src/luamm.hh:39:15: error: ‘function’ in namespace ‘std’ does not name a template type
typedef std::function<int(state *)> cpp_function;
ou
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);
buildlog completo está aqui
Na verdade, todos os erros fatais resultam do arquivo luamm.hh . O C/C++ - melange aí parece não dar mais certo... 😜
O erro é causado por um #include ausente:
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>
Maravilhoso 😆 Obrigado!
Por favor, feche este problema agora que o patch está incluído no repositório
Comentários muito úteis
O erro é causado por um #include ausente: