Wed Jun 1 12:12:20 2022 UTC ()
README.Linux: Update from on-list comments

musl works
Termux does not work
Add dates for ancient information


(gdt)
diff -r1.11 -r1.12 pkgsrc/bootstrap/README.Linux

cvs diff -r1.11 -r1.12 pkgsrc/bootstrap/README.Linux (expand / switch to unified diff)

--- pkgsrc/bootstrap/README.Linux 2022/05/01 08:06:46 1.11
+++ pkgsrc/bootstrap/README.Linux 2022/06/01 12:12:20 1.12
@@ -1,74 +1,82 @@ @@ -1,74 +1,82 @@
1$NetBSD: README.Linux,v 1.11 2022/05/01 08:06:46 nia Exp $ 1$NetBSD: README.Linux,v 1.12 2022/06/01 12:12:20 gdt Exp $
2 2
3# General 3# General
4 4
5Generally, bootstrapping on GNU/Linux is expected to Just Work with 5Generally, bootstrapping on GNU/Linux is expected to Just Work with
6gcc. 6gcc.
7 7
8# Compilers 8# Compilers
9 9
10## gcc 10## gcc
11 11
12gcc is the standard approach. 12gcc is the standard approach.
13 13
14As of 2022 it has been reported that systems with gcc 4.8 (e.g. RHEL7) 14As of 2022 it has been reported that systems with gcc 4.8 (e.g. RHEL7)
15do not bootstrap, but that gcc7 (AWS-flavored RHEL7) and gcc8 (RHEL8) succeed. 15do not bootstrap, but that gcc7 (AWS-flavored RHEL7) and gcc8 (RHEL8) succeed.
16 16
17## clang 17## clang
18 18
19There are no reports of success or failure with clang. 19There are no reports of success or failure with clang.
20 20
21## icc 21## icc
22 22
23Long ago, it was reported that icc (Intel C++ Compiler) 8.0 and 8.1 23It was reported in 2008 that icc (Intel C++ Compiler) 8.0 and 8.1
24have been tested on i386. See the old section at the end. 24have been tested on i386. See the old section at the end.
25 25
26# Debian and derivatives 26# Debian and derivatives
27 27
28For Debian and derivatives such as Ubuntu the following packages should be 28For Debian and derivatives such as Ubuntu the following packages should be
29installed prior to attempting bootstrap: 29installed prior to attempting bootstrap:
30 30
31apt-get install cvs libncurses5 libncurses5-dev gcc g++ zlib1g-dev \ 31apt-get install cvs libncurses5 libncurses5-dev gcc g++ zlib1g-dev \
32 zlib1g libssl-dev libudev-dev 32 zlib1g libssl-dev libudev-dev
33 33
34# NixOS 34# NixOS
35 35
36stdenv.cc should be installed prior to attempting bootstrap. 36stdenv.cc should be installed prior to attempting bootstrap.
37 37
38Please note that if you run the Nix garbage collector and it collects 38Please note that if you run the Nix garbage collector and it collects
39libc, every pkgsrc binary (including binaries generated during bootstrap) 39libc, every pkgsrc binary (including binaries generated during bootstrap)
40will need to be rebuilt. 40will need to be rebuilt.
41 41
 42# musl
 43
 44Linux with musl was reported to work in 2022.
 45
 46# Termux (Android)
 47
 48In 2022, unprivileged bootstrap failed.
 49
42# RedHat and derivatives 50# RedHat and derivatives
43 51
44## Old, undated, information 52## Very old hints about libattr (2008)
45 53
46Some versions of Linux (RHEL3 Update 2 for i386 for example) have a 54Some versions of Linux (RHEL3 Update 2 for i386 for example) have a
47/usr/lib/libacl.la libtool archive file that lists /lib/libattr.la as a 55/usr/lib/libacl.la libtool archive file that lists /lib/libattr.la as a
48dependency. However, libattr.la does not exist in /lib/libattr.la. If 56dependency. However, libattr.la does not exist in /lib/libattr.la. If
49this is the case, the bootstrap will fail with 57this is the case, the bootstrap will fail with
50 58
51grep: /lib/libattr.la: No such file or directory 59grep: /lib/libattr.la: No such file or directory
52/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/.tools/bin/sed: can't read /lib/libattr.la: No such file or directory 60/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/.tools/bin/sed: can't read /lib/libattr.la: No such file or directory
53libtool: link: `/lib/libattr.la' is not a valid libtool archive 61libtool: link: `/lib/libattr.la' is not a valid libtool archive
54 62
55The solution is to copy /usr/lib/libattr.la to /lib/libattr.la with: 63The solution is to copy /usr/lib/libattr.la to /lib/libattr.la with:
56 64
57cp -p /usr/lib/libattr.la /lib 65cp -p /usr/lib/libattr.la /lib
58 66
59# General old, undated information 67# Very old information
60 68
61## Details of using icc 69## Details of using icc (last update 2005
62 70
63To bootstrap using icc, assuming the default icc installation 71To bootstrap using icc, assuming the default icc installation
64directory: 72directory:
65 73
66 env CC=/opt/intel_cc_80/bin/icc LDFLAGS=-static-libcxa \ 74 env CC=/opt/intel_cc_80/bin/icc LDFLAGS=-static-libcxa \
67 ac_cv___attribute__=yes ./bootstrap 75 ac_cv___attribute__=yes ./bootstrap
68 76
69note: icc 8.1 needs the `-i-static' argument instead of 77note: icc 8.1 needs the `-i-static' argument instead of
70-static-libcxa. 78-static-libcxa.
71 79
72icc supports __attribute__, but the GNU configure test uses a nested 80icc supports __attribute__, but the GNU configure test uses a nested
73function, which icc does not support. #undef'ing __attribute__ has the 81function, which icc does not support. #undef'ing __attribute__ has the
74unfortunate side-effect of breaking many of the Linux header files, which 82unfortunate side-effect of breaking many of the Linux header files, which