Closed9

Ubuntu 23.04 Arm64 で Linux from Scratch してみる

SiketyanSiketyan

2.2 Host System Requirements

ビルドツール群の存在とバージョンをチェックする.
初期状態の Ubuntu では足りないものもあるのでインストールする.

sudo apt install bison gawk gcc g++ make texinfo xz-utils
Before
OK:    Coreutils 9.1    >= 7.0
OK:    Bash      5.2.15 >= 3.2
ERROR: Cannot find ld (Binutils)
ERROR: Cannot find bison (Bison)
OK:    Diffutils 3.8    >= 2.8.1
OK:    Findutils 4.9.0  >= 4.2.31
ERROR: Cannot find gawk (Gawk)
ERROR: Cannot find gcc (GCC)
ERROR: Cannot find g++ (GCC (C++))
OK:    Grep      3.8    >= 2.5.1a
OK:    Gzip      1.12   >= 1.3.12
ERROR: Cannot find m4 (M4)
ERROR: Cannot find make (Make)
OK:    Patch     2.7.6  >= 2.5.4
OK:    Perl      5.36.0 >= 5.8.8
OK:    Python    3.11.4 >= 3.4
OK:    Sed       4.9    >= 4.1.5
OK:    Tar       1.34   >= 1.22
ERROR: Cannot find texi2any (Texinfo)
ERROR: Cannot find xz (Xz)
OK:    Linux Kernel 6.4.16 >= 4.14
OK:    Linux Kernel supports UNIX 98 PTY
Aliases:
ERROR: awk  is NOT GNU
ERROR: yacc is NOT Bison
ERROR: sh   is NOT Bash
Compiler check:
version-check.sh: line 81: g++: command not found
ERROR: g++ does NOT work
After
OK:    Coreutils 9.1    >= 7.0
OK:    Bash      5.2.15 >= 3.2
OK:    Binutils  2.40   >= 2.13.1
OK:    Bison     3.8.2  >= 2.7
OK:    Diffutils 3.8    >= 2.8.1
OK:    Findutils 4.9.0  >= 4.2.31
OK:    Gawk      5.2.1  >= 4.0.1
OK:    GCC       12.3.0 >= 5.1
OK:    GCC (C++) 12.3.0 >= 5.1
OK:    Grep      3.8    >= 2.5.1a
OK:    Gzip      1.12   >= 1.3.12
OK:    M4        1.4.19 >= 1.4.10
OK:    Make      4.3    >= 4.0
OK:    Patch     2.7.6  >= 2.5.4
OK:    Perl      5.36.0 >= 5.8.8
OK:    Python    3.11.4 >= 3.4
OK:    Sed       4.9    >= 4.1.5
OK:    Tar       1.34   >= 1.22
OK:    Texinfo   6.8    >= 5.0
OK:    Xz        5.4.1  >= 5.0.0
OK:    Linux Kernel 6.4.16 >= 4.14
OK:    Linux Kernel supports UNIX 98 PTY
Aliases:
OK:    awk  is GNU
OK:    yacc is Bison
ERROR: sh   is NOT Bash
Compiler check:
OK:    g++ works

Ubuntu の /bin/sh は dash へのリンクなので sh is NOT Bash と言われているが一旦困るまでスルー

SiketyanSiketyan

2.5. Creating a File System on the Partition

今回は OrbStack 上の Linux Machine で作業しているため物理ディスクではなくディスクイメージを使いたい.無駄に領域を取られるのも嫌なので Sparse File を使う:

truncate -s 10G rootfs.img
mkfs.ext4 rootfs.img
sudo mkdir -pv /mnt/lfs
sudo mount -v -t ext4 root.img /mnt/lfs
SiketyanSiketyan

3.2. All Packages

必要なパッケージのソースコードをダウンロードする.LFS リリース後に最新バージョンが出ているものはそれを使った.

