python 3.9 package leaks CFLAGS into user packages via sysconfig

Matthias Koeppe mkoeppe@math.ucdavis.edu
Tue Dec 28 01:27:37 GMT 2021


$ python3.9 -m sysconfig | grep CFLAGS
CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall
-ggdb -O2 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-fstack-protector-strong --param=ssp-buffer-size=4 -DOPENSSL_NO_SSL3=1
-I/usr/include/uuid/
-fdebug-prefix-map=/pub/devel/python/python39/python39-3.9.9-1.x86_64/build=/usr/src/debug/python39-3.9.9-1
-fdebug-prefix-map=/pub/devel/python/python39/python39-3.9.9-1.x86_64/src/Python-3.9.9=/usr/src/debug/python39-3.9.9-1
-ggdb -O2 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-fstack-protector-strong --param=ssp-buffer-size=4 -DOPENSSL_NO_SSL3=1
-I/usr/include/uuid/
-fdebug-prefix-map=/pub/devel/python/python39/python39-3.9.9-1.x86_64/build=/usr/src/debug/python39-3.9.9-1
-fdebug-prefix-map=/pub/devel/python/python39/python39-3.9.9-1.x86_64/src/Python-3.9.9=/usr/src/debug/python39-3.9.9-1"

These flags will end up in builds of user Python packages with extensions
via sysconfig/distutils.
This should be fixed by putting the necessary flags for the Python build
into CFLAGS_NODIST instead -- see similar fix for Homebrew's packaging of
python3 in https://github.com/Homebrew/homebrew-core/pull/68528

Reference: https://trac.sagemath.org/ticket/33078

-- 
Dr. Matthias Koeppe . . . . . . . . http://www.math.ucdavis.edu/~mkoeppe
Professor of Mathematics


More information about the Cygwin mailing list