How to build the 3rd party libraries in Qt's source code?
-
Hi.
I am faced with bug QTBUG-86704 which prevents remote debugging in Qt 5.15.1.It is suggested there that patching the code in
Qt/5.15.1/Src/qtbase/src/3rdparty/forkfd/forkfd_linux.c
works around this apparently known
gdb
bug.Am I correct to assume that I only need to patch this on the remote Qt installation and not on the host?
My actual question is this: how do I build the
forkfd
library in the3rdparty
folder of Qt's sources?Although this library is not mentioned in the Qt docs
https://doc.qt.io/qt-5/configure-options.html
nor inconfigure -help
, I naively tried to add the following to myconfigure
line:-qt-forkfd
However, that does not work, and
configure
returns with:ERROR: Unknown command line option '-qt-forkfd'.
Thanks for your help!
-
@Diracsbracket said in How to build the 3rd party libraries in Qt's source code?:
My actual question is this: how do I build the forkfd library in the 3rdparty folder of Qt's sources?
I guess you simply apply the patch and build qtbase...
-
@jsulm said in How to build the 3rd party libraries in Qt's source code?:
I guess you simply apply the patch and build qtbase...
When I do the normal
configure
, thebuild
shadow dir does not contain any folder nor file with reference to it, and just a few matches to3rdparty
build$ grep -r "forkfd" dirac@buster:~/raspi/qt-everywhere-src-5.15.1/build$ grep -r "3rdparty" Binary file qtbase/qmake/qcborstreamwriter.o matches Binary file qtbase/qmake/qcryptographichash.o matches Binary file qtbase/qmake/qlocale_tools.o matches qtbase/qmake/Makefile: -I$(SOURCE_PATH)/src/3rdparty/tinycbor/src \ Binary file qtbase/bin/qmake matches dirac@buster:~/raspi/qt-everywhere-src-5.15.1/build$
-
@jsulm
I applied the patch and rebuild the whole thing (since I don't know how to buildqtbase
alone using configure), and that solves the problem.
Also, the patch seems to have been applied in versionQt5.15.2
as the updated comment of QTBUG-86704 indicates.However, remote debugging on the Pi 4 is not really stable it seems, possibly due to a buggy PiOS/Raspbian GDB implementation.