Hello,

 

first, thanks for your great support on meta-arago layer and further enthusiastic developing.

 

I’m trying to build a project with an external toolchain but failing on the recipe /meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb:do_install. I’m building in a docker container, with reduced layers using the ./oe-layertool-setup.sh command with following test config file. I’ve tried first gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf but it fails also, so I downgraded to gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf without success.

 

I removed the external-arm-toolchain.bbΑppend from meta-arago-extra, which solves the problem, but isn’t a solution.

 

This patch may be related to the problem, but I couldn’t figure it out, how.

https://git.ti.com/cgit/arago-project/meta-arago/commit/meta-arago-extras/recipes-core/meta/external-arm-toolchain.bbappend?h=dunfell&id=e23dd5968c7c8f096a3bcdbf51effd6c0d5be77d

 

The result of building is following:

 

amk@db5f2ff243cd:/app/build$ MACHINE=am57xx-evm bitbake external-arm-toolchain

NOTE: Started PRServer with DBfile: /app/build/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 39041, PID: 368020

Loading cache: 100% |#########################################################################################################################################################################################################| Time: 0:00:00

Loaded 3971 entries from dependency cache.

WARNING: No recipes available for:

š /app/sources/meta-arago/meta-arago-distro/recipes-containers/docker/docker%.bbappend

NOTE: Resolving any missing task queue dependencies

 

Build Configuration:

BB_VERSIONšššššššššš = "1.46.0"

BUILD_SYSššššššššššš = "x86_64-linux"

NATIVELSBSTRINGššššš = "ubuntu-18.04"

TARGET_SYSšššššššššš = "arm-linux-gnueabi"

MACHINEššššššššššššš = "am57xx-evm"

DISTROšššššššššššššš = "arago"

DISTRO_VERSIONšššššš = "2020.09"

TUNE_FEATURESššššššš = "arm armv7a vfp thumb neon callconvention-hard"

TARGET_FPUšššššššššš = "hard"

meta-arago-distro

meta-arago-extrasššš = "dunfell:ccb42fd29643f2c456a0d98633939a77bc11df6b"

meta-qt5šššššššššššš = "dunfell:b4d24d70aca75791902df5cd59a4f4a54aa4a125"

meta-networking

meta-python

meta-oe

meta-gnome

meta-filesystemsšššš = "dunfell:2e7e98cd0cb82db214b13224c71134b9335a719b"

meta-tiššššššššššššš = "dunfell:b2c515a5abd5a2270c54c0e0fec441c7c456c75f"

meta-arm

meta-arm-toolchainšš = "dunfell:ce535dfb96de4d2529f091d7d85a7172c626001c"

metašššššššššššššššš = "dunfell:c7d2281eb6cda9c1637c20b3540b142073bca235"

 

Initialising tasks: 100% |####################################################################################################################################################################################################| Time: 0:00:00

Sstate summary: Wanted 11 Found 0 Missed 11 Current 41 (0% match, 78% complete)

NOTE: Executing Tasks

ERROR: external-arm-toolchain-2019.12-r0 do_install: Execution of '/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/temp/run.do_install.373811' failed with exit code 1:

/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libanl.so.1 is a symlink of /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libanl-2.30.so, keep it

/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libBrokenLocale.so.1 is a symlink of /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libBrokenLocale-2.30.so, keep it

/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libc.so.6 is a symlink of /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libc-2.30.so, keep it

/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libcrypt.so.1 is a symlink of /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libcrypt-2.30.so, keep it

/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libdl.so.2 is a symlink of /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libdl-2.30.so, keep it

/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libm.so.6 is a symlink of /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libm-2.30.so, keep it

/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libnsl.so.1 is a symlink of /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libnsl-2.30.so, keep it

/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libnss_compat.so.2 is a symlink of /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libnss_compat-2.30.so, keep it

/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libnss_db.so.2 is a symlink of /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libnss_db-2.30.so, keep it

/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libnss_dns.so.2 is a symlink of /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libnss_dns-2.30.so, keep it

