homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Can't compile gdb with Python 3.6
Type: Stage: resolved
Components: Interpreter Core Versions: Python 3.7, Python 3.6
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: benjamin.peterson, cstratak, ned.deily, python-dev, vstinner
Priority: Keywords: 3.6regression

Created on 2016年12月07日 18:14 by cstratak, last changed 2022年04月11日 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
fix-gdb-compilation.patch cstratak, 2016年12月07日 18:14 review
Messages (10)
msg282649 - (view) Author: Charalampos Stratakis (cstratak) * Date: 2016年12月07日 18:14
Trying to compile gdb, with python support and by having it depend on Python 3.6 produces an error that the HAVE_LONG_LONG has been redefined [0].
This seems to have been introduced by this commit [1].
I'm in no way expert on gdb, but from what I could deduct from the build logs, the #define HAVE_LONG_LONG line in pyport.h [2] is the issue, as gdb also sets the same constant to 1 [3][4]
I build python and gdb as rpm's, but I can't verify if it happens as well outside this environment. Could someone more experienced with gdb take a look at it?
The issue seems to be fixed by wrapping the #define HAVE_LONG_LONG with an #ifndef HAVE_LONG_LONG
Attaching a patch for consideration
[0] https://copr-be.cloud.fedoraproject.org/results/cstratak/python3.6/fedora-26-x86_64/00485858-gdb/build.log.gz
[1] https://hg.python.org/cpython/rev/cf6e9968ebb7/
[2] https://hg.python.org/cpython/file/tip/Include/pyport.h#l42
[3] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=gdb/config.in;h=3f8a72326b5d32db6ad8966c05045e248f955498;hb=HEAD#l282
[4] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=gdb/configure;h=6df88d9049b546a9e906b943f67374dc90d90d6d;hb=HEAD#l11662 
msg282695 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016年12月08日 07:55
New changeset 4745d801cae2 by Benjamin Peterson in branch '3.6':
guard HAVE_LONG_LONG definition to prevent redefinition (#28898)
https://hg.python.org/cpython/rev/4745d801cae2
New changeset 1afc3f4f5502 by Benjamin Peterson in branch 'default':
merge 3.6 (#28898)
https://hg.python.org/cpython/rev/1afc3f4f5502 
msg282696 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2016年12月08日 07:55
I think we should take this for 3.6.
msg282713 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2016年12月08日 16:02
The pushed change 4745d801cae2 LGTM for a cherry-pick in 3.6.0.
msg282753 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2016年12月09日 01:48
Oh, the problem has introduced a crash on OpenIndiana:
---
Fatal Python error: Aborted
Current thread 0x0000000000000001 (most recent call first):
 File "/export/home/buildbot/64bits/3.x.cea-indiana-amd64/build/Lib/ctypes/__init__.py", line 273 in _reset_cache
...
---
http://buildbot.python.org/all/builders/AMD64%20OpenIndiana%203.x/builds/37/steps/test/logs/stdio 
msg282754 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2016年12月09日 01:50
The OpenIndiana uses gcc and has the long long type. Extract of the ./configure script:
---
checking for gcc... gcc
(...)
checking size of long long... 8
---
http://buildbot.python.org/all/builders/AMD64%20OpenIndiana%203.x/builds/37/steps/configure/logs/stdio 
msg282768 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2016年12月09日 07:42
Why do you think this change caused that breakage? That bot looks like it's been broken for days. This change should have no behavior change whatsoever for Python itself.
msg282772 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2016年12月09日 10:03
> Why do you think this change caused that breakage? That bot looks like it's been broken for days. This change should have no behavior change whatsoever for Python itself.
It's right that the buildbot is broken for years:
https://mail.python.org/pipermail/python-dev/2016-September/146538.html
But the error changed, since the build 37, tests started to fail with a very specific error: "Fatal Python error: Aborted". The build 37 contains your change 1afc3f4f5502 and two other changes which only modify the Doc/ directory.
Sorry, I don't know more :-/ Maybe it's a false alarm, but it's worth to investigate.
msg283378 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016年12月16日 07:44
New changeset d6c8803c55b4 by Benjamin Peterson in branch '3.6':
guard HAVE_LONG_LONG definition to prevent redefinition (#28898)
https://hg.python.org/cpython/rev/d6c8803c55b4
New changeset 9d0765c22bed by Ned Deily in branch '3.6':
Issue #28898: add Misc/NEWS entry
https://hg.python.org/cpython/rev/9d0765c22bed 
msg283381 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2016年12月16日 07:51
[cherrypicked for 3.6.0rc2]
History
Date User Action Args
2022年04月11日 14:58:40adminsetgithub: 73084
2016年12月16日 07:51:07ned.deilysetstatus: open -> closed
priority: release blocker ->
messages: + msg283381

assignee: ned.deily ->
resolution: fixed
stage: resolved
2016年12月16日 07:44:47python-devsetmessages: + msg283378
2016年12月09日 10:03:28vstinnersetmessages: + msg282772
2016年12月09日 07:42:38benjamin.petersonsetmessages: + msg282768
2016年12月09日 01:50:44vstinnersetmessages: + msg282754
2016年12月09日 01:48:34vstinnersetmessages: + msg282753
2016年12月08日 16:02:58vstinnersetnosy: + vstinner
messages: + msg282713
2016年12月08日 07:55:35benjamin.petersonsetpriority: normal -> release blocker

nosy: + ned.deily
messages: + msg282696

assignee: ned.deily
2016年12月08日 07:55:14python-devsetnosy: + python-dev
messages: + msg282695
2016年12月07日 20:17:56ned.deilysetkeywords: + 3.6regression, - patch
2016年12月07日 18:20:05serhiy.storchakasetnosy: + benjamin.peterson
2016年12月07日 18:14:39cstratakcreate

AltStyle によって変換されたページ (->オリジナル) /