User Tools

Site Tools


Docker X-compile libc-bin segfault


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