/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libnss_files.so.2 is a symlink of /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libnss_files-2.30.so, keep it

/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libnss_hesiod.so.2 is a symlink of /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libnss_hesiod-2.30.so, keep it

/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libpthread.so.0 is a symlink of /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libpthread-2.30.so, keep it

/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libresolv.so.2 is a symlink of /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libresolv-2.30.so, keep it

/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/librt.so.1 is a symlink of /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/librt-2.30.so, keep it

/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libutil.so.1 is a symlink of /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/lib/libutil-2.30.so, keep it

rmdir: failed to remove '/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/usr/bin': Directory not empty

rmdir: failed to remove '/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/usr/sbin': Directory not empty

rmdir: failed to remove '/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/sbin': Directory not empty

š WRAPššš arch/arm/include/generated/uapi/asm/bitsperlong.h

|šš HDRINST usr/include/asm/bitsperlong.h

|šš INSTALL /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/external-arm-toolchain-2019.12/usr/include

| mv: cannot stat '/app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/usr/lib/gcc/arm-none-linux-gnueabihf': No such file or directory

| WARNING: /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/temp/run.do_install.347161:1 exit 1 from 'mv /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/usr/lib/gcc/arm-none-linux-gnueabihf /app/build/arago-tmp-external-arm-glibc/work/armv7at2hf-neon-linux-gnueabi/external-arm-toolchain/2019.12-r0/image/usr/lib/gcc/arm-linux-gnueabi'

 

Environment after sourcing conf/setenv:

 

LC_ALL=en_US.UTF-8

LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:

LESSCLOSE=/usr/bin/lesspipe %s %s

OEBASE=/app

LANG=en_US.UTF-8

HOSTNAME=db5f2ff243cd

OLDPWD=/app

PWD=/app/build

HOME=/home/amk

BB_ENV_EXTRAWHITE=MACHINE DISTRO TCMODE TCLIBC http_proxy ftp_proxy https_proxy all_proxy ALL_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS PARALLEL_MAKE GIT_PROXY_COMMAND GIT_PROXY_IGNORE SOCKS5_PASSWD SOCKS5_USER OEBASE META_SDK_PATH TOOLCHAIN_TYPE TOOLCHAIN_BRAND TOOLCHAIN_BASE TOOLCHAIN_PATH TOOLCHAIN_PATH_ARMV5 TOOLCHAIN_PATH_ARMV7 TOOLCHAIN_PATH_ARMV8 EXTRA_TISDK_FILES TISDK_VERSION ARAGO_BRAND ARAGO_RT_ENABLE ARAGO_SYSTEST_ENABLE ARAGO_KERNEL_SUFFIX TI_SECURE_DEV_PKG_CAT TI_SECURE_DEV_PKG_AUTO TI_SECURE_DEV_PKG_K3 ARAGO_SYSVINIT SYSFW_FILE

TOOLCHAIN_PATH_ARMV7=/opt/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf

BUILDDIR=/app/build

TERM=xterm

SHLVL=1

LANGUAGE=en_US:en

PATH=/app/sources/meta-rauc/scripts:/app/sources/oe-core/scripts:/app/sources/bitbake/bin:/app/sources/meta-rauc/scripts:/app/sources/oe-core/scripts:/app/sources/bitbake/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

TOOLCHAIN_BASE=/opt/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf

LESSOPEN=| /usr/bin/lesspipe %s

_=/usr/bin/env

 

 

Test config file for setup layers:

 

amk@db5f2ff243cd:/app$ cat configs/ext-toolchain-config.txt

# This file takes repo entries in the format

# repo name,repo uri,repo branch,repo commit[,layers=layer1:layer2...:layern]

 

bitbake,git://git.openembedded.org/bitbake,1.46,HEAD

meta-arago,git://arago-project.org/git/meta-arago.git,dunfell,HEAD,layers=meta-arago-distro:meta-arago-extras

meta-qt5,git://github.com/meta-qt5/meta-qt5.git,dunfell,HEAD,layers=

