New submission from Miro Hrončok <m...@hroncok.cz>: Hello. I think https://github.com/python/cpython/pull/23142 changed the behavior of distutils.sysconfig.parse_makefile().
A downstream Fedora report with an affected petsc package: https://bugzilla.redhat.com/show_bug.cgi?id=1959088 Reproducers (DeprecationWarnings removed for readability): $ cat makefile ALL: lib DIRS = ssls asls # isls rscs LOCDIR = src/tao/complementarity/impls/ include ${PETSC_DIR}/lib/petsc/conf/variables include ${PETSC_DIR}/lib/petsc/conf/rules include ${PETSC_DIR}/lib/petsc/conf/test $ python3.9 >>> from distutils.sysconfig import parse_makefile >>> makevars = parse_makefile('makefile') >>> makevars.get('DIRS','').split() ['ssls', 'asls'] $ python3.10 >>> from distutils.sysconfig import parse_makefile >>> makevars = parse_makefile('makefile') >>> makevars.get('DIRS','').split() ['ssls', 'asls', '#', 'isls', 'rscs'] And: $ cat makefile -include ../../../../petscdir.mk ALL: lib LIBBASE = libpetscksp DIRS = cr bcgs bcgsl cg cgs gmres cheby rich lsqr preonly tcqmr tfqmr \ qcg bicg minres symmlq lcd ibcgs python gcr fcg tsirm fetidp hpddm LOCDIR = src/ksp/ksp/impls/ include ${PETSC_DIR}/lib/petsc/conf/variables include ${PETSC_DIR}/lib/petsc/conf/rules include ${PETSC_DIR}/lib/petsc/conf/test $ python3.9 >>> from distutils.sysconfig import parse_makefile >>> makevars = parse_makefile('makefile') >>> makevars.get('DIRS','').split() ['cr', 'bcgs', 'bcgsl', 'cg', 'cgs', 'gmres', 'cheby', 'rich', 'lsqr', 'preonly', 'tcqmr', 'tfqmr', 'qcg', 'bicg', 'minres', 'symmlq', 'lcd', 'ibcgs', 'python', 'gcr', 'fcg', 'tsirm', 'fetidp', 'hpddm'] $ python3.10 >>> from distutils.sysconfig import parse_makefile >>> makevars = parse_makefile('makefile') >>> makevars.get('DIRS','').split() ['cr', 'bcgs', 'bcgsl', 'cg', 'cgs', 'gmres', 'cheby', 'rich', 'lsqr', 'preonly', 'tcqmr', 'tfqmr', '\\'] And: $ cat makefile -include ../../../../petscdir.mk ALL: lib LIBBASE = libpetscksp DIRS = jacobi none sor shell bjacobi mg eisens asm ksp composite redundant spai is pbjacobi vpbjacobi ml\ mat hypre tfs fieldsplit factor galerkin cp wb python \ chowiluviennacl chowiluviennaclcuda rowscalingviennacl rowscalingviennaclcuda saviennacl saviennaclcuda\ lsc redistribute gasm svd gamg parms bddc kaczmarz telescope patch lmvm hmg deflation hpddm hara LOCDIR = src/ksp/pc/impls/ include ${PETSC_DIR}/lib/petsc/conf/variables include ${PETSC_DIR}/lib/petsc/conf/rules include ${PETSC_DIR}/lib/petsc/conf/test $ python3.9 >>> from distutils.sysconfig import parse_makefile >>> makevars = parse_makefile('makefile') >>> makevars.get('DIRS','').split() ['jacobi', 'none', 'sor', 'shell', 'bjacobi', 'mg', 'eisens', 'asm', 'ksp', 'composite', 'redundant', 'spai', 'is', 'pbjacobi', 'vpbjacobi', 'ml', 'mat', 'hypre', 'tfs', 'fieldsplit', 'factor', 'galerkin', 'cp', 'wb', 'python', 'chowiluviennacl', 'chowiluviennaclcuda', 'rowscalingviennacl', 'rowscalingviennaclcuda', 'saviennacl', 'saviennaclcuda', 'lsc', 'redistribute', 'gasm', 'svd', 'gamg', 'parms', 'bddc', 'kaczmarz', 'telescope', 'patch', 'lmvm', 'hmg', 'deflation', 'hpddm', 'hara'] $ python3.10 >>> from distutils.sysconfig import parse_makefile >>> makevars = parse_makefile('makefile') >>> makevars.get('DIRS','').split() ['jacobi', 'none', 'sor', 'shell', 'bjacobi', 'mg', 'eisens', 'asm', 'ksp', 'composite', 'redundant', 'spai', 'is', 'pbjacobi', 'vpbjacobi', 'ml\\'] ---------- components: Library (Lib) messages: 395352 nosy: frenzy, hroncok, petr.viktorin priority: normal severity: normal status: open title: distutils.sysconfig.parse_makefile() regression in Python 3.10 type: behavior versions: Python 3.10, Python 3.11 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue44351> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com