Fixed
Created: Mar 2, 2023
Updated: May 2, 2023
Resolved Date: Apr 8, 2023
Found In Version: 10.21.20.12
Fix Version: 10.21.20.17
Severity: Standard
Applicable for: Wind River Linux LTS 21
Component/s: Build & Config, Userspace
The customer is getting the following error building an application in LTS21 for qemuarm64 bsp.
CC libnikita_la-nikita-threatlevelmap.lo CCLD libnikita.laar: `u' modifier ignored since `D' is the default (see `U') GISCAN Nikita-3.0.girTraceback (most recent call last): File "/usr/bin/g-ir-scanner", line 98, in <module> from giscanner.scannermain import scanner_main File "/usr/lib64/gobject-introspection/giscanner/scannermain.py", line 35, in <module> from giscanner.ast import Include, Namespace File "/usr/lib64/gobject-introspection/giscanner/ast.py", line 29, in <module> from .sourcescanner import CTYPE_TYPEDEF, CSYMBOL_TYPE_TYPEDEF File "/usr/lib64/gobject-introspection/giscanner/sourcescanner.py", line 35, in <module> from giscanner._giscanner import SourceScanner as CSourceScannerModuleNotFoundError: No module named 'giscanner._giscanner'make5]: *** [/usr/share/gobject-introspection-1.0/Makefile.introspection:156: Nikita-3.0.gir] Error 1make[4]: *** [Makefile:469: all] Error 2make[3]: *** [Makefile:494: all-recursive] Error 1make[2]: *** [Makefile:51: /home/ambtripa/ims_7_4_main/_build/ftd/work/libnikita/libnikita-4.0.0.697/.libs/libnikita.so.0.0.0] Error 2 **** Finished at: Tue Feb 14 14:55:20 UTC 2023
The customer found that a possible workaround is to create a symbolic-link of {*}_giscanner.cpython-39-x86_64-{*}[*linux-gnu.so* (http://linux-gnu.so/)named {*}_giscanner.{*}{*}cpython-39-aarch64-linux-gnu.so (https://cpython-39-aarch64-linux-gnu.so/){*}
The customer is just changing the x86-64 for aarch64, so it looks like there it is a naming issue during the ARM cross compile of gobject-introspection package as the binary is correctly compiled as ARM but named as x86_64, *_giscanner.cpython* is part of the package gobject-introspection.
Using the following commands we can find that the package *_giscanner.cpython* is built for ARM but the name is with x86_64
rpm2cpio gobject-introspection-1.66.1-r0.cortexa57.rpm | cpio -i
file usr/lib64/gobject-introspection/giscanner/_giscanner.cpython-39-x86_64-linux-gnu.so
because gives the following output.
usr/lib64/gobject-introspection/giscanner/_giscanner.cpython-39-x86_64-linux-gnu.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8023ed2296fbe070976127316fb87ebcb41486fb, stripped
create a symbolic-link of {*}_giscanner.cpython-39-x86_64-{*}*linux-gnu.so* (http://linux-gnu.so/)named {*}_giscanner.{*}{*}cpython-39-aarch64-linux-gnu.so (https://cpython-39-aarch64-linux-gnu.so/){*}