Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 345139 - sys-libs/gwenhywfar-4.0.2 version bump (was: 4.0.1 fails to compile: outdated moc, private/qucomextra_p.h missing)
Summary: sys-libs/gwenhywfar-4.0.2 version bump (was: 4.0.1 fails to compile: outdated...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: High enhancement
Assignee: Hanno Böck
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-11 19:54 UTC by Martin von Gagern
Modified: 2010-12-15 20:37 UTC (History)
0 users

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


Attachments
emerge --info (sys-libs:gwenhywfar-4.0.1.emerge--info,6.11 KB, text/plain)
2010-11-11 19:54 UTC, Martin von Gagern
Details
build log (sys-libs:gwenhywfar-4.0.1:20101111-194847.log,153.46 KB, text/plain)
2010-11-11 19:55 UTC, Martin von Gagern
Details
Fix autodetection of qt4_dir (gentoo345139a.patch,1.66 KB, patch)
2010-11-12 07:25 UTC, Martin von Gagern
Details | Diff
Ebuild for sys-libs/gwenhywfar-4.0.2 (gwenhywfar-4.0.2.ebuild,1.49 KB, text/plain)
2010-11-19 22:06 UTC, Jochen Bauer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin von Gagern 2010-11-11 19:54:37 UTC
Emerging sys-libs/gwenhywfar-4.0.1 fails for me:

make[4]: Entering directory `/var/tmp/portage/sys-libs/gwenhywfar-4.0.1/work/gwenhywfar-4.0.1/gui/qt4'
/bin/sh ../../libtool --tag=CXX   --mode=compile x86_64-pc-linux-gnu-g++ -DBUILDING_QT4_GUI -I. -I../.. -I../../gwenhywfar4 -I/usr/include/q
t4 -I/usr/include/qt4/Qt -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -fvisibility=hidden   -march=amdfam10 -O2 -ggdb -pipe -Wall -Wal
l -c -o qt4dialogbox.lo qt4dialogbox.cpp
libtool: compile:  x86_64-pc-linux-gnu-g++ -DBUILDING_QT4_GUI -I. -I../.. -I../../gwenhywfar4 -I/usr/include/qt4 -I/usr/include/qt4/Qt -I/us
r/include/qt4/QtCore -I/usr/include/qt4/QtGui -fvisibility=hidden -march=amdfam10 -O2 -ggdb -pipe -Wall -Wall -c qt4dialogbox.cpp  -fPIC -DP
IC -o .libs/qt4dialogbox.o
In file included from qt4dialogbox.cpp:220:
qt4dialogbox.moc:15:34: error: private/qucomextra_p.h: No such file or directory
qt4dialogbox.moc:17:2: error: #error "This file was generated using the moc from 3.3.8b. It"
qt4dialogbox.moc:18:2: error: #error "cannot be used with the include files from this version of Qt."
qt4dialogbox.moc:19:2: error: #error "(The moc has changed too much.)"
In file included from qt4dialogbox.cpp:220:
qt4dialogbox.moc:22: error: no ‘const char* QT4_DialogBox::className() const’ member function declared in class ‘QT4_DialogBox’
qt4dialogbox.moc:27: error: ‘QMetaObject* QT4_DialogBox::metaObj’ is not a static member of ‘class QT4_DialogBox’
qt4dialogbox.moc:28: error: ‘QMetaObjectCleanUp’ does not name a type
qt4dialogbox.moc:31: error: redefinition of ‘static QString QT4_DialogBox::tr(const char*, const char*)’
qt4dialogbox.hpp:21: error: ‘static QString QT4_DialogBox::tr(const char*, const char*)’ previously defined here
qt4dialogbox.moc:39: error: redefinition of ‘static QString QT4_DialogBox::trUtf8(const char*, const char*)’
qt4dialogbox.hpp:21: error: ‘static QString QT4_DialogBox::trUtf8(const char*, const char*)’ previously defined here
qt4dialogbox.moc:50: error: no ‘QMetaObject* QT4_DialogBox::staticMetaObject()’ member function declared in class ‘QT4_DialogBox’
qt4dialogbox.moc:74: error: no ‘void* QT4_DialogBox::qt_cast(const char*)’ member function declared in class ‘QT4_DialogBox’
qt4dialogbox.moc:81: error: ‘QUObject’ has not been declared
qt4dialogbox.moc:81: error: no ‘bool QT4_DialogBox::qt_invoke(int, int*)’ member function declared in class ‘QT4_DialogBox’
qt4dialogbox.moc:92: error: ‘QUObject’ has not been declared
qt4dialogbox.moc:92: error: no ‘bool QT4_DialogBox::qt_emit(int, int*)’ member function declared in class ‘QT4_DialogBox’
qt4dialogbox.moc:98: error: no ‘bool QT4_DialogBox::qt_property(int, int, QVariant*)’ member function declared in class ‘QT4_DialogBox’
qt4dialogbox.moc:103: error: no ‘bool QT4_DialogBox::qt_static_property(QObject*, int, int, QVariant*)’ member function declared in class ‘QT4_DialogBox’
make[4]: *** [qt4dialogbox.lo] Error 1
Comment 1 Martin von Gagern 2010-11-11 19:54:52 UTC
Created attachment 254035 [details]
emerge --info
Comment 2 Martin von Gagern 2010-11-11 19:55:34 UTC
Created attachment 254037 [details]
build log
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2010-11-11 20:03:26 UTC
It's propably failing because you have Qt3 installed from kde-sunset overlay.
Propably a WONTFIX unless you provide a patch for it.
Comment 4 Martin von Gagern 2010-11-12 07:25:16 UTC
Created attachment 254063 [details, diff]
Fix autodetection of qt4_dir

(In reply to comment #3)
> It's propably failing because you have Qt3 installed from kde-sunset overlay.
> Propably a WONTFIX unless you provide a patch for it.

Fair enough. I had only seen the include flags for the compiler all mentioning Qt4, and hadn't noticed the configure output referring to that moc command from qt3.

Here is a proposed fix, which I'll send upstream as well. The part of configure intended to automatically detect the qt4_dir is broken, causing the QTDIR environment variable to take precedence, which in turn is set by Qt3. Now the autodetection should work better.
Comment 5 Pedro Maia 2010-11-13 14:16:46 UTC
A possible fix workaround is to replace the ebuild src_configure() action for this:

src_configure() {
        local guis qt4conf
        use fox && guis="${guis} fox"
        use gtk && guis="${guis} gtk2"
        use qt4 && guis="${guis} qt4"

        use qt4 && qt4conf="--with-qt4-uic=/usr/bin/uic --with-qt4-moc=/usr/bin/moc"

        econf \
                --disable-dependency-tracking \
                --enable-ssl \
                --enable-visibility \
                $(use_enable debug) \
                $(use_enable doc full-doc) \
                --with-guis="${guis}" \
                ${qt4conf} \
                --with-docpath=/usr/share/doc/${PF}/apidoc
}
Comment 6 Martin von Gagern 2010-11-13 15:56:12 UTC
Upstream developer Martin Preuss has accepted my patch from comment #4 and committed it as r2017 in http://devel.aqbanking.de/svn/gwenhywfar/trunk.

(In reply to comment #5)
> A possible fix workaround is to replace the ebuild src_configure() action for
> this:
> 
> use qt4 && qt4conf="--with-qt4-uic=/usr/bin/uic --with-qt4-moc=/usr/bin/moc"

If one were to fix this at the ebuild level, as opposed to patching the configure script, I guess I'd rather pass QTDIR="/usr/$(get_libdir)/qt4" as an argument to configure. This is similar to the way aqbanking and qbankmanager do it, who pass QTDIR="/usr/$(get_libdir)/qt4". It's the setting of QTDIR that leads the current version to use Qt3.
Comment 7 Jochen Bauer 2010-11-19 22:06:12 UTC
Created attachment 254869 [details]
Ebuild for sys-libs/gwenhywfar-4.0.2

Changed the SRC to the new Version. Works
Comment 8 Hanno Böck gentoo-dev 2010-12-15 20:37:56 UTC
bump done