gcc7 is less tolerant with non-standard and deprecated code than gcc6 was 😉 .
As a consequence conky can no longer be compiled.
There are various warnings about dynamic exception of the kind
/src/semaphore.hh:40:36: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
semaphore(unsigned int value = 0) throw(std::logic_error)
and a lot of errors like
src/luamm.hh:39:15: error: ‘function’ in namespace ‘std’ does not name a template type
typedef std::function<int(state *)> cpp_function;
or
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);
full buildlog is here
In fact all the fatal errors result from luamm.hh file. The C/C++ - melange there doesn't seem to work out any longer ... 😜
The error is caused by a missing #include:
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>
Awesome 😆 Thank you!
Kindly close this issue now that the patch is included in the repo
Most helpful comment
The error is caused by a missing #include: