This doesn't compile out of the box on Ubuntu 18.04 (default gcc/g++). I had to remove -Werror from CMakeList.txt and fix this code in src/crypto/crypto.cpp:
static inline size_t rs_comm_size(size_t pubs_count) {
// return sizeof(rs_comm) + pubs_count * sizeof(rs_comm().ab[0]);
return sizeof(rs_comm) + pubs_count * sizeof(((rs_comm*)0)->ab[0]);
It would be great if this would be fixed in main tree and compile right after clone.