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.
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.