スクリプト
sudo apt install wget
mkdir sources && cd sources
wget http://download.savannah.nongnu.org/releases/acl/acl-2.3.1.tar.xz
wget http://download.savannah.nongnu.org/releases/attr/attr-2.5.1.tar.xz
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz
wget https://ftp.gnu.org/gnu/automake/automake-1.16.5.tar.xz
wget https://ftp.gnu.org/gnu/bash/bash-5.2.15.tar.gz
wget https://git.gavinhoward.com/gavin/bc/releases/download/6.7.0/bc-6.7.0.tar.xz
wget https://ftp.gnu.org/gnu/binutils/binutils-2.41.tar.xz
wget https://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.xz
wget https://www.sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz
wget https://github.com/libcheck/check/releases/download/0.15.2/check-0.15.2.tar.gz
wget https://ftp.gnu.org/gnu/coreutils/coreutils-9.4.tar.xz
wget https://dbus.freedesktop.org/releases/dbus/dbus-1.15.8.tar.xz
wget https://ftp.gnu.org/gnu/dejagnu/dejagnu-1.6.3.tar.gz
wget https://ftp.gnu.org/gnu/diffutils/diffutils-3.10.tar.xz
wget https://mirrors.edge.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.47.0/e2fsprogs-1.47.0.tar.xz
wget https://sourceware.org/elfutils/ftp/0.189/elfutils-0.189.tar.bz2
wget https://github.com/libexpat/libexpat/releases/download/R_2_5_0/expat-2.5.0.tar.xz
wget https://jaist.dl.sourceforge.net/project/expect/Expect/5.45.4/expect5.45.4.tar.gz
wget http://ftp.astron.com/pub/file/file-5.45.tar.gz
wget https://ftp.gnu.org/gnu/findutils/findutils-4.9.0.tar.xz
wget https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz
wget https://files.pythonhosted.org/packages/c4/e6/c1ac50fe3eebb38a155155711e6e864e254ce4b6e17fe2429b4c4d5b9e80/flit_core-3.9.0.tar.gz
wget https://ftp.gnu.org/gnu/gawk/gawk-5.2.2.tar.xz
wget https://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-13.2.0/gcc-13.2.0.tar.xz
wget https://ftp.gnu.org/gnu/gdbm/gdbm-1.23.tar.gz
wget https://ftp.gnu.org/pub/gnu/gettext/gettext-0.22.3.tar.xz
wget https://ftp.gnu.org/gnu/libc/glibc-2.38.tar.xz
wget https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz
wget https://ftp.gnu.org/gnu/gperf/gperf-3.1.tar.gz
wget https://ftp.gnu.org/gnu/grep/grep-3.11.tar.xz
wget https://ftp.gnu.org/gnu/groff/groff-1.23.0.tar.gz
wget https://ftp.gnu.org/gnu/grub/grub-2.06.tar.xz
wget https://ftp.gnu.org/gnu/gzip/gzip-1.13.tar.xz
wget https://github.com/Mic92/iana-etc/releases/download/20231003/iana-etc-20231003.tar.gz
wget https://ftp.gnu.org/gnu/inetutils/inetutils-2.4.tar.xz
wget https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz
wget https://mirrors.edge.kernel.org/pub/linux/utils/net/iproute2/iproute2-6.5.0.tar.xz
wget https://files.pythonhosted.org/packages/7a/ff/75c28576a1d900e87eb6335b063fab47a8ef3c8b4d88524c4bf78f670cce/Jinja2-3.1.2.tar.gz
wget https://mirrors.edge.kernel.org/pub/linux/utils/kbd/kbd-2.6.3.tar.xz
wget https://mirrors.edge.kernel.org/pub/linux/utils/kernel/kmod/kmod-29.tar.xz
wget https://www.greenwoodsoftware.com/less/less-643.tar.gz
wget https://mirrors.edge.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.69.tar.xz
wget https://github.com/libffi/libffi/releases/download/v3.4.4/libffi-3.4.4.tar.gz
wget https://download.savannah.nongnu.org/releases/libpipeline/libpipeline-1.5.7.tar.gz
wget https://mirrors.ocf.berkeley.edu/gnu/libtool/libtool-2.4.7.tar.xz
wget https://github.com/besser82/libxcrypt/releases/download/v4.4.36/libxcrypt-4.4.36.tar.xz
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.5.7.tar.xz
wget https://ftp.gnu.org/gnu/m4/m4-1.4.19.tar.xz
wget https://ftp.gnu.org/gnu/make/make-4.4.1.tar.gz
wget https://download.savannah.nongnu.org/releases/man-db/man-db-2.12.0.tar.xz
wget https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/man-pages-6.05.01.tar.xz
wget https://github.com/pallets/markupsafe/releases/download/2.1.3/MarkupSafe-2.1.3.tar.gz
wget https://github.com/mesonbuild/meson/releases/download/1.2.2/meson-1.2.2.tar.gz
wget https://ftp.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz
wget https://www.mpfr.org/mpfr-current/mpfr-4.2.1.tar.xz
wget https://invisible-island.net/archives/ncurses/ncurses-6.4.tar.gz
wget https://github.com/ninja-build/ninja/archive/refs/tags/v1.11.1.tar.gz
wget https://www.openssl.org/source/openssl-3.1.3.tar.gz
wget https://ftp.gnu.org/gnu/patch/patch-2.7.6.tar.xz
wget https://www.cpan.org/src/5.0/perl-5.38.0.tar.gz
wget https://distfiles.ariadne.space/pkgconf/pkgconf-2.0.3.tar.xz
wget https://jaist.dl.sourceforge.net/project/procps-ng/Production/procps-ng-4.0.4.tar.xz
wget https://jaist.dl.sourceforge.net/project/psmisc/psmisc/psmisc-23.6.tar.xz
wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tar.xz
wget https://ftp.gnu.org/gnu/readline/readline-8.2.tar.gz
wget https://ftp.gnu.org/gnu/sed/sed-4.9.tar.xz
wget https://github.com/shadow-maint/shadow/releases/download/4.14.1/shadow-4.14.1.tar.xz
wget https://github.com/systemd/systemd/archive/refs/tags/v254.tar.gz
wget https://anduin.linuxfromscratch.org/LFS/systemd-man-pages-254.tar.xz
wget https://ftp.gnu.org/gnu/tar/tar-1.35.tar.xz
wget https://jaist.dl.sourceforge.net/project/tcl/Tcl/8.6.13/tcl8.6.13-src.tar.gz
wget https://jaist.dl.sourceforge.net/project/tcl/Tcl/8.6.13/tcl8.6.13-html.tar.gz
wget https://ftp.gnu.org/gnu/texinfo/texinfo-7.0.3.tar.xz
wget https://data.iana.org/time-zones/releases/tzdata2023c.tar.gz
wget https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/util-linux-2.39.2.tar.xz
wget https://github.com/vim/vim/archive/refs/tags/v9.0.2009.tar.gz
wget https://files.pythonhosted.org/packages/a4/99/78c4f3bd50619d772168bec6a0f34379b02c19c9cced0ed833ecd021fd0d/wheel-0.41.2.tar.gz
wget https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-2.46.readme
wget https://tukaani.org/xz/xz-5.4.4.tar.xz
wget https://www.zlib.net/zlib-1.3.tar.xz
wget https://github.com/facebook/zstd/releases/download/v1.5.5/zstd-1.5.5.tar.gz
SiketyanSiketyan

