misc:docker_x_compile_crash
Table of Contents
Docker X-compile libc-bin segfault
Overview
In many of my docker containers, I use Ubuntu images as the base image. Additionally, I usually run an apt update
and apt upgrade
in the build steps of my container. At one point, the builds would fail with something to this effect when x-compiling for ARM (Raspberry PI):
51.42 Unpacking libc-bin (2.35-0ubuntu3.8) over (2.35-0ubuntu3.7) ... 51.89 Setting up libc-bin (2.35-0ubuntu3.8) ... 52.23 Segmentation fault (core dumped) 52.40 Segmentation fault (core dumped) 52.41 dpkg: error processing package libc-bin (--configure): 52.41 installed libc-bin package post-installation script subprocess returned e rror exit status 139 52.45 Errors were encountered while processing: 52.45 libc-bin 52.56 E: Sub-process /usr/bin/dpkg returned an error code (1)
This turns out to be an issue QEMU on my linux box that I'm building these on. Now, on to the fix.
The Fix
At this point, I just added a function to my bashrc file to just fix this where it happens.
function fix_docker_build() { # If there are errors processing libc-bin, run this # from https://t.brk.io/6A docker pull tonistiigi/binfmt:latest docker run --privileged --rm tonistiigi/binfmt --uninstall qemu-* docker run --privileged --rm tonistiigi/binfmt --install all }
You can run the individual commands or just add this to your bashrc file (and source ~/.bashrc
) and then just run fix_docker_build
anytime later.
misc/docker_x_compile_crash.txt · Last modified: 2024/07/02 20:20 by jay