Hi Pegasus developers, Recently it was found that Pegasus had failed to be built on Ubuntu 1604/GCC 5.4.0 for "Lint and build regularly" (tracked by [1]). The reason is that implicit conversion from member initializer lists (see [2] and [3]) has not been supported for std::tuple by GCC 5.4.0, while being supported by higher GCC versions (such as Ubuntu 1804/GCC 7.5.0). To build successfully on Ubuntu 1604/GCC 5.4.0, we have to turn to explicit constructions for std::tuple which will involve more redundant code.
In case that there is more extra work that we have to do to maintain compilation for lower GCC versions in the future, I suggest we no longer support compilation on Ubuntu 1604/GCC 5.4.0. Also, we can specify a minimum supported GCC version in cmake. [1] https://github.com/apache/incubator-pegasus/issues/1424 [2] https://en.cppreference.com/w/cpp/utility/tuple/tuple [3] https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4387.html -- Best wishes, Dan
