In lxtask there are a couple of global variables defined in headers that get included multiple times. gcc traditionally ignores such issues and allows multiple definitions, however it's not correct C code. One can get gcc to behave more strictly with the parameter -fno-common.
The attached patch fixes all multiple definitions. Two variables - custom_signal_0 and custom_signal_1 - don't seem to be used at all, so I removed them. Several variables in interface.h need to be made external, the main variable definition got moved to interface.c.
gcc10 now defaults to -fno-common :
https://gcc.gnu.org/gcc-10/changes.html
So without this patch, lxtask fails to compile with gcc10. Please review and consider to apply this.
Thank you very much for your fix. That's sad it left unnoticed for so long time.