On 08.04.2022 09:01, Jan Rękorajski wrote:
> Python 3.10.4 (main, Apr  1 2022, 09:00:14) [GCC 11.2.0 20220208 (release)] 
> on linux
> Type "help", "copyright", "credits" or "license" for more information.
> >>> from PyQt5 import Qsci
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> ImportError: /usr/lib64/python3.10/site-packages/PyQt5/Qsci.so: undefined 
> symbol: _ZTI11QsciPrinter
> As far as I can see the symbol is there, recompiling qscintilla2 does
> not fix it.
> Could someone more versed in the linker(?) take a look at it?

Unfortunately it has not much to do with linking, but rather with qmake.

Above symbol is defined in libqscintilla2_qt5.so which is not linked to the
module, that's the reason for undefined symbol:

x86_64-pld-linux-g++ -Wl,--as-needed -Wl,--no-copy-dt-needed-entries 
-Wl,-z,relro -Wl,-z,combreloc -Wl,--version-script=Qsci.exp -Wl,-O1 -shared -o 
libQsci.so sipQscipart0.o sipQscipart1.o sipQscipart2.o  
/usr/lib64/libQt5PrintSupport.so /usr/lib64/libQt5Widgets.so 
/usr/lib64/libQt5Gui.so /usr/lib64/libQt5Core.so -lGL -lpthread

I guess linking to libqscintilla2_qt5.so should come from:

qmake = {'CONFIG': 'qscintilla2'...

but perhaps due to the way we build python module it can't find newly built 
qscintilla2? No idea.

A brute force workaround is to BR: qscintilla2-qt5-devel so it finds system 
pld-devel-en mailing list

Reply via email to