diff options
author | Tom Hochstein <tom.hochstein@nxp.com> | 2022-07-18 08:50:11 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-07-19 10:54:20 +0100 |
commit | 704a7a86810e5e229a7bb18813dc04f779d92d00 (patch) | |
tree | 2fdbd918815354fadea33e228f059ea705421230 /meta/classes | |
parent | 957e82e19b2522e7bb43cd736c7343e4df465ee3 (diff) | |
download | poky-704a7a86810e5e229a7bb18813dc04f779d92d00.tar.gz |
gobject-introspection-data: Disable cache for g-ir-scanner
An intermittent failure occurs in libical-native do_compile:
| Traceback (most recent call last):
| File "/.../build/tmp/work/x86_64-linux/libical-native/3.0.14-r0/recipe-sysroot-native/usr/lib/python3.10/shutil.py", line 813, in move
| os.rename(src, real_dst)
| OSError: [Errno 18] Invalid cross-device link: '/tmp/g-ir-scanner-cache-adxo_2bq' -> '/home/bamboo/.cache/g-ir-scanner/bab9a83d2cd93e62ed005a2c1d4f89ae75c67251'
|
| During handling of the above exception, another exception occurred:
|
| Traceback (most recent call last):
| File "/.../tmp/work/x86_64-linux/libical-native/3.0.14-r0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/bin/g-ir-scanner", line 99, in <module>
| sys.exit(scanner_main(sys.argv))
| File "/.../tmp/work/x86_64-linux/libical-native/3.0.14-r0/recipe-sysroot-native/usr/lib/gobject-introspection/giscanner/scannermain.py", line 590, in scanner_main
| transformer = create_transformer(namespace, options)
| File "/.../tmp/work/x86_64-linux/libical-native/3.0.14-r0/recipe-sysroot-native/usr/lib/gobject-introspection/giscanner/scannermain.py", line 409, in create_transformer
| transformer.register_include(include_obj)
| File "/.../tmp/work/x86_64-linux/libical-native/3.0.14-r0/recipe-sysroot-native/usr/lib/gobject-introspection/giscanner/transformer.py", line 140, in register_include
| self._parse_include(filename)
| File "/.../tmp/work/x86_64-linux/libical-native/3.0.14-r0/recipe-sysroot-native/usr/lib/gobject-introspection/giscanner/transformer.py", line 230, in _parse_include
| self._parse_include(dep_filename)
| File "/.../tmp/work/x86_64-linux/libical-native/3.0.14-r0/recipe-sysroot-native/usr/lib/gobject-introspection/giscanner/transformer.py", line 225, in _parse_include
| self._cachestore.store(filename, parser)
| File "/.../tmp/work/x86_64-linux/libical-native/3.0.14-r0/recipe-sysroot-native/usr/lib/gobject-introspection/giscanner/cachestore.py", line 153, in store
| shutil.move(tmp_filename, store_filename)
| File "/.../tmp/work/x86_64-linux/libical-native/3.0.14-r0/recipe-sysroot-native/usr/lib/python3.10/shutil.py", line 833, in move
| copy_function(src, real_dst)
| File "/.../tmp/work/x86_64-linux/libical-native/3.0.14-r0/recipe-sysroot-native/usr/lib/python3.10/shutil.py", line 435, in copy2
| copystat(src, dst, follow_symlinks=follow_symlinks)
| File "/.../tmp/work/x86_64-linux/libical-native/3.0.14-r0/recipe-sysroot-native/usr/lib/python3.10/shutil.py", line 374, in copystat
| lookup("utime")(dst, ns=(st.st_atime_ns, st.st_mtime_ns),
| FileNotFoundError: [Errno 2] No such file or directory
A similar issue is described in a fix for gobject-introspection-native.
https://github.com/openembedded/openembedded-core/commit/d3c48ff7d19e86b2338b1778f9563969bba3d336
The problem was fixed there by setting the environment variable
GI_SCANNER_DISABLE_CACHE to disable the use of $HOME/.cache.
Extend the fix to users of gobject-instropection by promoting the fix
to the bbclass.
(From OE-Core rev: 35d5f707f6bb2ce5e9ab908e66e1ea9eeac754b1)
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/gobject-introspection-data.bbclass | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/meta/classes/gobject-introspection-data.bbclass b/meta/classes/gobject-introspection-data.bbclass index 2ef684626a..d90cdb4839 100644 --- a/meta/classes/gobject-introspection-data.bbclass +++ b/meta/classes/gobject-introspection-data.bbclass | |||
@@ -5,3 +5,8 @@ | |||
5 | # so that qemu use can be avoided when necessary. | 5 | # so that qemu use can be avoided when necessary. |
6 | GI_DATA_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'gobject-introspection-data', \ | 6 | GI_DATA_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'gobject-introspection-data', \ |
7 | bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d), 'False', d)}" | 7 | bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d), 'False', d)}" |
8 | |||
9 | do_compile:prepend() { | ||
10 | # This prevents g-ir-scanner from writing cache data to $HOME | ||
11 | export GI_SCANNER_DISABLE_CACHE=1 | ||
12 | } | ||