Hi, Any help on this topic would be much appreciated. Thanks, Nir. From: poky@lists.yoctoproject.org On Behalf Of Geller, Nir Sent: Monday, August 16, 2021 3:49 PM To: poky@lists.yoctoproject.org Subject: [poky] multilib32: libtool-cross_2.4.6.bb configure failure Hi There, Following the instruction from TI https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM64X/latest/exports/docs/linux/Overview_Building_the_SDK.html I've successfully set up a yocto project for the AM64x. Toolchain used is 9.2-2019.12 Now I need to add support for multilib32 because I have some software that can be compiled only 32 bit. I added the following lines to conf/local.conf # Define multilib target require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "armv7athf-neon" And I am able to build a few packages with lib32- successfully, however, lib32-libtool-cross fails at the configure stage: --host is set to the value armmllib32-linux-gnueabi ERROR: lib32-libtool-cross-2.4.6-r0 do_configure: configure failed ERROR: lib32-libtool-cross-2.4.6-r0 do_configure: Execution of '/home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/temp/run.do_configure.29261' failed with exit code 1: automake (GNU automake) 1.16.1 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv2+: GNU GPL version 2 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Tom Tromey > and Alexandre Duret-Lutz >. AUTOV is 1.16 autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --system-acdir=/home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/lib32-recipe-sysroot/home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/lib32-recipe-sysroot/usr/share/aclocal/ --automake-acdir=/home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/recipe-sysroot-native/usr/share/aclocal-1.16 -I /home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/libtool-2.4.6/m4/ -I /home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/libtool-2.4.6/tests/ -I /home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/recipe-sysroot-native/usr/share/aclocal/ --force --warnings=cross -I m4 aclocal: warning: unknown warning category 'cross' autoreconf: configure.ac: tracing autoreconf: running: /home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/recipe-sysroot-native/usr/bin/autoconf --include=/home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/libtool-2.4.6/m4/ --include=/home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/libtool-2.4.6/tests/ --include=/home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/recipe-sysroot-native/usr/share/aclocal/ --force --warnings=cross autoreconf: running: /home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/recipe-sysroot-native/usr/bin/autoheader --include=/home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/libtool-2.4.6/m4/ --include=/home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/libtool-2.4.6/tests/ --include=/home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/recipe-sysroot-native/usr/share/aclocal/ --force --warnings=cross autoreconf: running: automake --add-missing --copy --force-missing --warnings=cross automake: warning: unknown warning category 'cross' autoreconf: running: gnu-configize autoreconf: Leaving directory `.' | NOTE: Running ../libtool-2.4.6/configure --build=x86_64-linux --host=armmllib32-linux-gnueabi --target=armmllib32-linux-gnueabi --prefix=/usr --exec_prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/lib32-recipe-sysroot/usr/share --sysconfdir=/etc --sharedstatedir=/com --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --oldincludedir=/usr/include --infodir=/home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/lib32-recipe-sysroot/usr/share/info --mandir=/home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/lib32-recipe-sysroot/usr/share/man --disable-silent-rules --disable-dependency-tracking --with-libtool-sysroot=/home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/lib32-recipe-sysroot configure: loading site script /home/build/tisdk/sources/meta-openembedded/meta-networking/site/endian-little configure: loading site script /home/build/tisdk/sources/oe-core/meta/site/endian-little configure: loading site script /home/build/tisdk/sources/oe-core/meta/site/arm-common configure: loading site script /home/build/tisdk/sources/oe-core/meta/site/arm-32 configure: loading site script /home/build/tisdk/sources/oe-core/meta/site/common-linux configure: loading site script /home/build/tisdk/sources/oe-core/meta/site/common-glibc configure: loading site script /home/build/tisdk/sources/oe-core/meta/site/arm-linux configure: loading site script /home/build/tisdk/sources/oe-core/meta/site/common ## ------------------------- ## ## Configuring libtool 2.4.6 ## ## ------------------------- ## checking for GNU M4 that supports accurate traces... /home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/recipe-sysroot-native/usr/bin/m4 checking whether /home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/recipe-sysroot-native/usr/bin/m4 accepts --gnu... yes checking how m4 supports trace files... --debugfile checking for a BSD-compatible install... /home/build/tisdk/build/arago-tmp-external-arm-glibc/hosttools/install -c checking whether build environment is sane... yes checking for armmllib32-linux-gnueabi-strip... arm-none-linux-gnueabihf-strip checking for a thread-safe mkdir -p... /home/build/tisdk/build/arago-tmp-external-arm-glibc/hosttools/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make supports nested variables... (cached) yes checking build system type... x86_64-pc-linux-gnu checking host system type... Invalid configuration `armmllib32-linux-gnueabi': machine `armmllib32-unknown' not recognized configure: error: /bin/bash ../libtool-2.4.6/build-aux/config.sub armmllib32-linux-gnueabi failed WARNING: /home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/temp/run.do_configure.29261:1 exit 1 from 'exit 1' ERROR: Logfile of failure stored in: /home/build/tisdk/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neonmllib32-linux-gnueabi/lib32-libtool-cross/2.4.6-r0/temp/log.do_configure.29261 Investigating run.do_configure suggests that in the configure stage oe_runconf() is set with what seems to be wrong -host and -target values: --host=armmllib32-linux-gnueabi --target=armmllib32-linux-gnueabi Executing bitbake lib32-libtool-cross -e Yields, among many others, 18513 # $TARGET_VENDOR [3 operations] 18514 # set /home/build/tisdk/sources/oe-core/meta/conf/bitbake.conf:132 18515 # "-oe" 18516 # set /home/build/tisdk/sources/meta-arago/meta-arago-distro/conf/distro/include/toolchain-arm.inc:15 18517 # "" 18518 # override[virtclass-multilib-lib32]:set multilib_global.bbclass:159 [multilib_virtclass_handler_vendor] 18519 # "mllib32" 18520 # pre-expansion value: 18521 # "mllib32" 18522 TARGET_VENDOR="mllib32" Later, HOST_VENDOR = "${TARGET_VENDOR}", And HOST_SYS = "${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}" So the variable SYS_HOST is expanded to armmllib32-linux-gnueabi which seems to be wrong for lib32-libtool-cross. Manually running the configure command with -host=arm-none-linux-gnueabihf is working properly. Can you please suggest how to fix this issue? I suspect it will come up in other packages as well. Thanks a lot, Nir.