-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
6.11
-
None
linking application code with statically linked qt gives:
ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::QAsn1Element(unsigned char, QtNamespace::QByteArray const&)' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::fromObjectId(QtNamespace::QByteArray const&)' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::read(QtNamespace::QByteArray const&)' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::valueForExtension(long long) const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::oidForExtension(long long) const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::fromInteger(unsigned int)' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::numberOfExtensions() const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::subjectInfo(QtNamespace::QSslCertificate::SubjectInfo) const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::TlsKeyBase::pkcs8Header(bool)' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::QAsn1Element(unsigned char, QtNamespace::QByteArray const&)' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::isExtensionSupported(long long) const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'vtable for QtNamespace::QTlsPrivate::X509CertificateBase' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'typeinfo name for QtNamespace::QTlsPrivate::TlsKeyBase' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::toList() const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'typeinfo for QtNamespace::QTlsPrivate::TlsKeyBase' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::subjectInfo(QtNamespace::QByteArray const&) const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::nameForExtension(long long) const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'typeinfo for QtNamespace::QTlsPrivate::X509CertificateBase' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::toInteger(bool*) const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'typeinfo name for QtNamespace::QTlsPrivate::X509CertificateBase' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::toString() const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::expiryDate() const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::read(QtNamespace::QDataStream&)' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::matchLineFeed(QtNamespace::QByteArray const&, int*)' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::issuerInfo(QtNamespace::QSslCertificate::SubjectInfo) const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::toObjectName() const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::TlsKeyBase::isEncryptedPkcs8(QtNamespace::QByteArray const&)' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::systemCaCertificates()' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::TlsKeyBase::pemFromDer(QtNamespace::QByteArray const&, QtNamespace::QMap<QtNamespace::QByteArray, QtNamespace::QByteArray> const&) const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::toDateTime() const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::isExtensionCritical(long long) const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::fromBool(bool)' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'vtable for QtNamespace::QTlsPrivate::TlsKeyBase' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::write(QtNamespace::QDataStream&) const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::issuerInfo(QtNamespace::QByteArray const&) const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::toInfo() const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::lcX509()' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::effectiveDate() const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::TlsKeyBase::pkcs8Footer(bool)' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::toObjectId() const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::toBool(bool*) const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::subjectInfoToString(QtNamespace::QSslCertificate::SubjectInfo)' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::version() const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::subjectInfoAttributes() const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::issuerInfoAttributes() const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QAsn1Element::fromVector(QtNamespace::QList<QtNamespace::QAsn1Element> const&)' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::isNull() const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o) ld: warning: duplicate symbol 'QtNamespace::QTlsPrivate::X509CertificateBase::serialNumber() const' in: /Users/tim/bin/qt-dev-static/plugins/tls/libqsecuretransportbackend.a[2](unity_0_cxx.cxx.o) /Users/tim/bin/qt-dev-static/plugins/tls/libqopensslbackend.a[2](unity_0_cxx.cxx.o)
reason is that the same classes (X509CertificateBase, QAsn1Element) are compiled into different plugins.
- relates to
-
QTBUG-138543 Harden statically linked Qt
-
- Reported
-
For Gerrit Dashboard: QTBUG-139230 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
668871,7 | Network: compile common tls plugin code into a library | dev | qt/qtbase | Status: NEW | 0 | 0 |
676066,2 | Network: factor out _generic functionality into separate static lib | dev | qt/qtbase | Status: NEW | 0 | 0 |