Qt build logs (the issue isn't specific to Qt, it's just the first dependent component to encounter it):
lld-link: error: duplicate symbol: SHA224
>>> defined at libmysqlclient.a(my_sha2.cc.obj)
>>> defined at libcrypto.a(sha256.o)
lld-link: error: duplicate symbol: SHA256
>>> defined at libmysqlclient.a(my_sha2.cc.obj)
>>> defined at libcrypto.a(sha256.o)
lld-link: error: duplicate symbol: SHA384
>>> defined at libmysqlclient.a(my_sha2.cc.obj)
>>> defined at libcrypto.a(sha512.o)
lld-link: error: duplicate symbol: SHA512
>>> defined at libmysqlclient.a(my_sha2.cc.obj)
>>> defined at libcrypto.a(sha512.o)
libcrypto.a is a provided by openssl, which is also a dependency of libmysqlclient.
- The obvious pedantic solution would be to move these symbols out of
libmysqlclient, amending its dependents if necessary (and if MXE pkg-config has the notion of transitive library dependencies, no amendment will be needed at all).
- A less pedantic solution would be to allow duplicate symbols, but it's another client tweak, and if I have to tweak client packages anyway, I'd rather tweak them the right way.
IOW, the first option is my preference. Objections?
Qt build logs (the issue isn't specific to Qt, it's just the first dependent component to encounter it):
libcrypto.ais a provided byopenssl, which is also a dependency oflibmysqlclient.libmysqlclient, amending its dependents if necessary (and if MXE pkg-config has the notion of transitive library dependencies, no amendment will be needed at all).IOW, the first option is my preference. Objections?