Hello,
I'm trying to build a Linux for NXP T4240RDB using YOCTO (dunfell). When I tried to build it, the build failed with glibc_2.31 configuration error as you can see below :
$ bitbake core-image-minimal
Loading cache: 100% |#############################################################################################################################################################################################################################################################################################################################################################################################| Time: 0:00:00
Loaded 2396 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.46.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "powerpc-poky-linux"
MACHINE = "t4240rdb"
DISTRO = "poky"
DISTRO_VERSION = "3.1.15"
TUNE_FEATURES = "m32 fpu-hard e6500 altivec bigendian"
TARGET_FPU = "hard"
meta
meta-poky
meta-yocto-bsp = "my-dunfell:b41d4e46d30ed32e11d68466721a0f4056bad700"
meta-freescale = "my-dunfell:5a026be5a6b29a27a7754d7fa5d4765c99f98ed9"
WARNING: /ppc/poky/meta/recipes-core/images/core-image-minimal.bb:do_configure is tainted from a forced run############################################################# | ETA: 0:00:00
WARNING: /ppc/poky/meta/recipes-core/images/core-image-minimal.bb:do_compile is tainted from a forced run
Initialising tasks: 100% |########################################################################################################################################################################################################################################################################################################################################################################################| Time: 0:00:01
Sstate summary: Wanted 548 Found 8 Missed 540 Current 627 (1% match, 54% complete)
NOTE: Executing Tasks
ERROR: linux-qoriq-5.4.3+gitAUTOINC+134788b164-r0 do_kernel_localversion: Execution of '/ppc/build/tmp/work/t4240rdb-poky-linux/linux-qoriq/5.4.3+gitAUTOINC+134788b164-r0/temp/run.do_kernel_localversion.1116048' failed with exit code 2
ERROR: Logfile of failure stored in: /ppc/build/tmp/work/t4240rdb-poky-linux/linux-qoriq/5.4.3+gitAUTOINC+134788b164-r0/temp/log.do_kernel_localversion.1116048
Log data follows:
| DEBUG: Executing shell function do_kernel_localversion
| /ppc/build/tmp/work/t4240rdb-poky-linux/linux-qoriq/5.4.3+gitAUTOINC+134788b164-r0/temp/run.do_kernel_localversion.1116048: 121: cannot open /ppc/build/tmp/work/t4240rdb-poky-linux/linux-qoriq/5.4.3+gitAUTOINC+134788b164-r0/defconfig: No such file
| WARNING: exit code 2 from a shell command.
| ERROR: Execution of '/ppc/build/tmp/work/t4240rdb-poky-linux/linux-qoriq/5.4.3+gitAUTOINC+134788b164-r0/temp/run.do_kernel_localversion.1116048' failed with exit code 2
ERROR: Task (/ppc/meta-freescale/recipes-kernel/linux/linux-qoriq_5.4.bb:do_kernel_localversion) failed with exit code '1'
ERROR: lib64-glibc-2.31+gitAUTOINC+3ef8be9b89-r0 do_configure: configure failed
ERROR: lib64-glibc-2.31+gitAUTOINC+3ef8be9b89-r0 do_configure: Execution of '/ppc/build/tmp/work/ppc64e6500-pokymllib64-linux/lib64-glibc/2.31+gitAUTOINC+3ef8be9b89-r0/temp/run.do_configure.1116047' failed with exit code 1
ERROR: Logfile of failure stored in: /ppc/build/tmp/work/ppc64e6500-pokymllib64-linux/lib64-glibc/2.31+gitAUTOINC+3ef8be9b89-r0/temp/log.do_configure.1116047
Log data follows:
| DEBUG: Executing shell function autotools_preconfigure
| DEBUG: Shell function autotools_preconfigure finished
| DEBUG: Executing python function autotools_aclocals
| DEBUG: SITE files ['endian-big', 'bit-64', 'powerpc-common', 'common-linux', 'common-glibc', 'powerpc-linux', 'powerpc64-linux', 'powerpc64-linux', 'common']
| DEBUG: Python function autotools_aclocals finished
| DEBUG: Executing shell function do_configure
| NOTE: Running ../git/configure --build=x86_64-linux --host=powerpc64-pokymllib64-linux --target=powerpc64-pokymllib64-linux --prefix=/usr --exec_prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc --sharedstatedir=/com --localstatedir=/var --libdir=/usr/lib64 --includedir=/usr/include --oldincludedir=/usr/include --infodir=/usr/share/info --mandir=/usr/share/man --disable-silent-rules --disable-dependency-tracking --with-libtool-sysroot=/ppc/build/tmp/work/ppc64e6500-pokymllib64-linux/lib64-glibc/2.31+gitAUTOINC+3ef8be9b89-r0/lib64-recipe-sysroot --enable-kernel=3.2.0 --disable-profile --disable-debug --without-gd --enable-clocale=gnu --with-headers=/ppc/build/tmp/work/ppc64e6500-pokymllib64-linux/lib64-glibc/2.31+gitAUTOINC+3ef8be9b89-r0/lib64-recipe-sysroot/usr/include --without-selinux --enable-tunables --enable-bind-now --enable-stack-protector=strong --enable-stackguard-randomization --disable-crypt --with-default-link --enable-nscd --with-cpu=e6500 --disable-static
| checking build system type... x86_64-pc-linux-gnu
| checking host system type... powerpc64-pokymllib64-linux-gnu
| checking for powerpc64-pokymllib64-linux-gcc... powerpc64-pokymllib64-linux-gcc -mbig-endian -mhard-float -m64 -mcpu=e6500 --sysroot=/ppc/build/tmp/work/ppc64e6500-pokymllib64-linux/lib64-glibc/2.31+gitAUTOINC+3ef8be9b89-r0/lib64-recipe-sysroot
| checking for suffix of object files... o
| checking whether we are using the GNU C compiler... yes
| checking whether powerpc64-pokymllib64-linux-gcc -mbig-endian -mhard-float -m64 -mcpu=e6500 --sysroot=/ppc/build/tmp/work/ppc64e6500-pokymllib64-linux/lib64-glibc/2.31+gitAUTOINC+3ef8be9b89-r0/lib64-recipe-sysroot accepts -g... yes
| checking for gcc... gcc
| checking for powerpc64-pokymllib64-linux-readelf... powerpc64-pokymllib64-linux-readelf
| checking whether we are using the GNU C++ compiler... yes
| checking whether powerpc64-pokymllib64-linux-g++ -mbig-endian -mhard-float -m64 -mcpu=e6500 --sysroot=/ppc/build/tmp/work/ppc64e6500-pokymllib64-linux/lib64-glibc/2.31+gitAUTOINC+3ef8be9b89-r0/lib64-recipe-sysroot accepts -g... yes
| checking whether powerpc64-pokymllib64-linux-g++ -mbig-endian -mhard-float -m64 -mcpu=e6500 --sysroot=/ppc/build/tmp/work/ppc64e6500-pokymllib64-linux/lib64-glibc/2.31+gitAUTOINC+3ef8be9b89-r0/lib64-recipe-sysroot can link programs... no
| checking for sysdeps preconfigure fragments... aarch64 alpha arm csky hppa i386 m68k microblaze checking for grep that handles long lines and -e... /ppc/build/tmp/hosttools/grep
| checking for egrep... /ppc/build/tmp/hosttools/grep -E
| mips nios2 powerpc riscv s390 sh checking for grep that handles long lines and -e... (cached) /ppc/build/tmp/hosttools/grep
| checking for egrep... (cached) /ppc/build/tmp/hosttools/grep -E
| sparc x86_64
| checking for use of fpu sysdeps directories... yes
| checking for -fstack-protector... (cached) no
| checking for -fstack-protector-strong... (cached) no
| checking for -fstack-protector-all... (cached) no
| checking for assembler and linker STT_GNU_IFUNC support... yes
| checking for gcc attribute ifunc support... yes
| checking whether the linker supports textrels along with ifunc... no
| checking if compiler warns about alias for function with incompatible types... yes
| checking sysdep dirs... configure: error: The e6500 subspecies of powerpc64 is not supported.
| NOTE: The following config.log files may provide further information.
| NOTE: /ppc/build/tmp/work/ppc64e6500-pokymllib64-linux/lib64-glibc/2.31+gitAUTOINC+3ef8be9b89-r0/build-powerpc64-pokymllib64-linux/config.log
| ERROR: configure failed
| WARNING: exit code 1 from a shell command.
| ERROR: Execution of '/ppc/build/tmp/work/ppc64e6500-pokymllib64-linux/lib64-glibc/2.31+gitAUTOINC+3ef8be9b89-r0/temp/run.do_configure.1116047' failed with exit code 1
ERROR: Task (virtual:multilib:lib64:/ppc/poky/meta/recipes-core/glibc/glibc_2.31.bb:do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1292 tasks of which 1290 didn't need to be rerun and 2 failed.
Summary: 2 tasks failed:
/ppc/meta-freescale/recipes-kernel/linux/linux-qoriq_5.4.bb:do_kernel_localversion
virtual:multilib:lib64:/ppc/poky/meta/recipes-core/glibc/glibc_2.31.bb:do_configure
Summary: There were 2 WARNING messages shown.
Summary: There were 3 ERROR messages shown, returning a non-zero exit code.
I then tried with MACHINE=t4240rdb-64b and the glibc build succeeded, but the kernel_localconf failed with :
$ bitbake core-image-minimal
Loading cache: 100% |#############################################################################################################################################################################################################################################################################################################################################################################################| Time: 0:00:00
Loaded 2396 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.46.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "powerpc64-poky-linux"
MACHINE = "t4240rdb-64b"
DISTRO = "poky"
DISTRO_VERSION = "3.1.15"
TUNE_FEATURES = "m64 fpu-hard e6500 altivec bigendian"
TARGET_FPU = "hard"
meta
meta-poky
meta-yocto-bsp = "my-dunfell:b41d4e46d30ed32e11d68466721a0f4056bad700"
meta-freescale = "my-dunfell:5a026be5a6b29a27a7754d7fa5d4765c99f98ed9"
Initialising tasks: 100% |########################################################################################################################################################################################################################################################################################################################################################################################| Time: 0:00:01
Sstate summary: Wanted 854 Found 1 Missed 853 Current 321 (0% match, 27% complete)
NOTE: Executing Tasks
ERROR: linux-qoriq-5.4.3+gitAUTOINC+134788b164-r0 do_kernel_localversion: Execution of '/ppc/build/tmp/work/t4240rdb_64b-poky-linux/linux-qoriq/5.4.3+gitAUTOINC+134788b164-r0/temp/run.do_kernel_localversion.1175477' failed with exit code 2
ERROR: Logfile of failure stored in: /ppc/build/tmp/work/t4240rdb_64b-poky-linux/linux-qoriq/5.4.3+gitAUTOINC+134788b164-r0/temp/log.do_kernel_localversion.1175477
Log data follows:
| DEBUG: Executing shell function do_kernel_localversion
| /ppc/build/tmp/work/t4240rdb_64b-poky-linux/linux-qoriq/5.4.3+gitAUTOINC+134788b164-r0/temp/run.do_kernel_localversion.1175477: 121: cannot open /ppc/build/tmp/work/t4240rdb_64b-poky-linux/linux-qoriq/5.4.3+gitAUTOINC+134788b164-r0/defconfig: No such file
| WARNING: exit code 2 from a shell command.
| ERROR: Execution of '/ppc/build/tmp/work/t4240rdb_64b-poky-linux/linux-qoriq/5.4.3+gitAUTOINC+134788b164-r0/temp/run.do_kernel_localversion.1175477' failed with exit code 2
ERROR: Task (/ppc/meta-freescale/recipes-kernel/linux/linux-qoriq_5.4.bb:do_kernel_localversion) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1516 tasks of which 1062 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
/ppc/meta-freescale/recipes-kernel/linux/linux-qoriq_5.4.bb:do_kernel_localversion
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
I think I'm doing something wrong (maybe a distro problem ?), but I can't find any documentation or possible solutions on the internet.
Can anyone help me ?
Thank you in advance,
I setup Yocto (dunfell) build environment on my Ubuntu 18.04 Linux PC, created build project build_t4240rdb and executed the following command without any problem.
$ bitbake glibc
$ bitbake virtual/kernel