Bug #91115 NEw dependency for openssl when installing mysql-community-devel-8.0.11-1.sles12
Submitted: 3 Jun 2018 10:30 Modified: 14 Aug 2018 2:37
Reporter: Peter VARGA Email Updates:
Status: Not a Bug Impact on me:
Category:MySQL Server: C API (client library) Severity:S1 (Critical)
Version:8.0.11 OS:SUSE
Assigned to: CPU Architecture:Any

[3 Jun 2018 10:30] Peter VARGA
The new dependency pkgconfig(openssl) added in the version 8.0.11? [Any previous 8.0.x version I didn't test] breaks the code.

Due to the fact I have to install the distribution openssl developer version 1.0.2 the project doesn't link anymore because the project openssl version 1.1.0 isn't compatible to 1.0.2

How to repeat:
Installing mysql-community-devel-8.0.11-1.sles12.x86_64.rpm

Suggested fix:
Removing the dependency as it doesn't exist in version mysql-community-devel-5.7.22-1.sles12.x86_64.rpm
[3 Jun 2018 20:31] Terje Røsten

Thanks for your report!

I think this change is due to swith from YaSSL to OpenSSL:


MySQL 8.0 builds with system OpenSSL, which I think is the most sane choice.
If your application links with system OpenSSL everything should work.

If you want to use other SSL lib, you need to link MySQL with such library,
you then have to build yourself.
[4 Jun 2018 9:38] Peter VARGA

your comment "...you then have to build yourself." says it all. There is no way using your pre-built package with a higher openssl and glibc version. It totally breaks all.

OK, could you provide me links how to build only /usr/lib64/mysql/libmysqlclient.so on my own or do I have to indeed build the whole MySQL "monster" and THEN ONLY use this library?

Thank you very much!

The reason why I need desperately the C API 8 version is this thread:
[6 Jun 2018 10:37] Chiranjeevi Battula
Hello  Peter VARGA,

Thank you for your feedback.
Please note that as Terje mentioned, if you want to use other SSL lib, you need to link MySQL with such library and then have to build yourself.
Also, you dont have to build entire server and you can skip by including the option -DWITHOUT_SERVER=ON, for SSL -DWITH_SSL={ssl_type|path_name} - 
path_name is the path name to the OpenSSL installation to use. This can be preferable to using the ssl_type value of system because it can prevent CMake from detecting and using an older or incorrect OpenSSL version installed on the system. (Another permitted way to do the same thing is to set WITH_SSL to system and set the CMAKE_PREFIX_PATH option to path_name.)

Thank you for your interest!

[14 Aug 2018 2:37] Peter VARGA
I could build it on my own and now it works and doesn't break my project.

May be the documentation "Building MySQL" could be extended regarding a known problem with ncurses when cmake doesn't find it. 

I could solve it with this post: https://stackoverflow.com/questions/8192287/curses-library-not-found