gentoo / libressl

[MIRROR] LibreSSL ebuilds testing repository
https://gitweb.gentoo.org/repo/proj/libressl.git
72 stars 43 forks source link

dev-python/PyQt6 - Wheel Build Failed with dev-qt/qtnetwork #563

Closed BLUcybrB14de closed 3 months ago

BLUcybrB14de commented 3 months ago

Hello,

I've been having an issue for some time now compiling PyQt6, which is now required for all newer versions of >=www-client/qutebrowser-3.2.0, since the -qt6, flag is now deprecated for the newer versions, which I have masked for now.

dev-libs/libressl: LibreSSL 3.9.2 dev-qt/qtnetwork: 5.15.14 dev-qt/qtbase::libressl: 6.7.1 dev-qt/qtwebchannel: 5.15.14, 6.7.1

PyQt6-6.7.0.log

inxi-output.log

Error Message:

                                                ^~~~~~~
In file included from /var/tmp/portage/dev-python/PyQt6-6.7.0/work/PyQt6-6.7.0/sip/QtNetwork/qssl.sip:28:
/usr/include/qt6/QtNetwork/qssl.h:51:9: note: declared here
   51 |         TlsV1_0 QT_DEPRECATED_VERSION_X_6_3("Use TlsV1_2OrLater instead."),
      |         ^~~~~~~
/var/tmp/portage/dev-python/PyQt6-6.7.0/temp/tmpz9k388vq/QtNetwork/sipQtNetworkQSsl.cpp:100:55: warning: ‘QSsl::TlsV1_0OrLater’ is deprecated: Use TlsV1_2OrLater instead. [-Wdeprecated-declarations]
  100 |     {sipName_TlsV1_0OrLater, static_cast<int>(::QSsl::TlsV1_0OrLater)},
      |                                                       ^~~~~~~~~~~~~~
/usr/include/qt6/QtNetwork/qssl.h:57:9: note: declared here
   57 |         TlsV1_0OrLater QT_DEPRECATED_VERSION_X_6_3("Use TlsV1_2OrLater instead."),
      |         ^~~~~~~~~~~~~~
/var/tmp/portage/dev-python/PyQt6-6.7.0/temp/tmpz9k388vq/QtNetwork/sipQtNetworkQSsl.cpp:101:48: warning: ‘QSsl::TlsV1_1’ is deprecated: Use TlsV1_2OrLater instead. [-Wdeprecated-declarations]
  101 |     {sipName_TlsV1_1, static_cast<int>(::QSsl::TlsV1_1)},
      |                                                ^~~~~~~
/usr/include/qt6/QtNetwork/qssl.h:52:9: note: declared here
   52 |         TlsV1_1 QT_DEPRECATED_VERSION_X_6_3("Use TlsV1_2OrLater instead."),
      |         ^~~~~~~
/var/tmp/portage/dev-python/PyQt6-6.7.0/temp/tmpz9k388vq/QtNetwork/sipQtNetworkQSsl.cpp:102:55: warning: ‘QSsl::TlsV1_1OrLater’ is deprecated: Use TlsV1_2OrLater instead. [-Wdeprecated-declarations]
  102 |     {sipName_TlsV1_1OrLater, static_cast<int>(::QSsl::TlsV1_1OrLater)},
      |                                                       ^~~~~~~~~~~~~~
/usr/include/qt6/QtNetwork/qssl.h:58:9: note: declared here
   58 |         TlsV1_1OrLater QT_DEPRECATED_VERSION_X_6_3("Use TlsV1_2OrLater instead."),
      |         ^~~~~~~~~~~~~~
/var/tmp/portage/dev-python/PyQt6-6.7.0/temp/tmpz9k388vq/QtNetwork/sipQtNetworkQSsl.cpp:107:49: warning: ‘QSsl::DtlsV1_0’ is deprecated: Use DtlsV1_2OrLater instead. [-Wdeprecated-declarations]
  107 |     {sipName_DtlsV1_0, static_cast<int>(::QSsl::DtlsV1_0)},
      |                                                 ^~~~~~~~
