Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 582948 - dev-qt/qtcore-5.6.0 with gcc-6 breaks build of net-p2p/qbittorrent-3.3.4-r1 and possibly others
Summary: dev-qt/qtcore-5.6.0 with gcc-6 breaks build of net-p2p/qbittorrent-3.3.4-r1 a...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL: https://bugreports.qt.io/browse/QTBUG...
Whiteboard:
Keywords: UPSTREAM
Depends on:
Blocks: gcc-6
  Show dependency tree
 
Reported: 2016-05-13 22:48 UTC by Peter Levine
Modified: 2023-10-01 06:34 UTC (History)
1 user (show)

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


Attachments
qtcore-5.6.0-no-default-isystem.patch (qtcore-5.6.0-no-default-isystem.patch,3.81 KB, patch)
2016-05-14 00:38 UTC, Peter Levine
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Levine 2016-05-13 22:48:16 UTC
Due to the following revision, http://code.qt.io/cgit/qt/qtbase.git/commit?id=0b144bc76a368ecc6c5c1121a1b51e888a0621ac, qmake now includes "-isystem /usr/include".  This is not a problem for gcc prior to gcc-6 but due to changes in how gcc-6 handles inclusion of <math.h> and <stdlib.h> (see https://gcc.gnu.org/gcc-6/porting_to.html) this leads to a bug.

In net-p2p/qbittorrent-3.3.4-r1 for instance:

>In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.1.0/include/g++-v6/bits/stl_algo.h:59:0,
>                 from /usr/lib/gcc/x86_64-pc-linux-gnu/6.1.0/include/g++-v6/algorithm:62,
>                 from /usr/include/qt5/QtCore/qglobal.h:85,
>                 from /usr/include/qt5/QtCore/qalgorithms.h:37,
>                 from /usr/include/qt5/QtCore/qlist.h:37,
>                 from /usr/include/qt5/QtCore/qstringlist.h:34,
>                 from /usr/include/qt5/QtCore/QStringList:1,
>                 from base/http/requestparser.cpp:32:
>/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.0/include/g++-v6/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
> #include_next <stdlib.h>

The bug had been filed with GCC upstream, marked as WONTFIX:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129

I filed a bug with QT:
https://bugreports.qt.io/browse/QTBUG-53375
Comment 1 Peter Levine 2016-05-14 00:38:37 UTC
Created attachment 434230 [details, diff]
qtcore-5.6.0-no-default-isystem.patch

Based on https://codereview.qt-project.org/#/c/159215 pending review
Comment 2 Peter Levine 2016-05-21 01:00:53 UTC
Apparently, it is the responsibility of packages using qmake to ensure that "/usr/include" is not included in INCLUDEPATH, as it will become "-isystem /usr/include" and ruin building with gcc-6 (see https://bugreports.qt.io/browse/QTBUG-53367).


Filing this as a new bug:
https://bugs.gentoo.org/show_bug.cgi?id=583626