Re: Build issues with sipconfiq

Phil Thompson <[email protected]>
Newsgroups gmane.comp.python.pyqt-pykde
Message-ID <[email protected]>
On 13/09/2019 13:51, Hans-Peter Jansen wrote:
> Am Donnerstag, 12. September 2019, 17:49:31 CEST schrieb Hans-Peter 
> Jansen:
>> 
>> The build fails, because sipconfig doesn't expand some macros anymore, 
>> but
>> nothing changed with sip and PyQt5 meanwhile (well, Qt was updated to
>> 5.13.1):
> 
> Well, I not sure anymore, that this isn't related to some sip/PyQt5 
> upgrade.
> 
> What's for sure, that sipconfig.SIPModuleMakefile fails to properly 
> expand
> $$[QT_INSTALL_LIBS]. Question is, where this came from in the first 
> place.
> 
> Except from the generated Makefile:
> 
> LIBS = -L/home/abuild/rpmbuild/BUILD/PyQxtGlobalShortcut-0.2.3/build/
> temp.linux-x86_64-2.7 -L/usr/lib64 -L/usr/X11R6/lib -lQxtGlobalShortcut 
> -
> lpython2.7 -lQt5Core -L$$[QT_INSTALL_LIBS] -lpthread -lQt5Gui -L$$
> [QT_INSTALL_LIBS] $$[QT_INSTALL_LIBS]/libQt5Core.so -lpthread 
> -lQt5Widgets -
> lQt5PrintSupport -lXext -lX11 -lm -lpthread
> 
> Interestingly, Qt5Core is there already, but then it's appearing again 
> within
> the unexpanded macros, while the other Qt5 libraries arguments are 
> dealt with
> just fine.
> 
> sipconfig.Configuration is called with a config dict containing:
> 
> [   13s] cfg:
> [   13s] {'pyqt_sip_dir': '/usr/share/sip/PyQt5',
> [   13s]  'pyqt_sip_flags': '-n PyQt5.sip -t WS_X11 -t Qt_5_13_0',
> [   13s]  'qt_data_dir': '/usr/share/qt5',
> [   13s]  'qt_dir': '/usr',
> [   13s]  'qt_edition': 'free',
> [   13s]  'qt_framework': 0,
> [   13s]  'qt_inc_dir': '/usr/include/qt5',
> [   13s]  'qt_lib_dir': '/usr/lib64',
> [   13s]  'qt_threaded': 1,
> [   13s]  'qt_version': 331009,
> [   13s]  'qt_winconfig': 'shared'}
> 
> which looks like all properties are set up correctly.
> 
> The QT_INSTALL_LIBS macro seems to stem from a qmake property:
> 
> [   13s] qmake_props:
> [...]
> [   13s]  'QT_INSTALL_LIBS': '/usr/lib64',
> 
> so it must be crept in somewhere internal to sipconfig.
> 
> With this hack appended:
> 
> with open('Makefile', 'r+') as fd:
>     mf = fd.read()
>     newmf = mf.replace('-L$$[QT_INSTALL_LIBS] ', '')
>     newmf = newmf.replace('$$[QT_INSTALL_LIBS]/libQt5Core.so ', '')
>     if mf != newmf:
>         fd.seek(0)
>         fd.write(newmf)
> 
> to the configure script:
> 
> https://github.com/frispete/PyQxtGlobalShortcut/blob/master/pyqxtgs/
> configure.py
> 
> the build succeeds again. Hence, it looks like a sipconfig regression 
> of some
> kind.
> 
> The fixed linking command is now:
> 
> g++ -shared -Wl,--version-script=QxtGlobalShortcut.exp -o 
> QxtGlobalShortcut.so
> sipQxtGlobalShortcutcmodule.o sipQxtGlobalShortcutQxtGlobalShortcut.o 
> -L/home/
> abuild/rpmbuild/BUILD/PyQxtGlobalShortcut-0.2.3/build/temp.linux-x86_64-3.7 
> -
> L/usr/lib64 -L/usr/X11R6/lib -lQxtGlobalShortcut -lpython3.7m -lQt5Core 
> -
> lpthread -lQt5Gui -lpthread -lQt5Widgets -lQt5PrintSupport -lXext -lX11 
> -lm -
> lpthread
> 
> Apart from repeated -lpthread arguments, it's looking sane again, and 
> working
> fine.
> 
> It would be nice to locate and fix the source of this issue properly in 
> order
> to dispense with such gross hacks, wouldn't it?

sipconfig has long been deprecated and has never been used with PyQt5. 
Sorry but this is a "won't fix".

Phil
_______________________________________________
PyQt mailing list    [email protected]
https://www.riverbankcomputing.com/mailman/listinfo/pyqt
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.