Bug 84413 - pycairo configuration fails: tries to use build environment for python instead of the current environment
Summary: pycairo configuration fails: tries to use build environment for python instea...
Status: RESOLVED FIXED
Alias: None
Product: pycairo
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: medium normal
Assignee: Steve Chaplin
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-28 06:47 UTC by Abulhair Saparov
Modified: 2017-07-05 15:10 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Abulhair Saparov 2014-09-28 06:47:51 UTC
Both setup.py and waf configuration methods fail when I try to build pycairo on my Gentoo system. The configuration attempts to use distutils.sysconfig.get_config_var to query the build environment, but I do not think this is correct, since it will return the environment used to build python. The result is a weird combination of the old and new build environments.

More specifically, in my case, I used the Intel compiler (icc) to build python with the flag -fno-stack-protector-all. However, waf obtains this CFLAG and attempts to run gcc with the flag. This fails since the equivalent flag in gcc is -fno-stack-protector.

Reproducible: Always

Steps to Reproduce:
1. Compile python using an initial build environment (CC, CFLAGS, etc). In my case, I have python 2.7 and 3.3 compiled using icc (similar to http://www.gentoo-wiki.info/HOWTO_ICC_and_Portage).
2. Modify the build environment, for example by changing CC or adding options to CFLAGS.
3. Configure pycairo.
Comment 1 Christoph Reiter 2017-07-05 15:10:29 UTC
Since 1.11 pycairo uses distutils for building. There is a good chance that
this bug no longer occurs with the new system. If there are still problems
please file a bug: https://github.com/pygobject/pycairo/issues


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.