I have a bunch of L4T based containers I want to automate using Github Actions, they build locally on the latest Docker for Windows (via BuildKit), Xavier AGX and Jetson Nano. However, the same container fails when I try to run it on GitHub Ubuntu runner.
When running on Github I get an error related to processing libc6 package that doesn’t occur locally.
Error:
#5 42.67 debconf: delaying package configuration, since apt-utils is not installed
#5 42.90 Fetched 210 MB in 11s (18.7 MB/s)
#5 43.02 Error while loading /usr/local/cuda-10.2/bin/dpkg-split: No such file or directory
#5 43.03 Error while loading /usr/local/cuda-10.2/bin/dpkg-deb: No such file or directory
#5 43.03 dpkg: error processing archive /var/cache/apt/archives/libc6_2.27-3ubuntu1.4_arm64.deb (--unpack):
#5 43.03 dpkg-deb --control subprocess returned error exit status 1
#5 43.05 Errors were encountered while processing:
#5 43.05 /var/cache/apt/archives/libc6_2.27-3ubuntu1.4_arm64.deb
#5 43.20 E: Sub-process /usr/bin/dpkg returned an error code (1)
#5 ERROR: process "/dev/.buildkit_qemu_emulator /bin/sh -c apt-get update && apt-get -y --quiet --no-install-recommends install \t\tbzip2 \t\tbuild-essential \t\tca-certificates \t\tccache \t\tcmake \t\tcppcheck \t\tcurl \t\tdirmngr \t\tdoxygen \t\tfile \t\tgdb \t\tgit \t\tgnupg \t\tgosu \t\tlcov \t\tlibfreetype6-dev \t\tlibgtest-dev \t\tlibpng-dev \t\tlibpcap-dev \t\tlibpq-dev \t\tlibssl-dev \t\tlsb-release \t\tninja-build \t\topenjdk-8-jdk \t\topenjdk-8-jre \t\topenssh-client \t\tpkg-config \t\tpython3-dev \t\tpython3-pip \t\tpython3-matplotlib \t\trsync \t\tshellcheck \t\ttzdata \t\tunzip \t\tvalgrind \t\twget \t\txsltproc \t\tzip \t&& apt-get -y autoremove \t&& apt-get clean autoclean \t&& rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} /tmp/* /var/tmp/*" did not complete successfully: exit code: 100
Local build from Xavier AGX
debconf: delaying package configuration, since apt-utils is not installed
Fetched 210 MB in 29s (7213 kB/s)
(Reading database ... 29268 files and directories currently installed.)
Preparing to unpack .../libc6_2.27-3ubuntu1.4_arm64.deb ...
Unpacking libc6:arm64 (2.27-3ubuntu1.4) over (2.27-3ubuntu1.3) ...
Setting up libc6:arm64 (2.27-3ubuntu1.4) ...
Workflow:
name: Build & Publish ARM64 Docker images
on:
workflow_dispatch:
tags:
- '*'
branches:
- '*'
push:
tags:
- '*'
branches:
- master
pull_request:
branches:
- master
jobs:
px4-dev-base-l4t:
name: "Ubuntu L4T Base"
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
-
name: Build container
run: |
cd docker
make px4-dev-base-l4t
-
name: Build & Publish container
if: github.event_name == 'push' && (contains(github.ref, '/heads/master') || contains(github.ref, '/tags/'))
uses: julianoes/Publish-Docker-Github-Action@master
with:
name: random82/px4-dev-base-l4t
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
dockerfile: Dockerfile_base-l4t
cache: false
tag_names: true
workdir: docker