On Thu, Jul 28, 2022 at 7:55 AM Chuck Wolber <[email protected]> wrote:
>
> FWIW, the gobject-introspection-native recipe was one of the "canaries in the 
> mine" that reliably caused an image build to die while I was actively 
> encountering this GCC10 compiler issue in Hardknott:

Have you encountered this issue with Kirkstone?

Steve

>
> https://www.mail-archive.com/[email protected]/msg06163.html
> https://lists.yoctoproject.org/g/yocto/message/53971
>
> Upon re-reading my post, I regret that I did not mention this fact. The 
> production image recipe I was working on at the time did not happen to 
> involve gobject-introspection-native, so I overlooked it. Our other image 
> recipes *DID* invoke gobject-introspection-native, but those were not as 
> immediately important at the time, and I was trying to keep the problem 
> description as focused as possible.
>
> I do not expect this reply to result in anything materially relevant to the 
> problem (it still exists, but we use buildtools to get around it) other than 
> to add more data that may be relevant to someone googling something similar 
> in the future.
>
> ..Ch:W..
>
> On Tue, Jul 26, 2022 at 5:41 PM Steve Sakoman <[email protected]> wrote:
>>
>> From: Tom Hochstein <[email protected]>
>>
>> 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.
>>
>> Signed-off-by: Tom Hochstein <[email protected]>
>> Signed-off-by: Alexandre Belloni <[email protected]>
>> (cherry picked from commit 35d5f707f6bb2ce5e9ab908e66e1ea9eeac754b1)
>> Signed-off-by: Steve Sakoman <[email protected]>
>> ---
>>  meta/classes/gobject-introspection-data.bbclass              | 5 +++++
>>  .../gobject-introspection/gobject-introspection_1.72.0.bb    | 3 ---
>>  2 files changed, 5 insertions(+), 3 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 @@
>>  # so that qemu use can be avoided when necessary.
>>  GI_DATA_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 
>> 'gobject-introspection-data', \
>>                        bb.utils.contains('MACHINE_FEATURES', 
>> 'qemu-usermode', 'True', 'False', d), 'False', d)}"
>> +
>> +do_compile:prepend() {
>> +    # This prevents g-ir-scanner from writing cache data to $HOME
>> +    export GI_SCANNER_DISABLE_CACHE=1
>> +}
>> diff --git 
>> a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.72.0.bb 
>> b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.72.0.bb
>> index 355e77d107..9a47e908b7 100644
>> --- 
>> a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.72.0.bb
>> +++ 
>> b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.72.0.bb
>> @@ -113,9 +113,6 @@ EOF
>>  }
>>
>>  do_compile:prepend() {
>> -        # This prevents g-ir-scanner from writing cache data to $HOME
>> -        export GI_SCANNER_DISABLE_CACHE=1
>> -
>>          # Needed to run g-ir unit tests, which won't be able to find the 
>> built libraries otherwise
>>          export GIR_EXTRA_LIBS_PATH=$B/.libs
>>  }
>> --
>> 2.25.1
>>
>>
>> 
>>
>
>
> --
> "Perfection must be reached by degrees; she requires the slow hand of time." 
> - Voltaire
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#168613): 
https://lists.openembedded.org/g/openembedded-core/message/168613
Mute This Topic: https://lists.openembedded.org/mt/92640670/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to