各パッケージのビルド,ガイド通りにやってたらまったくはまらずに 7 章まできてしまった.
ちゃんと chroot するところまでできた

SiketyanSiketyan

8.5. Glibc-2.38

なんかめちゃめちゃテストオチてるけど大丈夫かな……

ログ
FAIL: assert/tst-assert-c++
FAIL: assert/tst-assert-g++
FAIL: debug/tst-backtrace2
FAIL: debug/tst-backtrace3
FAIL: debug/tst-backtrace4
FAIL: debug/tst-backtrace5
FAIL: debug/tst-backtrace6
FAIL: debug/tst-chk-cancel
FAIL: debug/tst-fortify
FAIL: debug/tst-fortify-c-default-1-def
FAIL: debug/tst-fortify-c-default-2-def
FAIL: debug/tst-fortify-c-default-3-def
FAIL: debug/tst-fortify-c-lfs-1-def
FAIL: debug/tst-fortify-c-lfs-2-def
FAIL: debug/tst-fortify-c-lfs-3-def
FAIL: debug/tst-fortify-cc-default-1-def
FAIL: debug/tst-fortify-cc-default-2-def
FAIL: debug/tst-fortify-cc-default-3-def
FAIL: debug/tst-fortify-cc-lfs-1-def
FAIL: debug/tst-fortify-cc-lfs-2-def
FAIL: debug/tst-fortify-cc-lfs-3-def
FAIL: debug/tst-fortify-cc-nongnu-1-def
FAIL: debug/tst-fortify-cc-nongnu-2-def
FAIL: debug/tst-fortify-cc-nongnu-3-def
FAIL: dlfcn/bug-atexit3
UNSUPPORTED: elf/tst-dlopen-self-container
UNSUPPORTED: elf/tst-dlopen-tlsmodid-container
UNSUPPORTED: elf/tst-env-setuid
UNSUPPORTED: elf/tst-env-setuid-tunables
UNSUPPORTED: elf/tst-glibc-hwcaps-prepend-cache
UNSUPPORTED: elf/tst-ldconfig-bad-aux-cache
UNSUPPORTED: elf/tst-ldconfig-ld_so_conf-update
UNSUPPORTED: elf/tst-ldconfig-p
UNSUPPORTED: elf/tst-pldd
UNSUPPORTED: elf/tst-preload-pthread-libc
XPASS: elf/tst-protected1a
XPASS: elf/tst-protected1b
UNSUPPORTED: elf/tst-rootdir
FAIL: elf/tst-unwind-main
UNSUPPORTED: elf/tst-valgrind-smoke
UNSUPPORTED: grp/tst-initgroups1
UNSUPPORTED: grp/tst-initgroups2
FAIL: iconv/tst-iconv-mt
UNSUPPORTED: io/tst-getcwd-smallbuff
FAIL: io/tst-lchmod
FAIL: libio/tst-fgetc-after-eof
UNSUPPORTED: locale/tst-localedef-path-norm
UNSUPPORTED: localedata/tst-localedef-hardlinks
FAIL: login/tst-grantpt
FAIL: login/tst-ptsname
FAIL: malloc/tst-malloc-stats-cancellation
FAIL: malloc/tst-malloc-stats-cancellation-malloc-check
FAIL: malloc/tst-malloc-stats-cancellation-malloc-hugetlb1
FAIL: malloc/tst-malloc-stats-cancellation-malloc-hugetlb2
UNSUPPORTED: misc/tst-adjtimex
UNSUPPORTED: misc/tst-clock_adjtime
FAIL: misc/tst-gettid-kill
UNSUPPORTED: misc/tst-ntp_adjtime
UNSUPPORTED: misc/tst-pkey
FAIL: misc/tst-sigcontext-get_pc
UNSUPPORTED: misc/tst-syslog
FAIL: misc/tst-ttyname-direct
FAIL: misc/tst-ttyname-namespace
UNSUPPORTED: nptl/test-cond-printers
UNSUPPORTED: nptl/test-condattr-printers
UNSUPPORTED: nptl/test-mutex-printers
UNSUPPORTED: nptl/test-mutexattr-printers
UNSUPPORTED: nptl/test-rwlock-printers
UNSUPPORTED: nptl/test-rwlockattr-printers
FAIL: nptl/tst-basic3
FAIL: nptl/tst-basic4
FAIL: nptl/tst-call-once
FAIL: nptl/tst-cancel-self
FAIL: nptl/tst-cancel-self-cancelstate
FAIL: nptl/tst-cancel-self-canceltype
FAIL: nptl/tst-cancel-self-testcancel
FAIL: nptl/tst-cancel1
FAIL: nptl/tst-cancel10
FAIL: nptl/tst-cancel11
FAIL: nptl/tst-cancel12
FAIL: nptl/tst-cancel13
FAIL: nptl/tst-cancel14
FAIL: nptl/tst-cancel15
FAIL: nptl/tst-cancel16
FAIL: nptl/tst-cancel17
FAIL: nptl/tst-cancel18
FAIL: nptl/tst-cancel2
FAIL: nptl/tst-cancel20
FAIL: nptl/tst-cancel21
FAIL: nptl/tst-cancel22
FAIL: nptl/tst-cancel23
FAIL: nptl/tst-cancel24
FAIL: nptl/tst-cancel25
FAIL: nptl/tst-cancel28
FAIL: nptl/tst-cancel29
FAIL: nptl/tst-cancel3
FAIL: nptl/tst-cancel30
FAIL: nptl/tst-cancel4
FAIL: nptl/tst-cancel4_1
FAIL: nptl/tst-cancel4_2
FAIL: nptl/tst-cancel5
FAIL: nptl/tst-cancel6
FAIL: nptl/tst-cancel7
FAIL: nptl/tst-cancel8
FAIL: nptl/tst-cancel9
FAIL: nptl/tst-cancelx10
FAIL: nptl/tst-cancelx11
FAIL: nptl/tst-cancelx12
FAIL: nptl/tst-cancelx13
FAIL: nptl/tst-cancelx14
FAIL: nptl/tst-cancelx15
FAIL: nptl/tst-cancelx16
FAIL: nptl/tst-cancelx17
FAIL: nptl/tst-cancelx18
FAIL: nptl/tst-cancelx2
FAIL: nptl/tst-cancelx20
FAIL: nptl/tst-cancelx21
FAIL: nptl/tst-cancelx3
FAIL: nptl/tst-cancelx4
FAIL: nptl/tst-cancelx5
FAIL: nptl/tst-cancelx6
FAIL: nptl/tst-cancelx7
FAIL: nptl/tst-cancelx8
FAIL: nptl/tst-cancelx9
FAIL: nptl/tst-cleanup0
FAIL: nptl/tst-cleanup0-cmp
FAIL: nptl/tst-cleanup1
FAIL: nptl/tst-cleanup3
FAIL: nptl/tst-cleanup4
FAIL: nptl/tst-cleanupx0
FAIL: nptl/tst-cleanupx1
FAIL: nptl/tst-cleanupx3
FAIL: nptl/tst-cleanupx4
FAIL: nptl/tst-cnd-basic
FAIL: nptl/tst-cnd-broadcast
FAIL: nptl/tst-cnd-timedwait
FAIL: nptl/tst-cond-except
FAIL: nptl/tst-cond22
FAIL: nptl/tst-cond25
FAIL: nptl/tst-cond7
FAIL: nptl/tst-cond8
FAIL: nptl/tst-exec5
FAIL: nptl/tst-execstack
FAIL: nptl/tst-exit2
FAIL: nptl/tst-exit3
FAIL: nptl/tst-fini1
FAIL: nptl/tst-join1
FAIL: nptl/tst-join10
FAIL: nptl/tst-join11
FAIL: nptl/tst-join12
FAIL: nptl/tst-join13
FAIL: nptl/tst-join5
FAIL: nptl/tst-join6
FAIL: nptl/tst-join8
FAIL: nptl/tst-join9
FAIL: nptl/tst-key3
FAIL: nptl/tst-minstack-cancel
FAIL: nptl/tst-minstack-exit
FAIL: nptl/tst-minstack-throw
FAIL: nptl/tst-mtx-basic
FAIL: nptl/tst-mtx-timedlock
FAIL: nptl/tst-mtx-trylock
FAIL: nptl/tst-mutex8
FAIL: nptl/tst-mutexpi8
FAIL: nptl/tst-once3
FAIL: nptl/tst-once4
FAIL: nptl/tst-once5
FAIL: nptl/tst-oncex3
FAIL: nptl/tst-oncex4
FAIL: nptl/tst-oncey3
FAIL: nptl/tst-oncey4
FAIL: nptl/tst-pthread-exit-signal
UNSUPPORTED: nptl/tst-pthread-gdb-attach
UNSUPPORTED: nptl/tst-pthread-gdb-attach-static
UNSUPPORTED: nptl/tst-pthread-getattr
FAIL: nptl/tst-pthread-raise-blocked-self
FAIL: nptl/tst-pthread_cancel-select-loop
FAIL: nptl/tst-pthread_exit-nothreads
FAIL: nptl/tst-robust1
FAIL: nptl/tst-robust2
FAIL: nptl/tst-robust3
FAIL: nptl/tst-robust4
FAIL: nptl/tst-robust5
FAIL: nptl/tst-robust6
FAIL: nptl/tst-robust7
FAIL: nptl/tst-robustpi1
FAIL: nptl/tst-robustpi2
FAIL: nptl/tst-robustpi3
FAIL: nptl/tst-robustpi4
FAIL: nptl/tst-robustpi5
FAIL: nptl/tst-robustpi6
FAIL: nptl/tst-robustpi7
FAIL: nptl/tst-rseq-nptl
FAIL: nptl/tst-sem11
FAIL: nptl/tst-sem12
FAIL: nptl/tst-sem16
FAIL: nptl/tst-stack4
FAIL: nptl/tst-thrd-detach
FAIL: nptl/tst-thrd-sleep
FAIL: nptl/tst-thread-exit-clobber
FAIL: nptl/tst-thread_local1
FAIL: nptl/tst-tsd5
FAIL: nptl/tst-tss-basic
FAIL: nptl/tst-unwind-thread
FAIL: nss/tst-cancel-getpwuid_r
UNSUPPORTED: nss/tst-nss-compat1
UNSUPPORTED: nss/tst-nss-db-endgrent
UNSUPPORTED: nss/tst-nss-db-endpwent
UNSUPPORTED: nss/tst-nss-files-hosts-long
UNSUPPORTED: nss/tst-nss-files-hosts-v4mapped
UNSUPPORTED: nss/tst-nss-gai-actions
UNSUPPORTED: nss/tst-nss-test3
UNSUPPORTED: nss/tst-reload1
UNSUPPORTED: nss/tst-reload2
UNSUPPORTED: posix/bug-ga2
UNSUPPORTED: posix/bug-ga2-mem
FAIL: posix/tst-getopt-cancel
FAIL: posix/tst-spawn6
UNSUPPORTED: posix/tst-vfork3
UNSUPPORTED: posix/tst-vfork3-mem
UNSUPPORTED: resolv/mtrace-tst-leaks2
UNSUPPORTED: resolv/tst-leaks2
UNSUPPORTED: resolv/tst-resolv-ai_idn
UNSUPPORTED: resolv/tst-resolv-ai_idn-latin1
FAIL: rt/tst-cpuclock2
FAIL: rt/tst-mqueue8
FAIL: rt/tst-mqueue8x
FAIL: rt/tst-shm-cancel
UNSUPPORTED: stdio-common/tst-popen3
FAIL: stdlib/tst-quick_exit
UNSUPPORTED: stdlib/tst-secure-getenv
UNSUPPORTED: stdlib/tst-system
FAIL: stdlib/tst-thread-quick_exit
UNSUPPORTED: string/tst-strerror
UNSUPPORTED: string/tst-strsignal
UNSUPPORTED: time/tst-clock_settime
UNSUPPORTED: time/tst-settimeofday
FAIL: wcsmbs/tst-fgetwc-after-eof
Summary of test results:
    181 FAIL
   4504 PASS
     55 UNSUPPORTED
     16 XFAIL
      2 XPASS