meta-openembedded,git://git.openembedded.org/meta-openembedded,dunfell,HEAD,layers=meta-networking:meta-python:meta-oe:meta-gnome:meta-filesystems

meta-ti,git://git.yoctoproject.org/meta-ti,dunfell,HEAD,layers=

meta-arm,git://git.yoctoproject.org/meta-arm,dunfell,HEAD,layers=meta-arm:meta-arm-toolchain

oe-core,git://git.openembedded.org/openembedded-core,dunfell,HEAD,layers=meta

OECORELAYERCONF=./sample-files/bblayers.conf.sample

OECORELOCALCONF=./sample-files/local.conf.sample

 

Local conf:

 

amk@db5f2ff243cd:/app/build$ diff ../sample-files/local.conf.sample conf/local.conf

13c13

< DL_DIR = "${OEBASE}/downloads"

---

> DL_DIR = "/app/downloads"

51c51,54

< TMPDIR = "${OEBASE}/build/arago-tmp"

---

> TMPDIR = "${TOPDIR}/arago-tmp"

> 

> # By default, DEPLOY_DIR is inside TMPDIR, but can be changed here to be outside

> #DEPLOY_DIR = "${TOPDIR}/deploy"

82c85

< SDKMACHINE ?= "i686"

---

> SDKMACHINE ?= "x86_64"

123c126

< #ENABLE_BINARY_LOCALE_GENERATION = "0"

---

> ENABLE_BINARY_LOCALE_GENERATION = "0"

138c141

< BB_NUMBER_THREADS = "1"

---

> BB_NUMBER_THREADS = "24"

143c146

< PARALLEL_MAKE = "-j 1"

---

> PARALLEL_MAKE = "-j 24"

148,150c151

< # Select a distribution from supported "arago", "angstrom-2010.x" or "poky"

< # By default, go with the "distroless" configuration, when not set

< #DISTROšš = "arago"

---

> DISTROšš = "arago"

164a166,174

> 

> # Enable local PR service for binary feeds

> PRSERV_HOST = "localhost:0"

> 

> # It is recommended to activate "buildhistory" for testing the PR service

> INHERIT += "buildhistory"

> BUILDHISTORY_COMMIT = "1"

> 

> EXTERNAL_TOOLCHAIN="/opt/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf"

 

Building in Docker Container with following Docker File:

FROM ubuntu:18.04

 

RUN apt-get update && \

ššššššš DEBIAN_FRONTEND=noninteractive apt-get -yq install git build-essential python3 diffstat texinfo gawk chrpath dos2unix wget unzip socat doxygen libc6-i386 libncurses5 libstdc++6 libz1 locales openssh-server cpio sudo python3-distutils

 

# set bash as default

RUN echo "dash dash/sh boolean false" | debconf-set-selections && \

ššššššš DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash

 

# Set the locale

RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \

ššš locale-gen

ENV LANG en_US.UTF-8

ENV LANGUAGE en_US:en

ENV LC_ALL en_US.UTF-8

 

# pythone requirements

 

RUN useradd -rm -d /home/amk -s /bin/bash -g root -G sudo -u 1001 amk

RUN chown amk:root /opt

USER amk

WORKDIR /app

 

# Authorize SSH Host

RUN mkdir -p $HOME/.ssh && \

ššš chmod 0700 $HOME/.ssh && \

ššš ssh-keyscan gitlab.amk-drives.bg > $HOME/.ssh/known_hosts

RUN ssh-keyscan developer.arm.com > $HOME/.ssh/known_hosts

 

#install the toolchain

RUN cd /opt && \

ššššššš wget --no-check-certificate https://developer.arm.com/-/media/Files/downloads/gnu-a/9.2-2019.12/binrel/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz && \

ššššššš tar -Jxvf gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz -C /opt/

 

ENV TOOLCHAIN_PATH_ARMV7=/opt/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf

ENV TOOLCHAIN_BASE=${TOOLCHAIN_PATH_ARMV7}

 

I will continue investigation and how to fix this, but for solutions or hints I’m pleasant.

 

Best regards !

Daniel L.