[debian-mysql] openssl libcrypto.a and libmysqlclient.a on multiple definition of `ERR_remove_thread_state'

Lars Tangvald lars.tangvald at oracle.com
Fri Aug 10 11:17:21 BST 2018

On 08/09/2018 05:10 AM, 刘菲 wrote:
> hi, the problem occurs  when I link to crypto Since mysqlclient update 
> to the version"
>     http://security.ubuntu.com/ubuntu/pool/main/m/mysql-5.7/
>     libmysqlclient-dev_5.7.23-0ubuntu0.18.04.1_amd64.deb
>     <https://urldefense.proofpoint.com/v2/url?u=http-3A__security.ubuntu.com_ubuntu_pool_main_m_mysql-2D5.7_libmysqlclient-2Ddev-5F5.7.23-2D0ubuntu0.18.04.1-5Famd64.deb&d=DwMGaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=M-8dedO8w3Vlx9Nb3v_HN_eQTPKU36yJj5mmQmreYMQ&m=9js77s89BD_w2pEpZdfUz3JQjchLQ65oUfLPJGNzXRs&s=00hIiuCwTLEhykigi7l78zldBDVRNBS2LjgpV33MlQs&e=>"
>     .
>     The detail is below:
>     There is something wrong with multiple definition of
>     `ERR_remove_thread_state' When I compile a c++ server and link
>     openssl-1.0.2 libcrypto.a and libmysqlclient.a.Here is the error:
>     |/usr/local/openssl-1.0.2/lib/libcrypto.a(err.o): In function
>     `ERR_remove_thread_state': err.c:(.text+0x1ac0): multiple
>     definition of `ERR_remove_thread_state'
>     /usr/lib/x86_64-linux-gnu/libmysqlclient.a(ssl.cpp.o):(.text+0x1df0):
>     first defined here |
>     I try to resolve the problem by manual update crypto . but after
>     "apt-get install libcrypto-dev", cannot update to the latest
>     version"libcrypto++-dev_5.6.4-8_amd64.deb"(only can update to
>     "libcrypto++-dev_5.6.1-9_amd64.deb").
>     how to resolve the problem? I have no idea, please take a look for me.

I'll take a look and see if I can reproduce, but a couple of extra 
* Did this work with 5.7.22? MySQL 5.7 links yaSSL statically, and 
mixing this with your own link to openssl would always have a big chance 
of causing issues, but version updates to yaSSL or OpenSSL could have 
triggered the actual error.
* Have you tested the build without linking to openssl (this would mean 
you get all ssl functionality through libmysqlclient and yassl)?

Also note that if it is an option for you, MySQL 8.0 uses dynamic 
linking with OpenSSL, so this would no longer be a problem.

>     Thank you very much.
> _______________________________________________
> pkg-mysql-maint mailing list
> pkg-mysql-maint at alioth-lists.debian.net
> https://urldefense.proofpoint.com/v2/url?u=https-3A__alioth-2Dlists.debian.net_cgi-2Dbin_mailman_listinfo_pkg-2Dmysql-2Dmaint&d=DwIGaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=M-8dedO8w3Vlx9Nb3v_HN_eQTPKU36yJj5mmQmreYMQ&m=9js77s89BD_w2pEpZdfUz3JQjchLQ65oUfLPJGNzXRs&s=DsQ4hNtQWy60bTBuw0VENPmT2080YP09m-w4QZgrdXI&e=

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-mysql-maint/attachments/20180810/27a4dab4/attachment.html>

More information about the pkg-mysql-maint mailing list