Bug #107671 Can't build the libmysqlclient C API
Submitted: 27 Jun 2022 12:18 Modified: 24 Jul 2022 1:09
Reporter: Igor Korot Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S1 (Critical)
Version:8.0 OS:Windows
Assigned to: CPU Architecture:Any

[27 Jun 2022 12:18] Igor Korot
Description:
This bug is a direct descendant of https://bugs.mysql.com/bug.php. Please see below:

"
There is still no clear and concise instructions on how to build the library on all 3 major platforms.

And unfortunately no link were posted.

Re-opening as it is not fixed.
"

When I try to re-open and post the above message in the comment, I got a rejection message saying: "Status of this bug can no longer be changed. If you want the bug reopened please give your reasons below with a comment".

But that is exactly what I'm trying to do.

Now about the bug - I still don't see a documentation on how to build the library!!! And this is after almost 3 month trying!!!

Please, please, please, please for the love of God - CAN SOMEONE PLEASE UPDATE THE DOCUMENTATION TO MATCH THE PREVIOUS VERSION??????

Thank you.

 

How to repeat:
This is documentation specific.
[27 Jun 2022 12:42] MySQL Verification Team
Hello Igor Korot,

Thank you for the report and feedback.
I assume this is follow up of Bug #107040, for now changing it as a doc issue so that it is redirected to the concern team.

regards,
Umesh
[28 Jun 2022 16:49] Philip Olson
Posted by developer:
 
Hi Igor, this is documented here:

  https://dev.mysql.com/doc/c-api/8.0/en/c-api-implementations.html

Previously it referenced building from source so I updated/expanded that to mention:

  * Building MySQL Server is how to build libmysqlclient
  * To read the MySQL Server compile instructions for details on how to compile MySQL Server
  * Added WITHOUT_SERVER CMake docs and referenced it here as optional

As this is a minor issue, I don't think it's needed to repeat compile instructions here. Simply compile MySQL Server the way you want and you'll get libmysqlclient too.
[1 Jul 2022 0:53] Igor Korot
Hi,
I have a quick question:

When I started (at the time it was version 5 of mysql-connector-c) there was a dedicated page of how to build that connector on Windows and Linux.
All I had to do is to perform one click and follow thru that page.

Now there is no dedicated page, the information is spread around and so finding it becomes really difficult and so building it becomes even more difficult.

All I'm looking for is one page that basically says following:

"In order to build the XYZ download the sources from...
Install latest CMake downloaded from...
Open CMake GUI, navigate to ... and open the file named ...
In order to build the library - set option X to "on", option Y to "off".
Option X is used for turning feature A and option B is used for feature B.
Click "Generate/Build" to generate makefile/build the library.
"

This is exactly what I follow and I believe that page still exist in the 5.5/5.6 documentation.

You can even copy it from the old documentation, modify it to include the new version updates and make it available through the same link you posted above.

Now, as a developer I understand that writing documentation is not the strongest thing for developers, but you go and try to write a Wireshark dissector without any documentation at all. Basically I got a suggestion "Use a source".

So, I'd like to have this documentation to be all in one place.

Thank you.
[6 Jul 2022 14:38] Igor Korot
Philip,
Can you post a specific link to the "build from source on Windows/Mac" page?

The link you posted directs me to the home page of the C API and not to the page which says "Building C API from source".

Thank you.
[6 Jul 2022 20:51] Philip Olson
Hi Igor, the documentation could be one line:

Compile MySQL Server; as this also compiles libmysqlclient. This is the only way to compile libmysqlclient.

It really is that simple. MySQL Server has extensive documentation about how to compile MySQL Server so there's no need to replicate that.

The page I linked to tells you to compile MySQL Server, and links to that "Installing MySQL from Source" documentation. Use that documentation.

I'm sorry that this isn't exactly what you desire, but I think you'll find the desired information there. If not then please use a support forum for tips related to compiling MySQL Server on Windows / MacOS / Linux.
[12 Jul 2022 15:45] Frederic Descamps
To compile MySQL C API "only" you can follow the process explained on https://lefred.be/content/how-to-build-mysql-8-0-c-api-libmysqlclient/