[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Help with Qwt and PyQt-Qwt, C++ symbols



Gudjon I. Gudjonsson <gudjon@gudjon.org> writes:

>> This generates the attached report. I guess the proposed patch changes
>> the layout of the vtable, so calls to virtual functions past the vtable
>> changes would break.

I just looked at the report again, and I'm no longer entirely sure it
actually says that the patch breaks the ABI. In any case, C++ has
brittle ABIs, and it's best to mess with it as little as possible. Even
if it doesn't break here, maybe it WOULD break with some other compiler,
build flags, arch, etc. Oh, and the involved classes are named
"QwtAbstract...", but the patch makes them not abstract anymore, which
is another argument against patching it in this way.


> 2. I need to make PyQt-Qwt compile and work with the qwt library.
>
> The best solution is to fix the PyQt-Qwt code (SIP) but I haven't
> found out how to do that but by patching qwt, it works perfectly.
>
> Now I am updating Qwt to version 6.1.3 and if I want to add the patch,
> the time is right to do it but I want to be sure that the patch
> doesn't make problems for other users of the library.

Sorry, I wasn't clear. I do understand that you're trying to get
PyQt-Qwt running, but I was hoping to get more detail about the failures
you're seeing and/or the exact steps you're taking to build PyQt-Qwt.
How exactly are you building it? The documentation is very sparse, and
I'd rather not spend time figuring it out.

Simply running ./configure.py silently invokes some X thing that expects
me to click a few times, and then barfs. If I read the docs, I get this:

 $ QT_SELECT=qt5 python3 configure.py --qwt-incdir=/usr/include/qwt
 Error: Unable to import PyQt5.QtCore. Make sure PyQt5 is installed.

 $ QT_SELECT=qt4 python3 configure.py --qwt-incdir=/usr/include/qwt
 Error: Unable to import PyQt5.QtCore. Make sure PyQt5 is installed.

What do I need to invoke? What packages do I need to have installed?


Reply to: