[pyqtdeploy] Failing at building the demo
umbertofilippo
umbertofilippo at tiscali.it
Fri Mar 8 17:49:13 GMT 2024
Moving on,
I have tried to remove OpenSSL from the "sysroot.toml" since it is not
required, and now the process seems to go further, but I am stuck at a
new error:
Verifying host architecture 'linux-64'...
Verifying target architecture 'linux-64'...
zlib: verifying...
Qt: verifying...
Python: verifying...
SIP: verifying...
PyQt: verifying...
PyQt3D: verifying...
PyQtChart: verifying...
PyQtDataVisualization: verifying...
PyQtNetworkAuth: verifying...
PyQtPurchasing: verifying...
QScintilla: verifying...
zlib: installing component...
Qt: installing component...
Qt: downloading 'qt-everywhere-src-5.15.2.tar.xz' from
https://download.qt.io/archive/qt/5.15/5.15.2/single/...
pyqtdeploy-sysroot: execution of './configure' failed: returned exit code 2
What can be the cause of this new error? I see there is a new folder now
in the original pyqt demo directory called "sysroot-linux-64" and inside
I see there's "sysroot-linux-64/build/qt-everywhere-src-5.15.2" with a
"configure" file, but other than this I have no clue sincerely on why it
is failing.
I have attached the content of running build-demo.py with --verbose
Hope someone can help me. Thanks.
On 3/8/24 12:18, umbertofilippo wrote:
>
> Hi and many thanks for you feedback!
>
>
> First of all let me tell that I am very interested in finding a
> solution to this problem, and I will try to do my best if I can
> contribute in case it's needed.
>
>
> I just checked, and this is what I can see in my
> /usr/include/openssl/opensslv.h file. Cannot tell though if pyqtdeploy
> is supposed to work or not given these lines...
>
>
> /*
> * SECTION 4: BACKWARD COMPATIBILITY
> */
>
> # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.2 15 Mar 2022"
>
> /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */
> # ifdef OPENSSL_VERSION_PRE_RELEASE
> # define _OPENSSL_VERSION_PRE_RELEASE 0x0L
> # else
> # define _OPENSSL_VERSION_PRE_RELEASE 0xfL
> # endif
> # define OPENSSL_VERSION_NUMBER \
> ( (OPENSSL_VERSION_MAJOR<<28) \
> |(OPENSSL_VERSION_MINOR<<20) \
> |(OPENSSL_VERSION_PATCH<<4) \
> |_OPENSSL_VERSION_PRE_RELEASE )
>
> # ifdef __cplusplus
> }
> # endif
>
> # include <openssl/macros.h>
> # ifndef OPENSSL_NO_DEPRECATED_3_0
> # define HEADER_OPENSSLV_H
> # endif
>
> #endif
>
>
> Umberto
>
>
> On 3/7/24 19:11, Kaiser Chief wrote:
>> Hi,
>>
>> To complement my previous message (and after doing a quick search
>> through the source code):
>> * The script "OpenSSL.py" is looking for "OPENSSL_VERSION_NUMBER" in
>> "/usr/include/openssl/opensslv.h"
>> * In OpenSSL 1.1.1 (which is installed on my Linux), I can see the
>> line "#define OPENSSL_VERSION_NUMBER" in
>> "/usr/include/openssl/opensslv.h".
>>
>> Can you check that you have that line in your header file too?
>>
>> If not, it's probably that OpenSSL updated their header files and put
>> the VERSION_NUMBER somewhere else...
>>
>> If you want to run the demo, I would recommend you install the
>> default versions as written in the `sysroot.toml`
>>
>> If there are fixes to make for each "version grepping", I believe
>> that Phil had a way to contribute to plugins for pyqtdeploy, but
>> can't remember where...
>>
>> Best regards,
>>
>> KC
>>
>> Le jeu. 7 mars 2024 à 17:56, Kaiser Chief
>> <kaiser.chiefmail at gmail.com> a écrit :
>>
>> Hi,
>>
>> According to the sysroot help page
>> (https://www.riverbankcomputing.com/static/Docs/pyqtdeploy/sysroot.html#openssl),
>> if you have configured your `sysroot.toml` like this:
>> ```
>>
>> [OpenSSL.linux]
>> version = ""
>> install_from_source = false
>>
>> ```
>>
>> Then, on Linux, the OpenSSL library used will be the one
>> installed on your OS with no assumption on the version (so that
>> should work in your example).
>> Now, that's what is provided in the demo folder for
>> `pyqtdeploy-3.3.0`, so that's odd.
>>
>> Therefore, it could be that the `pyqtdeploy-sysroot`
>> functionality is struggling to extract the version number from
>> your OS-installed OpenSSL.
>>
>> ---
>>
>> I am not of great help with that comment, however, I would like
>> to suggest, if it's your first time with pyqtdeploy to give a try
>> at my Github repo:
>>
>> https://github.com/achille-martin/pyqt-crom
>>
>> This repo aims at demonstrating how beginner devs, intermediate
>> devs and expert devs can benefit from pyqtdeploy.
>> It also offers a few simple tutorials to get started with
>> pyqtdeploy (simpler than the demo in the official pyqtdeploy
>> package) and optimises bits of the tool regarding the user
>> interface (for now).
>>
>> I can support you with your initial journey on discovering
>> pyqtdeploy through my repo if you wish.
>>
>> Best regards,
>>
>> KC
>>
>> Le jeu. 7 mars 2024 à 17:06, umbertofilippo
>> <umbertofilippo at tiscali.it> a écrit :
>>
>> Hello everyone, first time here for me :)
>>
>>
>> I was giving pyqtdeploy a try and I am stuck at the very
>> first step of
>> the "Building the Demo" page.
>>
>>
>> I am on a Linux-64 machine. I am following the tutorial at
>> https://www.riverbankcomputing.com/static/Docs/pyqtdeploy/demo.html
>> and
>> I have downloaded the demo files from
>> https://files.pythonhosted.org/packages/44/d4/978017382f0ecc48601944c3fc0f58a5c5075a1d3acd48d09c11ee471b05/pyqtdeploy-3.3.0.tar.gz
>>
>>
>> I have created a virtual python environment with the
>> following packages
>> and versions installed:
>>
>> Name,Version
>> _libgcc_mutex,0.1
>> _openmp_mutex,4.5
>> bzip2,1.0.8
>> ca-certificates,2024.2.2
>> ld_impl_linux-64,2.40
>> libexpat,2.6.1
>> libffi,3.4.2
>> libgcc-ng,13.2.0
>> libgomp,13.2.0
>> libnsl,2.0.1
>> libsqlite,3.45.1
>> libuuid,2.38.1
>> libxcrypt,4.4.36
>> libzlib,1.2.13
>> ncurses,6.4
>> openssl,3.2.1
>> pip,24.0
>> pyqt5,5.15.10
>> pyqt5-qt5,5.15.2
>> pyqt5-sip,12.13.0
>> pyqtdeploy,3.3.0
>> python,3.12.2
>> readline,8.2
>> setuptools,69.1.1
>> tk,8.6.13
>> toml,0.10.2
>> tzdata,2024a
>> wheel,0.42.0
>> xz,5.2.6
>>
>> I have tried to run the command "python build-demo.py"
>> straight away,
>> but I am getting the following error:
>>
>> OpenSSL: verifying...
>> OpenSSL: determining installed version from
>> '/usr/include/openssl/opensslv.h'.
>> pyqtdeploy-sysroot: OpenSSL: unable to extract the version
>> number.
>>
>>
>> OpenSSL is installed on my machine and the result of doing
>> "openssl
>> version" is "OpenSSL 3.2.1 30 Jan 2024 (Library: OpenSSL
>> 3.2.1 30 Jan 2024)"
>>
>>
>> Am I supposed to install the exact versions of all the
>> components found
>> in the ""sysroot.toml" file to be able to run "python
>> build-demo.py"
>> successfully?
>>
>>
>> Thanks,
>>
>>
>> Umberto
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20240308/a22855b9/attachment-0001.htm>
-------------- next part --------------
(memory) umberto at umberto-ThinkPad-T440p:~/games/python/pyqt-demo$ python build-demo.py --verbose
Verifying host architecture 'linux-64'...
Verifying target architecture 'linux-64'...
zlib: verifying...
zlib: determining installed version from '/usr/include/zlib.h'.
zlib: verified v1.2.11.
Qt: verifying...
Qt: verified v5.15.2.
Python: verifying...
Python: verified v3.11.0.
SIP: verifying...
Running 'sip-module --version'.
SIP: verified v6.8.3.
PyQt: verifying...
PyQt: verified v5.15.7.
PyQt3D: verifying...
PyQt3D: verified v5.15.5.
PyQtChart: verifying...
PyQtChart: verified v5.15.6.
PyQtDataVisualization: verifying...
PyQtDataVisualization: verified v5.15.5.
PyQtNetworkAuth: verifying...
PyQtNetworkAuth: verified v5.15.5.
PyQtPurchasing: verifying...
PyQtPurchasing: verified v5.15.5.
QScintilla: verifying...
QScintilla: verified v2.13.3.
Deleting /home/umberto/games/python/pyqt-demo/sysroot-linux-64/build.
Creating /home/umberto/games/python/pyqt-demo/sysroot-linux-64/build.
Qt: installing component...
Qt: looking for 'qt-everywhere-src-5.15.2.tar.xz' in /home/umberto/games/python/pyqt-demo.
Qt: found 'qt-everywhere-src-5.15.2.tar.xz' in download cache.
Qt: copying /home/umberto/.pyqtdeploy/cache/qt-everywhere-src-5.15.2.tar.xz to /home/umberto/games/python/pyqt-demo/sysroot-linux-64/build.
Qt: unpacking 'qt-everywhere-src-5.15.2.tar.xz'.
Running './configure -prefix /home/umberto/games/python/pyqt-demo/sysroot-linux-64/Qt -opensource -confirm-license -static -release -nomake examples -nomake tools -I /home/umberto/games/python/pyqt-demo/sysroot-linux-64/include -L /home/umberto/games/python/pyqt-demo/sysroot-linux-64/lib -ssl -openssl-runtime -opengl desktop -no-dbus -qt-pcre -skip qtactiveqt -skip qtconnectivity -skip qtdoc -skip qtgamepad -skip qtlocation -skip qtmultimedia -skip qtquickcontrols -skip qtquickcontrols2 -skip qtremoteobjects -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtsvg -skip qttools -skip qttranslations -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtxmlpatterns'.
+ cd qtbase
+ /home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/configure -top-level -prefix /home/umberto/games/python/pyqt-demo/sysroot-linux-64/Qt -opensource -confirm-license -static -release -nomake examples -nomake tools -I /home/umberto/games/python/pyqt-demo/sysroot-linux-64/include -L /home/umberto/games/python/pyqt-demo/sysroot-linux-64/lib -ssl -openssl-runtime -opengl desktop -no-dbus -qt-pcre -skip qtactiveqt -skip qtconnectivity -skip qtdoc -skip qtgamepad -skip qtlocation -skip qtmultimedia -skip qtquickcontrols -skip qtquickcontrols2 -skip qtremoteobjects -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtsvg -skip qttools -skip qttranslations -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtxmlpatterns
Creating qmake...
In file included from /home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/qfloat16.h:1,
from /home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qendian.h:44,
from /home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/qendian.h:1,
from /home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/src/corelib/codecs/qutfcodec.cpp:43:
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:300:7: error: ‘numeric_limits’ is not a class template
300 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float>
| ^~~~~~~~~~~~~~
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:300:77: error: expected template-name before ‘<’ token
300 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float>
| ^
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:300:77: error: expected ‘{’ before ‘<’ token
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:344:18: error: ‘numeric_limits’ is not a class template
344 | template<> class numeric_limits<const QT_PREPEND_NAMESPACE(qfloat16)>
| ^~~~~~~~~~~~~~
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:344:69: error: ‘std::numeric_limits’ is not a template
344 | template<> class numeric_limits<const QT_PREPEND_NAMESPACE(qfloat16)>
| ^
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:300:7: note: previous declaration here
300 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float>
| ^~~~~~~~~~~~~~
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:345:28: error: expected template-name before ‘<’ token
345 | : public numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> {};
| ^
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:346:18: error: ‘numeric_limits’ is not a class template
346 | template<> class numeric_limits<volatile QT_PREPEND_NAMESPACE(qfloat16)>
| ^~~~~~~~~~~~~~
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:346:72: error: ‘std::numeric_limits’ is not a template
346 | template<> class numeric_limits<volatile QT_PREPEND_NAMESPACE(qfloat16)>
| ^
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:300:7: note: previous declaration here
300 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float>
| ^~~~~~~~~~~~~~
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:347:28: error: expected template-name before ‘<’ token
347 | : public numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> {};
| ^
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:348:18: error: ‘numeric_limits’ is not a class template
348 | template<> class numeric_limits<const volatile QT_PREPEND_NAMESPACE(qfloat16)>
| ^~~~~~~~~~~~~~
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:348:78: error: ‘std::numeric_limits’ is not a template
348 | template<> class numeric_limits<const volatile QT_PREPEND_NAMESPACE(qfloat16)>
| ^
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:300:7: note: previous declaration here
300 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float>
| ^~~~~~~~~~~~~~
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:349:28: error: expected template-name before ‘<’ token
349 | : public numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> {};
| ^
In file included from /home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/qendian.h:1,
from /home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/src/corelib/codecs/qutfcodec.cpp:43:
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qendian.h: In static member function ‘static constexpr QSpecialInteger<S> QSpecialInteger<S>::max()’:
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:30: error: ‘std::numeric_limits’ is not a template
331 | { return QSpecialInteger(std::numeric_limits<T>::max()); }
| ^~~
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:54: error: incomplete type ‘std::numeric_limits’ used in nested name specifier
331 | { return QSpecialInteger(std::numeric_limits<T>::max()); }
| ^~~
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qendian.h: In static member function ‘static constexpr QSpecialInteger<S> QSpecialInteger<S>::min()’:
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:30: error: ‘std::numeric_limits’ is not a template
333 | { return QSpecialInteger(std::numeric_limits<T>::min()); }
| ^~~
/home/umberto/games/python/pyqt-demo/sysroot-linux-64/build/qt-everywhere-src-5.15.2/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:54: error: incomplete type ‘std::numeric_limits’ used in nested name specifier
333 | { return QSpecialInteger(std::numeric_limits<T>::min()); }
| ^~~
gmake: *** [Makefile:383: qutfcodec.o] Error 1
pyqtdeploy-sysroot: execution of './configure' failed: returned exit code 2
More information about the PyQt
mailing list