Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 477416 - =dev-qt/qthelp-4.8.5* .../work/qt-everywhere-opensource-src-4.8.5/tools/assistant/lib/qhelpgenerator.cpp:225: undefined reference to `QDataStream::QDataStream(QByteArray*, int)'
Summary: =dev-qt/qthelp-4.8.5* .../work/qt-everywhere-opensource-src-4.8.5/tools/assis...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
: 477852 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-07-19 17:50 UTC by Xavier Miller (RETIRED)
Modified: 2013-08-01 16:18 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emerge-info.txt,4.96 KB, text/plain)
2013-07-19 17:52 UTC, Xavier Miller (RETIRED)
Details
build log (build.log,268.67 KB, text/x-log)
2013-07-19 17:53 UTC, Xavier Miller (RETIRED)
Details
build.log (build-r2.log.gz,16.26 KB, application/gzip)
2013-08-01 15:18 UTC, Oleh
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Xavier Miller (RETIRED) gentoo-dev 2013-07-19 17:50:51 UTC
ctdata.o .obj/release-shared/qhelpcollectionhandler.o .obj/release-shared/qhelpsearchengine.o .obj/release-shared/qhelpsearchquerywidget.o .obj/release-shared/qhelpsearchresultwidget.o .obj/release-shared/qhelpsearchindex_default.o .obj/release-shared/qhelpsearchindexwriter_default.o .obj/release-shared/qhelpsearchindexreader_default.o .obj/release-shared/qhelpsearchindexreader.o .obj/release-shared/qclucenefieldnames.o .obj/release-shared/qhelp_global.o .obj/release-shared/qhelpsearchindexwriter_clucene.o .obj/release-shared/qhelpsearchindexreader_clucene.o .obj/release-shared/moc_qhelpenginecore.o .obj/release-shared/moc_qhelpengine.o .obj/release-shared/moc_qhelpengine_p.o .obj/release-shared/moc_qhelpdbreader_p.o .obj/release-shared/moc_qhelpcontentwidget.o .obj/release-shared/moc_qhelpindexwidget.o .obj/release-shared/moc_qhelpgenerator_p.o .obj/release-shared/moc_qhelpcollectionhandler_p.o .obj/release-shared/moc_qhelpsearchengine.o .obj/release-shared/moc_qhelpsearchquerywidget.o .obj/release-shared/moc_qhelpsearchresultwidget.o .obj/release-shared/moc_qhelpsearchindexwriter_default_p.o .obj/release-shared/moc_qhelpsearchindexreader_default_p.o .obj/release-shared/moc_qhelpsearchindexreader_p.o .obj/release-shared/moc_qhelpsearchindexwriter_clucene_p.o .obj/release-shared/moc_qhelpsearchindexreader_clucene_p.o .obj/release-shared/qrc_helpsystem.o   -L/usr/lib64 -L/var/tmp/portage/dev-qt/qthelp-4.8.5-r1/work/qt-everywhere-opensource-src-4.8.5/lib -L/usr/lib64/qt4 -lQtSql -L/usr/lib64 -lQtGui -L/usr/X11R6/lib -lQtNetwork -lQtCore -lgthread-2.0 -lglib-2.0 -lpthread -lQtCLucene 
.obj/release-shared/qhelpgenerator.o: In function `QHelpGenerator::generate(QHelpDataInterface*, QString const&)':
qhelpgenerator.cpp:(.text+0x965a): undefined reference to `QDataStream::QDataStream(QByteArray*, int)'
.obj/release-shared/qhelpsearchindexwriter_clucene.o: In function `fulltextsearch::clucene::QHelpSearchIndexWriter::writeIndexMap(QHelpEngineCore&, QMap<QString, QDateTime> const&)':
qhelpsearchindexwriter_clucene.cpp:(.text+0x6cf): undefined reference to `QDataStream::QDataStream(QByteArray*, int)'
collect2: error: ld returned 1 exit status
make: *** [../../../lib/libQtHelp.so.4.8.5] Error 1
 * ERROR: dev-qt/qthelp-4.8.5-r1 failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=dev-qt/qthelp-4.8.5-r1'`,
 * the complete build log and the output of `emerge -pqv '=dev-qt/qthelp-4.8.5-r1'`.
 * The complete build log is located at '/var/tmp/portage/dev-qt/qthelp-4.8.5-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-qt/qthelp-4.8.5-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-qt/qthelp-4.8.5-r1/work/qt-everywhere-opensource-src-4.8.5/tools/assistant/lib'
 * S: '/var/tmp/portage/dev-qt/qthelp-4.8.5-r1/work/qt-everywhere-opensource-src-4.8.5'

>>> Failed to emerge dev-qt/qthelp-4.8.5-r1, Log file:


Reproducible: Always
Comment 1 Xavier Miller (RETIRED) gentoo-dev 2013-07-19 17:52:22 UTC
Created attachment 353674 [details]
emerge --info
Comment 2 Xavier Miller (RETIRED) gentoo-dev 2013-07-19 17:53:02 UTC
Created attachment 353676 [details]
build log
Comment 3 Xavier Miller (RETIRED) gentoo-dev 2013-07-19 17:53:24 UTC
Same problem on a ~x86 machine
Comment 4 Xavier Miller (RETIRED) gentoo-dev 2013-07-19 18:41:01 UTC
Here are the QT core packages I have:

