dev-db/mysql-8.0.17 specifies >=dev-libs/protobuf-3.8, but it will not build with 3.8.0 or above. mysql compilation fails with the following (slightly buried) error: In file included from /var/tmp/portage/dev-db/mysql-8.0.17/work/mysql/plugin/x/src/expect/expect.h:33, from /var/tmp/portage/dev-db/mysql-8.0.17/work/mysql/plugin/x/src/expect/expect.cc:25: /var/tmp/portage/dev-db/mysql-8.0.17/work/mysql/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h:41:10: fatal error: google/protobuf/wire_format_lite_inl.h: No such file or directory #include <google/protobuf/wire_format_lite_inl.h> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [plugin/x/CMakeFiles/mysqlx.dir/build.make:102: plugin/x/CMakeFiles/mysqlx.dir/src/expect/expect.cc.o] Error 1 make[2]: Leaving directory '/var/tmp/portage/dev-db/mysql-8.0.17/work/mysql-8.0.17_build' The problem is that dev-libs/protobuf-3.8 removed the file wire_format_lite_inl.h: https://github.com/protocolbuffers/protobuf/blob/43156775be8227014df1ca86c75a8547770f6039/CHANGES.txt#L88 "2019-04-29 version 3.8.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript) ... * Removed vestigial wire_format_lite_inl.h" Unfortunately, mysql-8.0.17.ebuild specifies >=dev-libs/protobuf-3.8. But it bundles protobuf-3.6.1 under extras/. I modified the mysql ebuild to specify =dev-libs/protobuf-3.7* instead, and mysql-8.0.17 built correctly. But I didn't do thorough testing yet, so maybe there is a reason to need 3.8+ after all.
*** This bug has been marked as a duplicate of bug 692556 ***