make[1]: *** [Makefile:660: tests] Error 1
make[1]: Leaving directory '/usr/src/glibc-2.38'
make: *** [Makefile:9: check] Error 2
SiketyanSiketyan

8.26. Shadow-4.13

4.14.1 を使ったら readpassphrase() がないと怒られてしまった.

checking for library containing readpassphrase... no
configure: error: readpassphrase() is missing, either from libc or libbsd

LFS 環境にはないようなので --with-libbsd=no をつけて configure したら正常にビルドできた.

./configure --prefix=/usr                \
            --enable-hashes=strong,glibc \
            --enable-obsolete-api=no     \
            --disable-static             \
            --disable-failure-tokens     \
            --with-libbsd=no
SiketyanSiketyan

8.55. Meson-1.2.1

Python 3.12 から setuptools がデフォルトで含まれなくなったので https://pypi.org/project/setuptools/#files からダウンロードしてビルド・インストールする.

tar xf setuptools-68.2.2.tar.gz
cd setuptools-68.2.2
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
pip3 install --no-index --find-links dist setuptools
SiketyanSiketyan

8.75. D-Bus-1.14.8

より新しい 1.15.8 を入れようとしたらビルドシステムが meson に変わってたし glib-2.0 が必要と言われた (自動的にダウンロードしようとするが LFS 環境ではまだ名前解決ができなくて死ぬ)

オプションで glib を要求するやつを外したらとりあえず進んだ

meson setup build/ \
    -Dprefix=/usr \
    -Dsysconfdir=/etc \
    -Dlocalstatedir=/var \
    -Duser_session=false \
    -Dprefer_static=false \
    -Ddoxygen_docs=disabled \
    -Dxml_docs=disabled \
    -Dsystem_socket=/run/dbus/system_bus_socket \
    -Dmodular_tests=disabled
cd build
meson compile
meson test
meson install
SiketyanSiketyan

8.77. Procps-ng-4.0.3

4.0.4 が最新だが systemd v254 との組み合わせでビルドできなかったので諦めて 4.0.3 を使った

このスクラップは2024/12/19にクローズされました