<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Build Distribution for Maintaining the Famous GCC 4.7</title>
        <link>https://peertube.watch/videos/watch/ba80b9b2-f845-4e5c-a0b2-a862cea64c7f</link>
        <description>Many GNU Linux distributions start their own bootstrap process with a set of binary seeds. Because, how do you build a modern C/C++ compiler without a C/C++ compiler? To solve this chicken-and-egg problem, an approach taken by some distributions is to rely on opaque, pre-build binaries. However, in order to increase trustworthiness in software, we should be able to produce every part of it from source, or at least reduce the size of the initial binary seed to the absolute minimum. In the bootstrappable builds movement, the GCC version 4.7 plays an important role: it is the last GCC version that can be built with only a C compiler. Therefore, this compiler is a stepping stone for bootstrapping everything that relies on the C++ language and above. Another important metric for trustworthiness is the capability to build reproducibly, independently of the build directory, which we addressed with patches, as it is not a native feature of this compiler version. Furthermore, additional patches were required for bringing this compiler version up to date, i.e., adding support for more recent C libraries (e.g., the musl libc) and for obtaining a compiler installation that works independently of its install prefix. We would like to present a build description (for the JustBuild build system), used to patch and bootstrap a GCC version 4.7 on a minimal x86_64 Linux system, which only needs a POSIX shell, coreutils, and a C library (GNU, musl) installed. To achieve this, the bootstrap process starts by building Busybox, GNU Make, and Binutils from scratch before those are used to bootstrap GCC 4.7. We can furthermore show how that compiler can then be used to bootstrap additional build tools (Make, CMake, Python) and even the most recent compilers (GCC 13.2, Clang 17), all from source on the exact same minimal system. In doing so, we basically bootstrap an extremely minimalistic Linux distribution for building compiler toolchains. All of that is strictly defined within a single JustBuild project, which is publicly available under an open-source license at: https://github.com/just-buildsystem/bootstrappable-toolchain. Speaker: Oliver Reiche, Track: GCC devroom, Room: K.4.201, When: Sunday 4 February 2024, 12:10–12:25 (Brussels time), Schedule: FOSDEM 2024 event page, Slides &amp; links Build Distribution for Maintaining the Famous GCC 4.7 (slides), Build Distribution for Maintaining the Famous GCC 4.7 (no animations) (slides), Bootstrappable Toolchain Project for JustBuild, JustBuild - Generic Build System, Predictable JustBuild Binaries (Application for Bootstrappable Toolchain), Licence: Creative Commons Attribution 2.0 Belgium (CC BY 2.0 BE) (as stated in the FOSDEM video archive). Attribution: “Build Distribution for Maintaining the Famous GCC 4.7” by Oliver Reiche, FOSDEM 2024. Original recording: 2024/k4201/fosdem-2024-2690-build-distribution-for-maintaining-the-famous-gcc-4-7.av1.webm from the FOSDEM video archive. This channel is an unofficial mirror; FOSDEM is a free and non-commercial event organised by the community for the community.</description>
        <lastBuildDate>Thu, 29 Oct 2026 05:33:03 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>PeerTube - https://peertube.watch</generator>
        <image>
            <title>Build Distribution for Maintaining the Famous GCC 4.7</title>
            <url>https://peertube.watch/lazy-static/avatars/3b284627-b75f-409e-ac2e-10f4c2946f43.png</url>
            <link>https://peertube.watch/videos/watch/ba80b9b2-f845-4e5c-a0b2-a862cea64c7f</link>
        </image>
        <copyright>All rights reserved, unless otherwise specified in the terms specified at https://peertube.watch/about and potential licenses granted by each content's rightholder.</copyright>
        <atom:link href="https://peertube.watch/feeds/video-comments.xml?videoId=ba80b9b2-f845-4e5c-a0b2-a862cea64c7f" rel="self" type="application/rss+xml"/>
    </channel>
</rss>