Undefined symbol: PyUnicodeUCS4_DecodeUTF8

Hello,

I have to integrate Python services into a Toradex Yocto build. Unfortunately I get this error:
Summary: 1 task failed:

WARNING: python3-native-3.5.4-r1.0 do_configure: QA Issue: python3-native: configure was passed unrecognised options: --enable-unicode [unknown-configure-option]
ERROR: gobject-introspection-native-1.48.0-r0 do_compile: oe_runmake failed
ERROR: gobject-introspection-native-1.48.0-r0 do_compile: Function failed: do_compile (log file is located at /home/user/workspace-kernel/yocto/build/tmp-glibc/work/x86_64-linux/gobject-introspection-native/1.48.0-r0/temp/log.do_compile.32050)
ERROR: Logfile of failure stored in: /home/user/workspace-kernel/yocto/build/tmp-glibc/work/x86_64-linux/gobject-introspection-native/1.48.0-r0/temp/log.do_compile.32050

ImportError: /home/user/workspace-kernel/yocto/build/tmp-glibc/work/x86_64-linux/gobject-introspection-native/1.48.0-r0/build/.libs/_giscanner.so: undefined symbol: PyUnicodeUCS4_DecodeUTF8

virtual:native:/home/user/workspace-kernel/yocto/build/…/sources/openembedded-core/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.48.0.bb:do_compile

How can I get rid of this?

Best regards

Dirk

What versions of things are you using.

Specifically why to you have python3 3.5.4 (which did not even make it in the openembedded-core master layer and gobject-introspection 1.48.0 which seem to come from the morty branch?

I guess the

WARNING: python3-native-3.5.4-r1.0 do_configure: QA Issue: python3-native: configure was passed unrecognised options: --enable-unicode [unknown-configure-option]

might be the reason while later on you get the linker error

undefined symbol: PyUnicodeUCS4_DecodeUTF8

If I understand you right, gobject-introspection 1.48.0 should not be within
“repo init -u http://git.toradex.com/toradex-bsp-platform.git -b LinuxImageV2.7” ?

Hi,

is there any possibility to disable qemu support? These switches don’t work:

//Disable introspection tools for QEMU which generates inconsistent gobject-introspection-data
DISTRO_FEATURES_BACKFILL_CONSIDERED = “gobject-introspection-data”
MACHINE_FEATURES_BACKFILL_CONSIDERED = “qemu-usermode”

regards
Dirk

Hi

I wouldn’t know. Probably this depends on the version of the used layers.

The rocko Yocto documentation at least claims that using this variables is the way to go.

I would bitbake the recipe which troubles you with the -e options and then analyse the output.
Check what DISTRO_FEATURES_BACKFILL_CONSIDERED, MACHINE_FEATURES_BACKFILL_CONSIDERED do eventually evaluate to.

Then check if gobject-introspection-data is not part of DISTRO_FEATURES. (That is what DISTRO_FEATURES_BACKFILL_CONSIDERED = “gobject-introspection-data” should achive).

Max

no, you should have the correct python version.