diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2014-07-08 22:17:52 +0200 |
---|---|---|
committer | Peter Korsgaard <peter@korsgaard.com> | 2014-07-09 13:18:58 +0200 |
commit | 5476b7273f0e5e58b59da9bf6403366d08e6b585 (patch) | |
tree | 639f71e765f1e7f07b570296476425e217c47563 /package/python/python-013-dont-add-multiarch-path.patch | |
parent | 13f8c39294a6ddac22c887d3c374e869b466c769 (diff) | |
download | buildroot-5476b7273f0e5e58b59da9bf6403366d08e6b585.tar.gz buildroot-5476b7273f0e5e58b59da9bf6403366d08e6b585.zip |
python: improve isolation of build environment and error handling
This commit mainly fixes bug #7268 by improving the isolation of
the build environment by making sure some host environment header
paths do not leak into the target build. The investigation was done by
David <buildroot-2014@inbox.com>. This is done by not calling the
add_multiarch_paths() function of setup.py when we're cross-compiling,
a change made in the newly introduced
python-013-dont-add-multiarch-path.patch.
In addition to this, another patch is added to make sure the build is
aborted when one of the Python module fails to build. This is done in
python-014-abort-on-failed-modules.patch. Without this, the Python
setup.py script simply logs which module failed to build, but doesn't
abort, so it's hard to notice when there is a problem.
[Peter: slightly reword commit message]
Cc: David <buildroot-2014@inbox.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/python/python-013-dont-add-multiarch-path.patch')
-rw-r--r-- | package/python/python-013-dont-add-multiarch-path.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/package/python/python-013-dont-add-multiarch-path.patch b/package/python/python-013-dont-add-multiarch-path.patch new file mode 100644 index 0000000000..0ab38acd2f --- /dev/null +++ b/package/python/python-013-dont-add-multiarch-path.patch @@ -0,0 +1,27 @@ +Don't add multiarch paths + +The add_multiarch_paths() function leads, in certain build +environments, to the addition of host header paths to the CFLAGS, +which is not appropriate for cross-compilation. This patch fixes that +by simply removing the call to add_multiarch_paths() when we're +cross-compiling. + +Investigation done by David <buildroot-2014@inbox.com>. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: b/setup.py +=================================================================== +--- a/setup.py ++++ b/setup.py +@@ -454,9 +454,9 @@ + if not cross_compiling: + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ self.add_multiarch_paths() + if cross_compiling: + self.add_gcc_paths() +- self.add_multiarch_paths() + + # Add paths specified in the environment variables LDFLAGS and + # CPPFLAGS for header and library files. |