Issue 30797: ./pyconfig.h:1438:0: warning: "_GNU_SOURCE" redefined [enabled by default]
Issue30797
Created on 2017-06-28 22:24 by Segev Finer, last changed 2022-04-11 14:58 by admin. This issue is now closed.
| Pull Requests | |||
|---|---|---|---|
| URL | Status | Linked | Edit |
| PR 2615 | merged | ned.deily, 2017-07-07 05:14 | |
| PR 2670 | merged | Segev Finer, 2017-07-11 18:00 | |
| PR 2671 | merged | Segev Finer, 2017-07-11 21:56 | |
| PR 2672 | merged | Segev Finer, 2017-07-11 21:57 | |
| Messages (7) | |||
|---|---|---|---|
| msg297238 - (view) | Author: Segev Finer (Segev Finer) * | Date: 2017-06-28 22:24 | |
This is caused by _GNU_SOURCE being defined here: https://github.com/python/cpython/blob/c08177a1ccad2ed0d50898c2731b518c631aed14/configure.ac#L124, But also getting defined by AC_USE_SYSTEM_EXTENSIONS (https://github.com/python/cpython/blob/c08177a1ccad2ed0d50898c2731b518c631aed14/configure.ac#L906). AC_USE_SYSTEM_EXTENSIONS does use an #ifndef but Python's AC_DEFINE seems to be getting order after it. |
|||
| msg297860 - (view) | Author: Ned Deily (ned.deily) * ![]() |
Date: 2017-07-07 05:31 | |
New changeset 05b72ede95521b2d897cb4c7b034139b5437c592 by Ned Deily in branch '3.6': bpo-30797, bpo-30694: Avoid _GNU_SOURCE redefined warning in xmlparse.c (#2615) https://github.com/python/cpython/commit/05b72ede95521b2d897cb4c7b034139b5437c592 |
|||
| msg297861 - (view) | Author: Ned Deily (ned.deily) * ![]() |
Date: 2017-07-07 05:53 | |
Thanks for the report. This warning is currently visible on many/all of the buildbots on all branches. The conflict is caused by the upgrade of the bundled to libexpat to version 2.2.1 (bpo-30694). 2.2.1 introduced a define of _GNU_SOURCE into Modules/expat/xmlparse.c. The definition in xmlparse is simply: #define _GNU_SOURCE But Python, in pyconfig.h, which ./configure generates from pyconfig.h.in, may already have defined _GNU_SOURCE thusly: #define _GNU_SOURCE 1 pyconfig.h gets included into our copy of Modules/expat/expat_config.h which is included later in xmlparse.c causing the compile warning. The simplest way to avoid the warning is to just change the definition in xmlparse.c to match that in pyconfig.h; the compilers don't complain if the definition is identical. I have now merged that fix into the 3.6 branch so builders of 3.6.2 won't see the warning. I will leave this open for @haypo to review and to handle merging into the other branches affected by bpo-30694 (master, 3.5, 2.7, 3.4, 3.3). |
|||
| msg297871 - (view) | Author: Ned Deily (ned.deily) * ![]() |
Date: 2017-07-07 08:37 | |
One more thing: building with a recent gcc on Linux:
$ gcc --version
gcc (Debian 6.3.0-18) 6.3.0 20170516
also gives an "unused but set variable" warning.
./Modules/expat/xmlparse.c: In function ‘gather_time_entropy’:
./Modules/expat/xmlparse.c:780:7: warning: variable ‘gettimeofday_res’ set but not used [-Wunused-but-set-variable]
int gettimeofday_res;
^~~~~~~~~~~~~~~~
Since I didn't see it in time, I didn't try to fix this for 3.6.2 but it would be best to silence it going forward.
|
|||
| msg297931 - (view) | Author: Ned Deily (ned.deily) * ![]() |
Date: 2017-07-08 04:51 | |
New changeset bdabd7666032ce356d550da21c35e4bee5b3448c by Ned Deily in branch '3.6': bpo-30797, bpo-30694: Avoid _GNU_SOURCE redefined warning in xmlparse.c (#2615) https://github.com/python/cpython/commit/bdabd7666032ce356d550da21c35e4bee5b3448c |
|||
| msg298185 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2017-07-11 22:16 | |
New changeset 884c4ca33ab84b9fc57338cf59f79e0436d3da43 by Victor Stinner (Segev Finer) in branch '2.7': [2.7] bpo-30797: Avoid _GNU_SOURCE redefined warning in xmlparse.c (GH-2670) (#2672) https://github.com/python/cpython/commit/884c4ca33ab84b9fc57338cf59f79e0436d3da43 |
|||
| msg298236 - (view) | Author: Segev Finer (Segev Finer) * | Date: 2017-07-12 17:11 | |
The fix is now in 3.5-3.7 and 2.7, unless you intend to also back port to 3.4 and 3.3, this can be closed. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:58:48 | admin | set | github: 74980 |
| 2017-07-16 08:55:23 | ned.deily | set | status: open -> closed resolution: fixed stage: backport needed -> resolved |
| 2017-07-12 17:11:11 | Segev Finer | set | messages: + msg298236 |
| 2017-07-11 22:16:30 | vstinner | set | messages: + msg298185 |
| 2017-07-11 21:57:25 | Segev Finer | set | pull_requests: + pull_request2740 |
| 2017-07-11 21:56:31 | Segev Finer | set | pull_requests: + pull_request2739 |
| 2017-07-11 18:00:20 | Segev Finer | set | pull_requests: + pull_request2736 |
| 2017-07-08 04:51:39 | ned.deily | set | messages: + msg297931 |
| 2017-07-07 08:37:04 | ned.deily | set | messages: + msg297871 |
| 2017-07-07 05:53:16 | ned.deily | set | assignee: vstinner type: compile error -> versions: + Python 2.7, Python 3.3, Python 3.4, Python 3.5, Python 3.6 nosy: + vstinner messages:
+ msg297861 |
| 2017-07-07 05:31:46 | ned.deily | set | nosy:
+ ned.deily messages: + msg297860 |
| 2017-07-07 05:14:18 | ned.deily | set | pull_requests: + pull_request2680 |
| 2017-06-28 22:24:05 | Segev Finer | create | |
