README revision 1.18 1 1.18 cjep $NetBSD: README,v 1.18 2021/06/28 07:18:01 cjep Exp $
2 1.1 tv
3 1.1 tv Special notes for cross-hosting a NetBSD build on certain platforms.
4 1.1 tv Only those platforms which have been tested to complete a "build.sh" run
5 1.1 tv are listed.
6 1.7 lukem
7 1.10 jmc All hosts must have a POSIX compatible sh. /bin/sh is assumed unless
8 1.10 jmc otherwise set. This can be overridden by setting HOST_SH in the environment.
9 1.10 jmc
10 1.10 jmc In addition all hosts must provide the following local tools:
11 1.14 cjep gzip
12 1.14 cjep gcc
13 1.14 cjep g++
14 1.14 cjep zlib and headers (this requirement may be dropped in future)
15 1.10 jmc
16 1.14 cjep FreeBSD
17 1.18 cjep -------
18 1.10 jmc
19 1.15 cjep build.sh was recently tested on:
20 1.15 cjep * FreeBSD 13 (amd64, aarch64)
21 1.15 cjep * FreeBSD 12.2 (amd64, aarch64)
22 1.15 cjep * FreeBSD 11.4 (amd64)
23 1.15 cjep * FreeBSD 10.4 (amd64)
24 1.1 tv
25 1.14 cjep Linux
26 1.18 cjep -----
27 1.1 tv
28 1.14 cjep build.sh has been tested on:
29 1.14 cjep * Amazon Linux 2 (x86)
30 1.15 cjep * Debian 10 (x86, aarch64)
31 1.15 cjep * Red Hat Enterprise Linux 8 (x86, aarch64)
32 1.14 cjep * SUSE Enterprise Server 15 (x86)
33 1.15 cjep * Ubuntu Server 20.04 (x86, aarch64)
34 1.15 cjep * Ubuntu Server 18.04 (x86)
35 1.14 cjep
36 1.14 cjep * The gcc and g++ package must be installed, along with the typical system
37 1.14 cjep development packages (glibc-devel, etc.). The g++ package is sometimes
38 1.14 cjep called gcc-c++.
39 1.1 tv
40 1.14 cjep * The ncurses-devel package must be installed (for nbinfo).
41 1.12 jmc
42 1.14 cjep * The zlib and zlib-devel packages must be installed (these are
43 1.14 cjep called zlib1g and zlib1g-dev on Debian and Ubuntu Linux)
44 1.1 tv
45 1.15 cjep * There is a known build problem on Linux/aarch64 with glibc <2.28
46 1.15 cjep
47 1.14 cjep macOS/Darwin
48 1.18 cjep ------------
49 1.1 tv
50 1.15 cjep build.sh was recently tested on:
51 1.17 cjep * macOS Big Sur (x86)
52 1.15 cjep * macOS Catalina
53 1.16 cjep * macOS High Sierra
54 1.15 cjep
55 1.17 cjep with up to date Xcode command line tools and APFS filesystems.
56 1.17 cjep Previously, there have been issues building on case-insensitive
57 1.17 cjep HFS filesystems. build.sh is not working yet on M1-based Macs.
58 1.9 dbj
59 1.14 cjep HP-UX
60 1.18 cjep -----
61 1.9 dbj
62 1.14 cjep * zlib must be available.
63 1.1 tv
64 1.14 cjep NetBSD (earlier releases)
65 1.18 cjep -------------------------
66 1.1 tv
67 1.1 tv * Tested on NetBSD 1.5.2 (machine-independently).
68 1.1 tv * Should need no special setup.
69 1.14 cjep * _NETBSD_SOURCE is *not* to be defined/pulled in during compat/tools builds.
70 1.14 cjep compat_defs.h will error out if it finds it defined.
71 1.1 tv
72 1.14 cjep Solaris
73 1.18 cjep -------
74 1.1 tv
75 1.13 palle (updated instruction for Solaris 11 further below)
76 1.13 palle
77 1.4 thorpej * Tested on Solaris/x86 8 (5.8) with gcc 2.95.2 and Solaris/sparc 8 (5.8)
78 1.4 thorpej with gcc 3.2 (not yet tested with SUNWspro).
79 1.1 tv
80 1.1 tv * $HOST_CC needs to be set properly (for gcc, it should be set to "gcc",
81 1.1 tv otherwise the improper /usr/ucb/cc may be invoked by accident).
82 1.1 tv
83 1.4 thorpej * The SUNWzlib package (or a built version of zlib visible to $HOST_CC,
84 1.4 thorpej such as SMCzlib from sunfreeware.com) must be installed. This will be
85 1.4 thorpej fixed in the future to include zlib in libnbcompat.
86 1.1 tv
87 1.1 tv * Needs the following paths, in this order, in $PATH:
88 1.1 tv
89 1.5 thorpej /usr/xpg4/bin
90 1.4 thorpej /usr/ccs/bin
91 1.4 thorpej <path to host C and C++ compilers>
92 1.4 thorpej /usr/bin
93 1.4 thorpej
94 1.4 thorpej /usr/ucb may optionally be placed before /usr/bin, per your preference,
95 1.4 thorpej but /usr/ucb *MUST NOT* be before /usr/ccs/bin or before the path to
96 1.4 thorpej the host C and C++ compilers.
97 1.13 palle
98 1.13 palle Solaris 11:
99 1.13 palle
100 1.13 palle * Solaris 11.3
101 1.13 palle * Set PATH to /usr/xpg6/bin:/usr/xpg4/bin:/usr/bin
102 1.13 palle * Set HOST_CC to /usr/bin/gcc
103 1.13 palle
104 1.13 palle * Solaris 11.4
105 1.13 palle * Install gcc-5 since the default installed gcc-7 has issues when compiling
106 1.13 palle toolchain version of groff (hypot())
107 1.13 palle * Set PATH to /usr/xpg7/bin:/usr/xpg6/bin:/usr/xpg4/bin:/usr/bin
108 1.13 palle * set HOST_CC to /usr/gcc/5/bin/gcc
109 1.13 palle * set HOST_CXX to /usr/gcc/5/bin/g++
110