Qt Creator Build Error
-
Qt v5.3.1 (used both static and shared)
OS: CentOS 6.6
Qt Creator v.3.3Qt has been established on this machine since July of '14.
Recently, Qt Creator 3.0 quit functioning indicating a missing xcb library. This is after functioning fine for several months. I decided to try to update to the latest version of Qt Creator. Downloaded the sources from my account. Untarred.
QTDIR and path variable pointed to my static installation.
[sototech@obiwancentos qt-creator-enterprise-src-3.3.0]$ qmake -v
QMake version 3.0
Using Qt version 5.3.1 in /Qt/5.3.1_static/lib
qmake -r
...
completed with no error
make -j 2
...
/qt-creator-enterprise-src-3.3.0/lib/qtcreator/libqbscore.a(qmljsrewriter.o): In functionQbsQmlJS::Rewriter::includeLeadingEmptyLine(QString const&, int&)': qmljsrewriter.cpp:(.text+0x196): undefined reference to
QTextDocument::QTextDocument(QString const&, QObject*)'
qmljsrewriter.cpp:(.text+0x1a8): undefined reference toQTextDocument::characterAt(int) const' qmljsrewriter.cpp:(.text+0x1b6): undefined reference to
QTextDocument::~QTextDocument()'
qmljsrewriter.cpp:(.text+0x1fc): undefined reference toQTextCursor::QTextCursor(QTextDocument*)' qmljsrewriter.cpp:(.text+0x209): undefined reference to
QTextCursor::setPosition(int, QTextCursor::MoveMode)'
qmljsrewriter.cpp:(.text+0x211): undefined reference toQTextCursor::blockNumber() const' qmljsrewriter.cpp:(.text+0x220): undefined reference to
QTextCursor::block() const'
qmljsrewriter.cpp:(.text+0x230): undefined reference toQTextBlock::previous() const' qmljsrewriter.cpp:(.text+0x240): undefined reference to
QTextBlock::text() const'
qmljsrewriter.cpp:(.text+0x26c): undefined reference toQTextBlock::position() const' qmljsrewriter.cpp:(.text+0x27f): undefined reference to
QTextCursor::~QTextCursor()'
qmljsrewriter.cpp:(.text+0x2a9): undefined reference toQTextCursor::~QTextCursor()' qmljsrewriter.cpp:(.text+0x2b1): undefined reference to
QTextDocument::~QTextDocument()'
/home/sototech/qt-creator-enterprise-src-3.3.0/lib/qtcreator/libqbscore.a(changeset.o): In functionQbsQmlJS::ChangeSet::textAt(int, int)': changeset.cpp:(.text+0x133): undefined reference to
QTextCursor::setPosition(int, QTextCursor::MoveMode)'
changeset.cpp:(.text+0x149): undefined reference toQTextCursor::setPosition(int, QTextCursor::MoveMode)' changeset.cpp:(.text+0x155): undefined reference to
QTextCursor::selectedText() const'
/home/sototech/qt-creator-enterprise-src-3.3.0/lib/qtcreator/libqbscore.a(changeset.o): In functionQbsQmlJS::ChangeSet::doReplace(QbsQmlJS::ChangeSet::EditOp const&, QList<QbsQmlJS::ChangeSet::EditOp>*)': changeset.cpp:(.text+0x487): undefined reference to
QTextCursor::setPosition(int, QTextCursor::MoveMode)'
changeset.cpp:(.text+0x49b): undefined reference toQTextCursor::setPosition(int, QTextCursor::MoveMode)' /home/sototech/qt-creator-enterprise-src-3.3.0/lib/qtcreator/libqbscore.a(changeset.o): In function
QbsQmlJS::ChangeSet::apply_helper()':
changeset.cpp:(.text+0xa69): undefined reference toQTextCursor::beginEditBlock()' changeset.cpp:(.text+0xb9f): undefined reference to
QTextCursor::endEditBlock()'
/home/sototech/qt-creator-enterprise-src-3.3.0/lib/qtcreator/libqbscore.a(changeset.o): In functionQbsQmlJS::ChangeSet::doReplace(QbsQmlJS::ChangeSet::EditOp const&, QList<QbsQmlJS::ChangeSet::EditOp>*)': changeset.cpp:(.text+0x4b2): undefined reference to
QTextCursor::insertText(QString const&)'
collect2: ld returned 1 exit status
make[3]: *** [../../../../../../bin/qbs] Error 1
make[3]: Leaving directory/home/sototech/qt-creator-enterprise-src-3.3.0/src/shared/qbs/src/app/qbs' make[2]: *** [sub-qbs-make_first] Error 2 make[2]: Leaving directory
/home/sototech/qt-creator-enterprise-src-3.3.0/src/shared/qbs/src/app'
make[1]: *** [sub-shared-qbs-src-app-make_first-ordered] Error 2
make[1]: Leaving directory `/home/sototech/qt-creator-enterprise-src-3.3.0/src'
make: *** [sub-src-make_first-ordered] Error 2Reset to shared version of Qt 5.3.1
logged out and back in
[sototech@obiwancentos ~]$ qmake -v
QMake version 3.0
Using Qt version 5.3.1 in /Qt/5.3.1_shared/lib
Removed the old sources.
Untarred the sources again.
qmake -r
make -j 2
...
ln -s libQtcSsh.so.1.0.0 libQtcSsh.so
ln -s libQtcSsh.so.1.0.0 libQtcSsh.so.1
ln -s libQtcSsh.so.1.0.0 libQtcSsh.so.1.0
rm -f ../../../lib/qtcreator/libQtcSsh.so.1.0.0
mv -f libQtcSsh.so.1.0.0 ../../../lib/qtcreator/
rm -f ../../../lib/qtcreator/libQtcSsh.so
rm -f ../../../lib/qtcreator/libQtcSsh.so.1
rm -f ../../../lib/qtcreator/libQtcSsh.so.1.0
mv -f libQtcSsh.so ../../../lib/qtcreator/
mv -f libQtcSsh.so.1 ../../../lib/qtcreator/
mv -f libQtcSsh.so.1.0 ../../../lib/qtcreator/
make[3]: Leaving directory/home/sototech/qt-creator-enterprise-src-3.3.0/src/libs/ssh' make[2]: Leaving directory
/home/sototech/qt-creator-enterprise-src-3.3.0/src/libs'
make[1]: *** [sub-libs-make_first-ordered] Error 2
make[1]: Leaving directory `/home/sototech/qt-creator-enterprise-src-3.3.0/src'
make: *** [sub-src-make_first-ordered] Error 2Did not see any errors previous to this one.
I'm clueless.
Anybody have a clue that can help?Karl
-
This is an update:
I upgraded gcc to 4.7.1 using dev tools.
I was then able to complete the build of qtcreator.
However when I run it I get the following:./qtcreator&
[1] 51322This application failed to start because it could not find or load the Qt platform plugin "xcb".Available platform plugins are: linuxfb, minimal, offscreen, xcb.
Reinstalling the application may fix this problem
So it claims is can't find the xcb plugin from its own plugin list. I'm assuming this means libxcb is missing an dependency. I'll check on that next.