classification
Title: Python 3.9 build fails under Debian 9.11
Type: compile error Stage: resolved
Components: Build Versions: Python 3.9
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: Nosy List: DahlitzFlorian, ned.deily
Priority: normal Keywords:

Created on 2019-11-21 13:28 by DahlitzFlorian, last changed 2019-11-22 23:41 by ned.deily. This issue is now closed.

Files
File name Uploaded Description Edit
output.txt DahlitzFlorian, 2019-11-21 13:28
output_without.txt DahlitzFlorian, 2019-11-21 13:29 Build without optimizations enabled
Messages (4)
msg357168 - (view) Author: Florian Dahlitz (DahlitzFlorian) * Date: 2019-11-21 13:28
Today, I tried to build Python 3.9 from source, which failed. Building it without optimizations enabled fails due to an Segmentation fault (output_without.txt) and building with optimizations fails with a profile-opt error (output.txt).

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux bullseye/sid
Release:	9.11
Codename:	stretch
msg357189 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2019-11-21 17:48
What ./configure options did you use?  Did you do a make clean or equivalent between the two build attempts?  If you used --enable-shared, try without it.
msg357254 - (view) Author: Florian Dahlitz (DahlitzFlorian) * Date: 2019-11-22 08:06
My commands were as follows:

$ ./configure
$ make &> output_without.txt
$ ./configure --enable-optimizations
$ make &> output.txt

Doing a make clean before each make resolved the issue. Thanks Ned!
I searched through the README.md on GitHub and found a note about make clean. However, the Developer's Guide at python.org doesn't mention it in the Quick References. Should it be added?
msg357344 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2019-11-22 23:41
Glad you got it working.  In general, it is probably a good idea to do a "make clean" before or after re-running ./configure in a particular build directory.   Ideally, the Makefile dependencies should detect and do the right thing automatically so that a manual "make clean" would not be necessary but, with as complicated a build system as we have, that goal might be unrealistic (PRs welcome though!). In any case adding something to the devguide steps would also be a good idea. Again, an issue and/or a PR against the devguide would be welcome (https://github.com/python/devguide).
History
Date User Action Args
2019-11-22 23:41:40ned.deilysetstatus: open -> closed
resolution: not a bug
messages: + msg357344

stage: resolved
2019-11-22 08:06:02DahlitzFloriansetmessages: + msg357254
2019-11-21 17:48:39ned.deilysetnosy: + ned.deily
messages: + msg357189
2019-11-21 13:29:43DahlitzFloriansetfiles: + output_without.txt
2019-11-21 13:28:49DahlitzFloriancreate