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
Created attachment 254035 [details] emerge --info
Created attachment 254037 [details] build log
It's propably failing because you have Qt3 installed from kde-sunset overlay. Propably a WONTFIX unless you provide a patch for it.
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.
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 }
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.
Created attachment 254869 [details] Ebuild for sys-libs/gwenhywfar-4.0.2 Changed the SRC to the new Version. Works
bump done