Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 566196 - [qt overlay] >=dev-qt/qtcore-5.7.0_alpha - follow recent upstream build system changes
Summary: [qt overlay] >=dev-qt/qtcore-5.7.0_alpha - follow recent upstream build syste...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
: 573682 574640 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-11-19 10:54 UTC by jospezial
Modified: 2016-03-13 21:42 UTC (History)
2 users (show)

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


Attachments
patch for qt/eclass/qt5-build.eclass (file_566196.txt,1.05 KB, patch)
2015-11-19 10:58 UTC, jospezial
Details | Diff
build.log (build.log,985.29 KB, text/plain)
2015-11-19 20:51 UTC, jospezial
Details

Note You need to log in before you can comment on or make changes to this bug.
Description jospezial 2015-11-19 10:54:14 UTC
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
Comment 1 jospezial 2015-11-19 10:58:15 UTC
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.
Comment 2 jospezial 2015-11-19 12:58:06 UTC
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.
Comment 3 jospezial 2015-11-19 13:03:17 UTC
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.
Comment 4 jospezial 2015-11-19 13:13:39 UTC
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.
Comment 5 Davide Pesavento gentoo-dev 2015-11-19 17:15:52 UTC
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...
Comment 6 jospezial 2015-11-19 20:51:45 UTC
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}
Comment 7 Davide Pesavento gentoo-dev 2015-11-20 02:34:28 UTC
(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.
Comment 8 jospezial 2015-11-20 09:47:28 UTC
And why does it take the wrong path at include files install?
Comment 9 Davide Pesavento gentoo-dev 2016-02-05 01:17:01 UTC
*** Bug 573682 has been marked as a duplicate of this bug. ***
Comment 10 Michael Palimaka (kensington) gentoo-dev 2016-02-13 15:56:41 UTC
*** Bug 574640 has been marked as a duplicate of this bug. ***
Comment 11 jospezial 2016-03-12 03:25:07 UTC
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.
Comment 12 jospezial 2016-03-12 05:59:54 UTC
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
Comment 13 Davide Pesavento gentoo-dev 2016-03-12 13:10:04 UTC
(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.
Comment 14 Davide Pesavento gentoo-dev 2016-03-13 21:42:00 UTC
As of commit 154f21fa9b3677d079ddf1ac5bad5cbedf792ee7, qtcore compiles and installs successfully for me. I also fixed several other smaller issues in the preceding commits.