/usr/include/qt6/QtNetwork/qssl.h:61:9: note: declared here
   61 |         DtlsV1_0 QT_DEPRECATED_VERSION_X_6_3("Use DtlsV1_2OrLater instead."),
      |         ^~~~~~~~
/var/tmp/portage/dev-python/PyQt6-6.7.0/temp/tmpz9k388vq/QtNetwork/sipQtNetworkQSsl.cpp:108:56: warning: ‘QSsl::DtlsV1_0OrLater’ is deprecated: Use DtlsV1_2OrLater instead. [-Wdeprecated-declarations]
  108 |     {sipName_DtlsV1_0OrLater, static_cast<int>(::QSsl::DtlsV1_0OrLater)},
      |                                                        ^~~~~~~~~~~~~~~
/usr/include/qt6/QtNetwork/qssl.h:62:9: note: declared here
   62 |         DtlsV1_0OrLater QT_DEPRECATED_VERSION_X_6_3("Use DtlsV1_2OrLater instead."),
      |         ^~~~~~~~~~~~~~~
/var/tmp/portage/dev-python/PyQt6-6.7.0/temp/tmpz9k388vq/QtNetwork/sipQtNetworkQNetworkInformation.cpp: In function ‘PyObject* meth_QNetworkInformation_load(PyObject*, PyObject*)’:
/var/tmp/portage/dev-python/PyQt6-6.7.0/temp/tmpz9k388vq/QtNetwork/sipQtNetworkQNetworkInformation.cpp:194:49: warning: ‘static bool QNetworkInformation::load(QStringView)’ is deprecated: Use loadBackendByName [-Wdeprecated-declarations]
  194 |             sipRes = ::QNetworkInformation::load(*a0);
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
In file included from /var/tmp/portage/dev-python/PyQt6-6.7.0/work/PyQt6-6.7.0/sip/QtNetwork/qnetworkinformation.sip:28:
/usr/include/qt6/QtNetwork/qnetworkinformation.h:72:70: note: declared here
   72 |     QT_DEPRECATED_VERSION_X_6_4("Use loadBackendByName") static bool load(QStringView backend);
      |                                                                      ^~~~
/var/tmp/portage/dev-python/PyQt6-6.7.0/temp/tmpz9k388vq/QtNetwork/sipQtNetworkQNetworkInformation.cpp:209:49: warning: ‘static bool QNetworkInformation::load(Features)’ is deprecated: Use loadBackendByFeatures [-Wdeprecated-declarations]
__main__.py: 'make -j 20' failed returning 2
  209 |             sipRes = ::QNetworkInformation::load(*a0);
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/qt6/QtNetwork/qnetworkinformation.h:73:74: note: declared here
   73 |     QT_DEPRECATED_VERSION_X_6_4("Use loadBackendByFeatures") static bool load(Features features);
      |                                                                          ^~~~
make[1]: Leaving directory '/var/tmp/portage/dev-python/PyQt6-6.7.0/temp/tmpz9k388vq/QtNetwork'
make: *** [Makefile:148: sub-QtNetwork-make_first-ordered] Error 2

Tried with both g++, and clang++ using /etc/portage/package.env I am able to successfully build dev-qt/PyQt5-5.15.10-r1, as well as all of the other dependencies for www-client/qutebrowser-3.1.0-r1. Please let me know if I am making any mistakes here.

orbea commented 3 months ago

Thank you very much for the report, this is because DTLS support is disabled in dev-qt/qtbase which doesn't work with LibreSSL and then PyQT6 fails to detect that. I believe their build system should be fixed to detect DTLS support automatically, but for now I will disable DTLS manually in the ebuild. Please let me know if this causes any other consequences?

Ideally LibreSSL should be fixed to work with DTLS, but that may not be trivial?