GauiStori / PyQt-Qwt

Python PyQt wrapper for Qwt6
Other
53 stars 18 forks source link

Ubuntu 18.04 installing problems #21

Closed grafoteka closed 3 years ago

grafoteka commented 3 years ago

Hello GauiStori,

I'm trying to compile your package, but I'm having some problems from the beginning, hope you can help me with them.

All the PyQt packages are correctly installed, but when I try to remove the qwt-qt5 name extension, it says that the sip-build order is not found.

If I try to install sip manually ($sudo apt install sip-dev), it says that it is correctly installed.

Then, trying to do the next instruction, I had the same problem show in #20 , but it finishes with the next error:

Error: Unable to create the C++ code.

Please, could you guide me to install correctly your repo?

Thank you in advance. Jorge

GauiStori commented 3 years ago

Hi Jorge

I'm trying to compile your package, but I'm having some problems from the beginning, hope you can help me with them. Are you using sip-build or configure.py?

sip-build --qwt-incdir=/usr/include/qwt --qwt-libdir=/usr/lib --qwt-lib=qwt- qt5 --verbose

QT_SELECT=qt5 python3 configure.py --qwt-incdir=/usr/include/qwt --qwt-libdir=/ usr/lib --qwt-lib=qwt-qt5 --verbose

Please send me the output of the command you are using.

Cheers Gudjon

Ps. I have just fixed issue 20. Changed the version from 2.0.0beta to 1.9.0. I will make a release soon but not until at least your compilation works.

grafoteka commented 3 years ago

Hi @GauiStori,

I have try with both (sip-build and configure.py), but without success.


$ sip-build --qwt-incdir=/usr/include/qwt --qwt-libdir=/usr/lib --qwt-lib=qwt-qt5 --verbose
sip-build: command not found

$ QT_SELECT=qt5 python3 configure.py --qwt-incdir=/usr/include/qwt --qwt-libdir=/usr/lib --qwt-lib=qwt-qt5 --verbose
Configuring Qwt 2.0.0...
Qwt 6.1.3 is being used.
The Qwt .sip files will be installed in /usr/share/sip/PyQt5.
Qwt will be installed in /usr/lib/python3/dist-packages/PyQt5.
PyQt 5.10.1 is being used.
Qt 5.9.5 is being used.
sip 4.19.7 is being used.
The sip executable is /usr/bin/sip.
Qwt is being built with 'protected' redefined as 'public'.
The PEP 484 stubs will be installed in /usr/lib/python3/dist-packages/PyQt5.
The Qwt API file will be installed in
/home/jdeleon/Qt/5.15.2/gcc_64/qwt/api/python.
Generating the C++ source for the Qwt module...
/usr/bin/sip -I /home/jdeleon/PyQt-Qwt-master/sip -I /usr/share/sip/PyQt5 -t WS_X11 -t Qt_5_9_5 -B Qt_6_0_0 -t Qwt_6_1_3 -y Qwt.pyi -a Qwt.api -P -o -c /home/jdeleon/PyQt-Qwt-master/Qwt /home/jdeleon/PyQt-Qwt-master/sip/Qwt_Qt5.sip
sip: size_t is undefined
Error: Unable to create the C++ code.
GauiStori commented 3 years ago

Hi again

$ QT_SELECT=qt5 python3 configure.py --qwt-incdir=/usr/include/qwt --qwt-libdir=/usr/lib --qwt-lib=qwt-qt5 --verbose Configuring Qwt 2.0.0... Qwt 6.1.3 is being used. You will run into problems with Qwt 6.1.3, you need patched header files which are provided with instructions.

/home/jdeleon/PyQt-Qwt-master/sip/Qwt_Qt5.sip sip: size_t is undefined Error: Unable to create the C++ code. I guess I will have to add a timeline for older versions of PyQt.

Please uncomment Qwt_Qt5.sip: //typedef unsigned long size_t;

That should help.

Cheers Gudjon

grafoteka commented 3 years ago

Hi @GauiStori,

for patching the header files, can I do it with the path command?

$ patch 06_python_compat.patch?

Because it never ends...

I only do the manual commands:

$ cp -a /usr/include/qwt header
$ cp header/qwt*.h header/qwt/

Also, I try to search the comment line Qwt_Qt5.sip: //typedef unsigned long size_t; in the configure.py file, but I have not found it, it is present in other file?

Thank you, Jorge

GauiStori commented 3 years ago

Hi Jorge

for patching the header files, can I do it with the path command? $ patch 06_python_compat.patch? Because it never ends... Well, you need to run the patch program correctly.

I only do the manual commands: That is easier


$ cp -a /usr/include/qwt header
$ cp header/qwt*.h header/qwt/
And then you need to compile with
--qwt-incdir=header/qwt, not /usr/include/qwt

Also, I try to search the comment line `Qwt_Qt5.sip:    //typedef unsigned
long size_t;` in the configure.py file, but I have not found it, it is
present in other file?
The file is
sip/Qwt_Qt5.sip

The outcommented line is //typedef unsigned

/Gudjon

grafoteka commented 3 years ago

Thank you very much @GauiStori, everything has compile perfectly.

Now, I'm trying to launch the Qt5examples, but for all I'm having the same error:


  File "controls.py", line 6, in <module>
    from PyQt5 import Qwt
ModuleNotFoundError: No module named 'PyQt5.QtOpenGL'```

But it was solved installing the OpenGL

```sudo  apt-get install PyQt5.QtOpenGL```

Maybe, it could be set as a dependency before the installation?

Thank one for the help.
Jorge
GauiStori commented 3 years ago

Hi Jorge

Great. Thanks for the hint. I added python3-pyqt5.qtopengl python3-pyqt5.qtsvg to the documentation.

I reopen the issue, I will close it when i have added a PyQt timeline for the size_t. Then you will not need to uncomment the line manually.

Cheers Gudjon

GauiStori commented 3 years ago

This should be fixed in commit 890754387468aaa02ae9d156e12fb62d29774fb2