Unsolved compile QT 5.8 raspberry OK, work but i can't deploy qt project
-
hello, i have compiling qt for my raspberry pi with EGLFS wiki 5.6
i can execute example opengl in my target==> nice.
but i have created kit qt 5.8 for deploy my application
(tool chain the same that i have compiled qt)
/home/thibaud/Bureau/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++but when i compile,i have error in toolchain in rootfs:
/mnt/root/usr/lib/arm-linux-gnueabihf/libicui18n.so.52 : référence indéfinie vers « __cxa_throw_bad_array_new_length@CXXABI_1.3.8 »
please help me please...
-
@kickoune103 It looks like either libicu is built wrong (wrong compiler maybe?) or it was linked against a different version of libc/libgcc perhaps. This would break the ABI which is what it seems like that error is saying.
Or you are mixing an old version of libicu with a newer one. This could break libicu's ABI.
-
i try to compile qt, with the same version of gcc 4.9
i would try linaro 4.9.4 2017 01 for compile qt
error in make
linero arm linux 4.9.4 official 2017 01
error in compile qt!!
L/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtbase/lib -lQt5Core -lpthread
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QTcpServer::newConnection()@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QTcpServer::QTcpServer(QObject*)@Qt_5 »
/home/thibaud/Bureau/rpi/sysroot/usr/lib/arm-linux-gnueabihf/libQt5Network.so.5 : référence indéfinie vers « qt_safe_select(int, fd_set*, fd_set*, fd_set*, timespec const*) »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QTcpServer::acceptError(QAbstractSocket::SocketError)@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QTcpServer::close()@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QHostAddress::~QHostAddress()@Qt_5 »
/home/thibaud/Bureau/rpi/sysroot/usr/lib/arm-linux-gnueabihf/libQt5Network.so.5 : référence indéfinie vers « qIsEffectiveTLD(QString const&) »
/home/thibaud/Bureau/rpi/sysroot/usr/lib/arm-linux-gnueabihf/libQt5Network.so.5 : référence indéfinie vers « QNonContiguousByteDevice::disableReset() »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QAbstractSocket::connected()@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QAbstractSocket::peerName() const@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QAbstractSocket::state() const@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QAbstractSocket::staticMetaObject@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QAbstractSocket::error(QAbstractSocket::SocketError)@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QTcpServer::isListening() const@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QAbstractSocket::peerAddress() const@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QAbstractSocket::disconnected()@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QTcpServer::errorString() const@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QTcpSocket::QTcpSocket(QObject*)@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QHostAddress::QHostAddress(QString const&)@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QAbstractSocket::peerPort() const@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QTcpServer::staticMetaObject@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « QTcpServer::listen(QHostAddress const&, unsigned short)@Qt_5 »
/home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so : référence indéfinie vers « operator<<(QDebug, QHostAddress const&)@Qt_5 »
collect2: error: ld returned 1 exit status
Makefile:90 : la recette pour la cible « ../../../bin/canbusutil » a échouée
make[4]: *** [../../../bin/canbusutil] Erreur 1
make[4] : on quitte le répertoire « /home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/src/tools/canbusutil »
Makefile:42 : la recette pour la cible « sub-canbusutil-make_first » a échouée
make[3]: *** [sub-canbusutil-make_first] Erreur 2
make[3] : on quitte le répertoire « /home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/src/tools »
Makefile:95 : la recette pour la cible « sub-tools-make_first » a échouée
make[2]: *** [sub-tools-make_first] Erreur 2
make[2] : on quitte le répertoire « /home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus/src »
Makefile:44 : la recette pour la cible « sub-src-make_first » a échouée
make[1]: *** [sub-src-make_first] Erreur 2
make[1] : on quitte le répertoire « /home/thibaud/Bureau/rpi/qt-everywhere-opensource-src-5.8.0/qtserialbus »
Makefile:229 : la recette pour la cible « module-qtserialbus-make_first » a échouée
make: *** [module-qtserialbus-make_first] Erreur 2have you a simply method for work qt 5.8 in raspberry pi.
-
@kickoune103 Those errors look like you are mixing 2 different Qt versions. You have a system Qt version that is interfering with your custom built one.
There have been tons of posts on these forums with people having that same issue (specifically with a Pi). I have been involved in most of those posts and most were solved.
Do a quick search or maybe even look through my post history and you should find them and their solutions. But basically it's exactly what I said above. You have to either isolate your build from your system level Qt or uninstall it. Then make sure you run a completely clean build (from a clean tar/gz extract) and you should be good.
-
i search since lot of months, i have post few messages in multiple forum........
all the time the make clean not work for me when i change ./configurei prefer delete folder and reextract qt source.
you must execute make clean after.? -
i will try
sudo apt-get uninstall libqt5*i don't understand all the time i will run this for build qt.
i have qt creator for create my application.i must install this after...
before i use other toolchain github/raspbi/tools.
-
no problems.
-
i'm sure that the qt folder is clean....
-
@kickoune103 There is an easy way to always have clean Qt sources: do out of source builds.
Explanation:mkdir ~/qt_build cd ~/qt_build PATH_TO_QT_SOURCES/configure... make make install
If you do it this way your Qt sources will be untouched.
Did you modify any environment variables like PATH and LD_LIBRARY_PATH? -
no when i retry a new build.
i will delete folder, and re extract source, browse in and "make".
-
@kickoune103 said in compile QT 5.8 raspberry OK, work but i can't deploy qt project:
i will try
sudo apt-get uninstall libqt5*i don't understand all the time i will run this for build qt.
i have qt creator for create my application.i must install this after...
before i use other toolchain github/raspbi/tools.
can you explain but solution in topic is delete remove libQT5.
qt5 is installed in my machine for deploy application so the solution is bad. -
https://forum.qt.io/topic/75682/has-anyone-successfully-built-qt-from-source-recently-on-a-pi/20
Check my second to last post in this topic. It has all the info you need to make sure your command uses the copy of Qt that you want and does not mix it with your system Qt.
I've answered this at least 10 times in the last few months, so sorry for the link instead of just typing it all out again. It gets old. :)
-
Remove your existing icu libs in raspberry PI. Download icu libs source and compile it from your PI.