I try to emerge qtcore-5.9999 from qt overlay. grep include /var/tmp/portage/dev-qt/qtcore-5.9999/temp/build.log|grep qconfig.h install -m 644 -p /var/tmp/portage/dev-qt/qtcore-5.9999/work/qtcore-5.9999_build/src/corelib/global/qconfig.h /var/tmp/portage/dev-qt/qtcore-5.9999/image//usr/include/QtCore/ sed: can't read /var/tmp/portage/dev-qt/qtcore-5.9999/image//usr/include/qt5/QtCore/qconfig.h: No such file or directory * sed -i -e '1i #include <Gentoo/gentoo-qconfig.h> Here all uses the right path: grep include /var/tmp/portage/dev-qt/qtcore-5.5.1/temp/build.log|grep qconfig.h install -m 644 -p /var/tmp/portage/dev-qt/qtcore-5.5.1/work/qtbase-opensource-src-5.5.1/src/corelib/global/qconfig.h /var/tmp/portage/dev-qt/qtcore-5.5.1/image//usr/include/qt5/QtCore/ >>> /usr/include/qt5/QtCore/qconfig.h >>> /usr/include/qt5/Gentoo/gentoo-qconfig.h
Created attachment 417338 [details, diff] patch for qt/eclass/qt5-build.eclass I had to make some changes to qt/eclass/qt5-build.eclass to get so far.
after disabling these lines in /var/lib/layman/qt/eclass/qt5-build.eclass it went on. +# sed -i -e '1i #include <Gentoo/gentoo-qconfig.h>\n' \ +# "${D}${QT5_HEADERDIR}"/QtCore/qconfig.h \ +# || die "sed failed (qconfig.h)" So it seems QT5_HEADERDIR is wrong when live ebuild. Next I get: * Detected file collision(s): * * /usr/bin/moc * /usr/bin/rcc * /usr/bin/qlalr * * Searching all installed packages for file collisions... * * Press Ctrl-C to Stop * * dev-qt/qtchooser-9999:0::qt * /usr/bin/moc * /usr/bin/qlalr * /usr/bin/rcc * * Package 'dev-qt/qtcore-5.9999' NOT merged due to file collisions. If * necessary, refer to your elog messages for the whole content of the * above message.
After unmerging qtchooser I could do: ebuild /var/lib/layman/qt/dev-qt/qtcore/qtcore-5.9999.ebuild merge * Regenerating gentoo-qconfig.h * Updating QT_CONFIG in qconfig.pri * /usr/lib64/qt5/mkspecs/qconfig.pri does not exist or is not a regular file >>> dev-qt/qtcore-5.9999 merged.
Guess what... And now for qtchooser: * Detected file collision(s): * * /usr/bin/moc * /usr/bin/rcc * /usr/bin/qlalr * * Searching all installed packages for file collisions... * * Press Ctrl-C to Stop * * dev-qt/qtcore-5.9999:5::qt * /usr/bin/moc * /usr/bin/qlalr * /usr/bin/rcc * * Package 'dev-qt/qtchooser-9999' NOT merged due to file collisions. If * necessary, refer to your elog messages for the whole content of the * above message.
I removed some obsolete configure options in https://gitweb.gentoo.org/proj/qt.git/commit/?id=e7965ab4d0f98974f7abb148bcf00abafd6d698f but I cannot make sense of the rest of your report. Please pull and try again, this time attach a full build log maybe...
Created attachment 417380 [details] build.log ... cp -f -R /var/tmp/portage/dev-qt/qtcore-5.9999/work/qtcore-5.9999/mkspecs/winrt-arm-msvc2015 /var/tmp/portage/dev-qt/qtcore-5.9999/image//usr/mkspecs/ cp -f -R /var/tmp/portage/dev-qt/qtcore-5.9999/work/qtcore-5.9999/mkspecs/winrt-x64-msvc2013 /var/tmp/portage/dev-qt/qtcore-5.9999/image//usr/mkspecs/ cp -f -R /var/tmp/portage/dev-qt/qtcore-5.9999/work/qtcore-5.9999/mkspecs/winrt-x64-msvc2015 /var/tmp/portage/dev-qt/qtcore-5.9999/image//usr/mkspecs/ cp -f -R /var/tmp/portage/dev-qt/qtcore-5.9999/work/qtcore-5.9999/mkspecs/winrt-x86-msvc2013 /var/tmp/portage/dev-qt/qtcore-5.9999/image//usr/mkspecs/ cp -f -R /var/tmp/portage/dev-qt/qtcore-5.9999/work/qtcore-5.9999/mkspecs/winrt-x86-msvc2015 /var/tmp/portage/dev-qt/qtcore-5.9999/image//usr/mkspecs/ make: *** No rule to make target 'install_qmake'. Stop. * ERROR: dev-qt/qtcore-5.9999::qt failed (install phase): * emake failed For this I removed qmake in /var/lib/layman/qt/eclass/qt5-build.eclass - set -- emake INSTALL_ROOT="${D}" install_{global_docs,mkspecs,qmake,syncqt} + set -- emake INSTALL_ROOT="${D}" install_{global_docs,mkspecs,syncqt}
(In reply to jospezial from comment #6) > For this I removed qmake in /var/lib/layman/qt/eclass/qt5-build.eclass > > - set -- emake INSTALL_ROOT="${D}" > install_{global_docs,mkspecs,qmake,syncqt} > + set -- emake INSTALL_ROOT="${D}" > install_{global_docs,mkspecs,syncqt} This is clearly wrong... you cannot simply stop installing qmake. What happened is that the qmake install target was recently moved from the top-level qtbase.pro to qmake/qmake-aux.pro, so the target name changed from install_qmake to something else.
And why does it take the wrong path at include files install?
*** Bug 573682 has been marked as a duplicate of this bug. ***
*** Bug 574640 has been marked as a duplicate of this bug. ***
I get the same as in #6 with dev-qt/qtcore-5.7.0_alpha:5/5.7::qt * Running emake INSTALL_ROOT=/var/tmp/portage/dev-qt/qtcore-5.7.0_alpha/image/ install_global_docs install_mkspecs install_qmake install_syncqt make -j5 INSTALL_ROOT=/var/tmp/portage/dev-qt/qtcore-5.7.0_alpha/image/ install_global_docs install_mkspecs install_qmake install_syncqt make: *** No rule to make target 'install_qmake'. Stop.
If I a readd these lines from 5.6.0 to qtbase.pro then all installs as always. #qmake qmake.path = $$[QT_HOST_BINS] equals(QMAKE_HOST.os, Windows) { qmake.files = $$OUT_PWD/bin/qmake.exe } else { qmake.files = $$OUT_PWD/bin/qmake } INSTALLS += qmake
(In reply to jospezial from comment #12) > If I a readd these lines from 5.6.0 to qtbase.pro then all installs as > always. This is a very ugly hack, and obviously cannot be included in our eclass/ebuilds.
As of commit 154f21fa9b3677d079ddf1ac5bad5cbedf792ee7, qtcore compiles and installs successfully for me. I also fixed several other smaller issues in the preceding commits.