Bug #101230 Please, specify required Protobuf version in docs and release notes
Submitted: 19 Oct 2020 16:41 Modified: 19 Nov 2020 10:26
Reporter: Georgi Sotirov Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:8.0.22 OS:Linux (Slackware)
Assigned to: CPU Architecture:x86

[19 Oct 2020 16:41] Georgi Sotirov
Description:
Apparently, the minimum required Protobuf version to build the server from source has changed, because until 8.0.21 I was able to build with Protobuf 3.2.x, but now as it seams at least version 3.11.4 (that's bundled) is necessary. Unfortunately, I do not find any note in the release notes [https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-22.html] or in the documentation [https://dev.mysql.com/doc/search/?d=201&p=1&q=protobuf]. This information is important for packaging where system libraries are used.

How to repeat:
Try to build MySQL Server 8.0.22 from source with option -DWITH_PROTOBUF=system and older Protobuf (e.g. 3.2.x).

Suggested fix:
Specify the required minimum version of Protobuf library in Release notes (e.g. in section "Compilation notes" or any other relevant section).
[20 Oct 2020 7:06] MySQL Verification Team
Hello Georgi Sotirov,

Thank you for the report!

Thanks,
Umesh
[22 Oct 2020 14:00] Paul DuBois
re: "Try to build MySQL Server 8.0.22 from source with option -DWITH_PROTOBUF=system and older Protobuf (e.g. 3.2.x)."

When you tried this, what was the protobuf version, and what error(s) did you get?
[22 Oct 2020 14:53] Paul DuBois
Reason I ask is that the minimum Protobuf version was changed from 2.5 to 3.0 in MySQL 8.0.18 (Bug#96429), but even with that change, it seems like 3.2.x should work.
[23 Oct 2020 5:25] Georgi Sotirov
I was building with Protobuf 3.2.x since MySQL 8.0.4 (i.e. January 2018) and I had no problems up until now. Please, check also bug 101230 - the exact compilation errors I received when trying to build with 3.2.x are given there. And I tried also with Protobuf 3.11.4, which is bundled in the distribution, and it worked just fine.
[23 Oct 2020 7:14] Georgi Sotirov
Arrrgh, that was "Please, check also bug 101231..." actually. The other bug I registered for the compilation errors, but unfortunately I cannot edit my comments :-(
[30 Oct 2020 11:49] Paul DuBois
Posted by developer:
 
* Minimum protobuf version now is 3.0. This is noted at https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-18.html.
* If you try using < 3.0, CMake will emit a message saying you need at least 3.0.

We cannot repeat the problem, and in our tests, compilation works as expected.
One of our developers has investigated, with this conclusion:

In my opinion, the problem lies on the reporter side.
The library files may exist, but the files may be corrupted.
I tested the mysql build process with protobuf v3.2.1 and I do not have 
the situation as shown in the error log. Besides, I also tested an incomplete 
installation of protobuf and an attempt to build mysql. Deficiencies in 
the configuration are correctly reported, and the build process is aborted
with a suitable error message.
[30 Oct 2020 12:20] Georgi Sotirov
Corrupted!? How? It's the same version I used to build MySQL since 8.0.4...
[30 Oct 2020 12:24] Georgi Sotirov
And please, check also bug 101231, which was "verified".
[19 Nov 2020 10:26] Georgi Sotirov
This could be closed as well (see 101231).