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: --with-pydebug has no effect when the final python binary is compiled
Type: compile error Stage: resolved
Components: Build Versions: Python 3.4
process
Status: closed Resolution: wont fix
Dependencies: Superseder:
Assigned To: Nosy List: Arfrever, aleb, cheryl.sabella, methane, r.david.murray, skip.montanaro
Priority: normal Keywords:

Created on 2015年05月03日 07:14 by aleb, last changed 2022年04月11日 14:58 by admin. This issue is now closed.

Messages (7)
msg242455 - (view) Author: (aleb) Date: 2015年05月03日 07:14
This is how I configure and build:
$ ./configure --prefix=/usr \
 --with-threads \
 --with-computed-gotos \
 --enable-ipv6 \
 --with-system-expat \
 --with-dbmliborder=gdbm:ndbm \
 --with-system-ffi \
 --with-system-libmpdec \
 --enable-loadable-sqlite-extensions \
 --without-ensurepip \
 --with-pydebug
$ make "CFLAGS=-g -fno-inline -fno-strict-aliasing -O0"
...
gcc -pthread -c -Wno-unused-result -g -O0 -Wall -Wstrict-prototypes -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -g -fno-inline -fno-strict-aliasing -O0 -Werror=declaration-after-statement -I. -IInclude -I./Include -D_FORTIFY_SOURCE=2 -D_FORTIFY_SOURCE=2 -DPy_BUILD_CORE -o Modules/python.o ./Modules/python.c
...
gcc -pthread -Wl,-O1,--sort-common,--as-needed,-z,relro -Wl,-O1,--sort-common,--as-needed,-z,relro -Xlinker -export-dynamic -o python Modules/python.o libpython3.4dm.a -lpthread -ldl -lutil -lm 
Notice the specified CFLAGS are used when building "-o Modules/python.o" for example (as many others), but are not used when building the "-o python" binary.
msg242456 - (view) Author: Arfrever Frehtes Taifersar Arahesis (Arfrever) * (Python triager) Date: 2015年05月03日 07:26
Set CFLAGS when calling configure, not make.
msg242458 - (view) Author: (aleb) Date: 2015年05月03日 09:43
It's confusing that the CFLAGS specified when running make are passed further sometimes but not always. So I guess that's a workaround? Or CFLAGS should never be specified to make directly?
msg242468 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2015年05月03日 12:18
Sounds like this is a duplicate of issue 9189? (--with-pydebug certainly works for me).
msg242553 - (view) Author: Skip Montanaro (skip.montanaro) * (Python triager) Date: 2015年05月04日 12:42
> It's confusing that the CFLAGS specified when running make are passed further sometimes but not always. So I guess that's a workaround? Or CFLAGS should never be specified to make directly?
In my experience, all the magic happens in configure. Most of the time, the only flag I give to make is -j to specify parallelism.
Is there somewhere in the build docs this could be made clearer?
msg339891 - (view) Author: Cheryl Sabella (cheryl.sabella) * (Python committer) Date: 2019年04月10日 21:03
If this is a documentation issue on the build, then I think this issue should be moved to the devguide repo on GitHub. I'm not sure if it's still unclear though, so maybe this could just be closed?
msg339926 - (view) Author: Inada Naoki (methane) * (Python committer) Date: 2019年04月11日 05:41
gcc is not compiler, but linker when `-o python`.
So LDFLAGS is used instead of CFLAGS.
I don't think we can document and maintain all configure & make behavior.
I'm +1 on close this.
History
Date User Action Args
2022年04月11日 14:58:16adminsetgithub: 68304
2021年12月13日 18:49:20iritkatrielsetstatus: open -> closed
resolution: wont fix
stage: resolved
2019年04月11日 05:41:21methanesetnosy: + methane
messages: + msg339926
2019年04月10日 21:03:51cheryl.sabellasetnosy: + cheryl.sabella
messages: + msg339891
2015年05月04日 12:42:35skip.montanarosetnosy: + skip.montanaro
messages: + msg242553
2015年05月03日 12:18:06r.david.murraysetnosy: + r.david.murray
messages: + msg242468
2015年05月03日 09:43:54alebsetmessages: + msg242458
2015年05月03日 07:26:23Arfreversetnosy: + Arfrever
messages: + msg242456
2015年05月03日 07:14:38alebcreate

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