]> code.ossystems Code Review - openembedded-core.git/commitdiff
python3: define a profile directory path
authorMingli Yu <mingli.yu@windriver.com>
Thu, 9 Jul 2020 08:48:17 +0000 (16:48 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 12 Jul 2020 11:20:38 +0000 (12:20 +0100)
After ccache upgrade to 3.7.10, there comes below error when
enable ccache to build python3 and check [1] and [2] for more
details.
 | Python-3.8.3/Modules/_contextvarsmodule.c:43:1: error: source locations for function 'PyInit__contextvars' have changed, the profile data may be out of date [-Werror=coverage-mismatch]

That's because the logic for profile directory changes a little in
[3] after ccache upgrades to 3.7.10.

So define a profile directory path accordingly to fix the above error.

[1] https://github.com/ccache/ccache/issues/615
[2] https://lists.openembedded.org/g/openembedded-core/topic/75170448#140065
[3] https://github.com/ccache/ccache/commit/91a2954eb47b4a106e2be6cf611917b895108e35

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/python/python3/0001-configure.ac-define-a-path-for-profile-data.patch [new file with mode: 0644]
meta/recipes-devtools/python/python3_3.8.3.bb

diff --git a/meta/recipes-devtools/python/python3/0001-configure.ac-define-a-path-for-profile-data.patch b/meta/recipes-devtools/python/python3/0001-configure.ac-define-a-path-for-profile-data.patch
new file mode 100644 (file)
index 0000000..ee3d645
--- /dev/null
@@ -0,0 +1,42 @@
+From 5e94e315119117898ce1a2798641848f61d796b1 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 9 Jul 2020 07:58:44 +0000
+Subject: [PATCH] configure.ac: define a path for profile data
+
+There comes below error when use ccache 3.7.10 to compile python3
+and check [1] for more details.
+ | Python-3.8.3/Modules/_contextvarsmodule.c:43:1: error: source locations for function 'PyInit__contextvars' have changed, the profile data may be out of date [-Werror=coverage-mismatch]
+
+That's because the logic for profile directory changes a little in
+[2] after ccache upgrades to 3.7.10.
+
+So define a profile directory path accordingly to fix the above error.
+
+[1] https://github.com/ccache/ccache/issues/615
+[2] https://github.com/ccache/ccache/commit/91a2954eb47b4a106e2be6cf611917b895108e35
+
+Upstream-Status: Submitted [https://github.com/python/cpython/pull/21408]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 08fe397..bb15bda 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1332,8 +1332,8 @@ case $cc_basename in
+         fi
+         ;;
+       *)
+-        PGO_PROF_GEN_FLAG="-fprofile-generate"
+-        PGO_PROF_USE_FLAG="-fprofile-use -fprofile-correction"
++        PGO_PROF_GEN_FLAG="-fprofile-generate=$(pwd)"
++        PGO_PROF_USE_FLAG="-fprofile-use=$(pwd) -fprofile-correction"
+         LLVM_PROF_MERGER="true"
+         LLVM_PROF_FILE=""
+         ;;
+-- 
+2.26.2
+
index a7cfbad5cdf139992479c28e0e90fea4dd241fff..7e0f35ce411c58da02a4ec77f90364edf7470d24 100644 (file)
@@ -32,6 +32,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
            file://0001-configure.ac-fix-LIBPL.patch \
            file://0001-python3-Do-not-hardcode-lib-for-distutils.patch \
            file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \
+           file://0001-configure.ac-define-a-path-for-profile-data.patch \
            "
 
 SRC_URI_append_class-native = " \