Bug 201434 - distutils.sysconfig.{get_config_h_filename,parse_config_h} broken
Summary: distutils.sysconfig.{get_config_h_filename,parse_config_h} broken
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: python
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mihai Ibanescu
QA Contact: Brock Organ
URL:
Whiteboard:
Depends On: 139911
Blocks: FC6Blocker 201435 203090 208707
TreeView+ depends on / blocked
 
Reported: 2006-08-05 09:33 UTC by Axel Thimm
Modified: 2007-11-30 22:11 UTC (History)
1 user (show)

Fixed In Version: 2.4.3-15
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-08-17 22:18:16 UTC
Type: ---


Attachments (Terms of Use)

Description Axel Thimm 2006-08-05 09:33:41 UTC
Description of problem:
/usr/include/python2.4/pyconfig.h is now a wrapper for 32/64 bit sub-includes.
This breaks the usual query mechanism for extracting python build flags.

Version-Release number of selected component (if applicable):
python-2.4.3-14.fc6

How reproducible:
always

Steps to Reproduce:
1.config_h = sysconfig.get_config_h_filename()
2.config_h_vars = sysconfig.parse_config_h(open(config_h))
3.
  
Actual results:
{}

Expected results:
{'STRICT_SYSV_CURSES': "/* Don't use ncurses extensions */", 'HAVE_SELECT': 1,
'HAVE_ST_BLOCKS': 1, [...]

Additional info:
o Breaks builds of smart package on FC6
o One can argue that the bug is in the implementation of parse_config_h, which
  should be able to descend into further included files. OTOH it would then need
  to understand nested conditionals, too.
o maybe the 32/64 bits switch should be performed already on 
  get_config_h_filename level? E.g. get_config_h_filename should return
  pyconfig-32.h and pyconfig-64.h respectively?

Thanks!

Comment 1 Axel Thimm 2006-08-05 10:07:33 UTC
Turns out this is due to the fix for multilib -devel support in bug #139911
comment 2. This fix only considered C/C++ consumers of pyconfig.h. python's
querying mechanism needs to be redirected, too, by patching
get_config_h_filename. A simple untested specfile fix is in bug #139911 comment 4.

Comment 2 Mihai Ibanescu 2006-08-17 22:18:16 UTC
Fix (based on your suggestion) included in python-2.4.3-15 - thanks!

Comment 3 Axel Thimm 2006-08-18 22:54:25 UTC
This fixes bug #201435, thanks!
Wrt to organisation, I'll just go ahead and close #201435 w/o removing the
dependency, I hope that's the proper procedure. Otherwise feel free to remove
the dependency. Thanks, again!


Note You need to log in before you can comment on or make changes to this bug.