[Slackbuilds-users] Qt5 build failure

Duncan Roe duncan_roe at optusnet.com.au
Sat Aug 31 07:33:32 UTC 2019


Hi,

When building qt5 5.9.8, this error appeared:

> g++ -L/usr/lib64 -Wl,--no-undefined -Wl,-O1 -Wl,--enable-new-dtags -shared -o libqsqltds.so .obj/qsql_tds.o .obj/main.o .obj/moc_qsql_tds_p.o  -L/tmp/SBo/qt-everywhere-opensource-src-5.9.8/qtbase/lib -lQt5Sql -lQt5Core -lpthread -L/opt/sybase/lib
> .obj/qsql_tds.o: In function `qFieldType(QTDSResultPrivate*, int)':
> qsql_tds.cpp:(.text+0x34f): undefined reference to `dbcoltype'
> .obj/qsql_tds.o: In function `QTDSDriver::init()':
> qsql_tds.cpp:(.text+0x426): undefined reference to `dbinit'
> qsql_tds.cpp:(.text+0x43c): undefined reference to `dberrhandle'
> .obj/qsql_tds.o: In function `QTDSDriver::~QTDSDriver()':
> qsql_tds.cpp:(.text+0x805): undefined reference to `dberrhandle'
> qsql_tds.cpp:(.text+0x80c): undefined reference to `dbmsghandle'
> qsql_tds.cpp:(.text+0x811): undefined reference to `dbexit'
> .obj/qsql_tds.o: In function `QTDSDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&)':
> qsql_tds.cpp:(.text+0x892): undefined reference to `dblogin'
> qsql_tds.cpp:(.text+0x8e1): undefined reference to `dbsetlname'
> qsql_tds.cpp:(.text+0x938): undefined reference to `dbsetlname'
> qsql_tds.cpp:(.text+0x978): undefined reference to `tdsdbopen'
> qsql_tds.cpp:(.text+0x9bf): undefined reference to `dbuse'
> qsql_tds.cpp:(.text+0x9e9): undefined reference to `dbclose'
> .obj/qsql_tds.o: In function `QTDSDriver::close()':
> qsql_tds.cpp:(.text+0xc18): undefined reference to `dbloginfree'
> .obj/qsql_tds.o: In function `qTdsErrHandler':
> qsql_tds.cpp:(.text+0x163f): undefined reference to `dbdead'
> .obj/qsql_tds.o: In function `QTDSResult::cleanup()':
> qsql_tds.cpp:(.text+0x1f69): undefined reference to `dbcanquery'
> qsql_tds.cpp:(.text+0x1f76): undefined reference to `dbfreebuf'
> .obj/qsql_tds.o: In function `QTDSResult::reset(QString const&)':
> qsql_tds.cpp:(.text+0x205b): undefined reference to `dbcmd'
> qsql_tds.cpp:(.text+0x2085): undefined reference to `dbsqlexec'
> qsql_tds.cpp:(.text+0x2095): undefined reference to `dbresults'
> qsql_tds.cpp:(.text+0x20b6): undefined reference to `dbfreebuf'
> qsql_tds.cpp:(.text+0x210f): undefined reference to `dbcmdrow'
> qsql_tds.cpp:(.text+0x212a): undefined reference to `dbnumcols'
> qsql_tds.cpp:(.text+0x2191): undefined reference to `dbcoltype'
> qsql_tds.cpp:(.text+0x21b6): undefined reference to `dbcolname'
> qsql_tds.cpp:(.text+0x222a): undefined reference to `dbcollen'
> qsql_tds.cpp:(.text+0x228d): undefined reference to `dbbind'
> qsql_tds.cpp:(.text+0x2395): undefined reference to `dbbind'
> qsql_tds.cpp:(.text+0x23ab): undefined reference to `dbcollen'
> qsql_tds.cpp:(.text+0x23c8): undefined reference to `dbcollen'
> qsql_tds.cpp:(.text+0x23e2): undefined reference to `dbbind'
> qsql_tds.cpp:(.text+0x2415): undefined reference to `dbbind'
> qsql_tds.cpp:(.text+0x242b): undefined reference to `dbcollen'
> qsql_tds.cpp:(.text+0x2448): undefined reference to `dbcollen'
> qsql_tds.cpp:(.text+0x2462): undefined reference to `dbbind'
> qsql_tds.cpp:(.text+0x2480): undefined reference to `dbcolname'
> qsql_tds.cpp:(.text+0x2578): undefined reference to `dbnullbind'
> .obj/qsql_tds.o: In function `QTDSResult::gotoNext(QVector<QVariant>&, int)':
> qsql_tds.cpp:(.text+0x2ed3): undefined reference to `dbnextrow'
> .obj/qsql_tds.o: In function `QTDSResult::~QTDSResult()':
> qsql_tds.cpp:(.text+0x36f9): undefined reference to `dbclose'
> .obj/qsql_tds.o: In function `QTDSResult::QTDSResult(QTDSDriver const*)':
> qsql_tds.cpp:(.text+0x3970): undefined reference to `tdsdbopen'
> qsql_tds.cpp:(.text+0x39f9): undefined reference to `dbuse'
> qsql_tds.cpp:(.text+0x3b7a): undefined reference to `dbcmd'
> qsql_tds.cpp:(.text+0x3b86): undefined reference to `dbsqlexec'
> .obj/qsql_tds.o: In function `QTDSResult::numRowsAffected()':
> qsql_tds.cpp:(.text+0x1c): undefined reference to `dbcount'
> .obj/qsql_tds.o: In function `QTDSDriver::init()':
> qsql_tds.cpp:(.text+0x449): undefined reference to `dbmsghandle'
> collect2: error: ld returned 1 exit status

Looking back, I found I had the same problem with qt5 5.9.7, but must have
gotten around it somehow.

I have freetds installed, and found that the missing references were all
satisfied by libsybdb from that package.

After patching
/tmp/SBo/qt-everywhere-opensource-src-5.9.8/qtbase/src/plugins/sqldrivers/tds/Makefile
as follows:

> 40c40
> < LFLAGS        = -L/usr/lib64 -Wl,--no-undefined -Wl,-O1 -Wl,--enable-new-dtags -shared
> ---
> > LFLAGS        = -L/usr/lib64 -Wl,--no-undefined -Wl,-O1 -Wl,--enable-new-dtags -shared -lsybdb

"make" proceeds.

I don't know is this is an upstream problem with configure or what.

Cheers ... Duncan.


More information about the SlackBuilds-users mailing list