$ qlist -ICc dev-qt
dev-qt/qt-creator 2.8.0_rc
dev-qt/qtcore 4.8.5
dev-qt/qtdbus 4.8.5
dev-qt/qtdeclarative 4.8.5
dev-qt/qtgui 4.8.5
dev-qt/qthelp 4.8.4
dev-qt/qtopengl 4.8.5
dev-qt/qtscript 4.8.5
dev-qt/qtsql 4.8.5
dev-qt/qtsvg 4.8.5
dev-qt/qtxmlpatterns 4.8.5


dev-qt/qthelp is needed for qt-creator and is the last QT core package to upgrade.
Comment 5 Rafał Mużyło 2013-07-21 16:10:21 UTC
KDE strikes.

Adding 'qt3support' to IUSE and '$(qt_use qt3support)' in src_configure seems to fix the problem.

The question is whether it needs to be a useflag and if so, will qtcore need [qt3support=].

On that note: would it be possible to pull qt3to4 from qt3support into a separate package ? It doesn't need libQt3Support.
Comment 6 Xavier Miller (RETIRED) gentoo-dev 2013-07-21 18:17:27 UTC
Adding 'qt3support' to IUSE and '$(qt_use qt3support)' in src_configure seems to fix the problem for me too
Comment 7 Davide Pesavento (RETIRED) gentoo-dev 2013-07-21 20:18:15 UTC
(In reply to Rafał Mużyło from comment #5)
> KDE strikes.
> 
> Adding 'qt3support' to IUSE and '$(qt_use qt3support)' in src_configure
> seems to fix the problem.
> 
> The question is whether it needs to be a useflag and if so, will qtcore need
> [qt3support=].

Indeed, that needs to be investigated. It sounds weird to me that a qt module hard-requires qt3support, but I cannot exclude it either.

> 
> On that note: would it be possible to pull qt3to4 from qt3support into a
> separate package ? It doesn't need libQt3Support.

Uhm...why? It's just a very very tiny utility, splitting doesn't seem worth the effort...
Comment 8 Rafał Mużyło 2013-07-22 00:30:27 UTC
(In reply to Davide Pesavento from comment #7)
> (In reply to Rafał Mużyło from comment #5)
> > KDE strikes.
> > 
> > The question is whether it needs to be a useflag and if so, will qtcore need
> > [qt3support=].
> 
> Indeed, that needs to be investigated. It sounds weird to me that a qt
> module hard-requires qt3support, but I cannot exclude it either.
> 
That was meant "in either way". Obviously, it builds if qtgui[qt3support] and uses qt3suport symbols (if not the lib). Also, it builds with qtgui[-qt3support].
Now the thing to test is if it builds with forced no qt3support even if qtgui[qt3suport].

> > 
> > On that note: would it be possible to pull qt3to4 from qt3support into a
> > separate package ? It doesn't need libQt3Support.
> 
> Uhm...why? It's just a very very tiny utility, splitting doesn't seem worth
> the effort...

Well, I had this crazy idea that it would be possible to build porting qt3support tools without libQt3Suppport. Unfortunately, uic3 does require the lib and there seems to be no sane way to build the lib without qt3support symbols in the other libs (at least in ABI compatible way). Though qt3to4 is - as noted - clean in that regard.
Comment 9 Davide Pesavento (RETIRED) gentoo-dev 2013-07-23 14:01:59 UTC
*** Bug 477852 has been marked as a duplicate of this bug. ***
Comment 10 Xavier Miller (RETIRED) gentoo-dev 2013-07-31 15:53:55 UTC
Same problem with -r2.
Comment 11 Davide Pesavento (RETIRED) gentoo-dev 2013-07-31 18:13:48 UTC
The problem is that the compiler is picking up the
  QDataStream(QByteArray *, int mode);
constructor overload when QT3_SUPPORT is defined, instead of
  QDataStream(QByteArray *, QIODevice::OpenMode flags);
which would be more appropriate (it's well known that C++ enums are quirky).

The deprecated constructor is not needed since all callers actually pass a QIODevice::OpenMode, therefore I think we can just forcefully disable qt3support in qthelp.
Comment 12 Davide Pesavento (RETIRED) gentoo-dev 2013-08-01 06:46:21 UTC
(In reply to Davide Pesavento from comment #11)
> therefore I think we can just forcefully disable
> qt3support in qthelp.

Now implemented. Please report back if it works or not, or if it eats you $pet.
Comment 13 Oleh 2013-08-01 15:17:29 UTC
-r2 still failing. build.log attached
Comment 14 Oleh 2013-08-01 15:18:21 UTC
Created attachment 354834 [details]
build.log
Comment 15 Rafał Mużyło 2013-08-01 16:18:55 UTC
(In reply to Oleg from comment #14)
> Created attachment 354834 [details]
> build.log

Resync, your tree doesn't seem up to date.