README revision 1.15 1 1.15 cjep $NetBSD: README,v 1.15 2021/05/07 14:52:59 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.14 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.1 tv =====
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.14 cjep ============
49 1.1 tv
50 1.15 cjep build.sh was recently tested on:
51 1.15 cjep * macOS Big Sur
52 1.15 cjep * macOS Catalina
53 1.15 cjep
54 1.15 cjep with up to date Xcode command line tools and APFS filesystems.
55 1.15 cjep (Previously, there have been issues building on case-insensitive
56 1.15 cjep HFS filesystems.)
57 1.9 dbj
58 1.14 cjep HP-UX
59 1.9 dbj =====
60 1.9 dbj
61 1.14 cjep * zlib must be available.
62 1.1 tv
63 1.14 cjep NetBSD (earlier releases)
64 1.14 cjep =========================
65 1.1 tv
66 1.1 tv * Tested on NetBSD 1.5.2 (machine-independently).
67 1.1 tv * Should need no special setup.
68 1.14 cjep * _NETBSD_SOURCE is *not* to be defined/pulled in during compat/tools builds.
69 1.14 cjep compat_defs.h will error out if it finds it defined.
70 1.1 tv
71 1.14 cjep Solaris
72 1.14 cjep =======
73 1.1 tv
74 1.13 palle (updated instruction for Solaris 11 further below)
75 1.13 palle
76 1.4 thorpej * Tested on Solaris/x86 8 (5.8) with gcc 2.95.2 and Solaris/sparc 8 (5.8)
77 1.4 thorpej with gcc 3.2 (not yet tested with SUNWspro).
78 1.1 tv
79 1.1 tv * $HOST_CC needs to be set properly (for gcc, it should be set to "gcc",
80 1.1 tv otherwise the improper /usr/ucb/cc may be invoked by accident).
81 1.1 tv
82 1.4 thorpej * The SUNWzlib package (or a built version of zlib visible to $HOST_CC,
83 1.4 thorpej such as SMCzlib from sunfreeware.com) must be installed. This will be
84 1.4 thorpej fixed in the future to include zlib in libnbcompat.
85 1.1 tv
86 1.1 tv * Needs the following paths, in this order, in $PATH:
87 1.1 tv
88 1.5 thorpej /usr/xpg4/bin
89 1.4 thorpej /usr/ccs/bin
90 1.4 thorpej <path to host C and C++ compilers>
91 1.4 thorpej /usr/bin
92 1.4 thorpej
93 1.4 thorpej /usr/ucb may optionally be placed before /usr/bin, per your preference,
94 1.4 thorpej but /usr/ucb *MUST NOT* be before /usr/ccs/bin or before the path to
95 1.4 thorpej the host C and C++ compilers.
96 1.13 palle
97 1.13 palle Solaris 11:
98 1.13 palle
99 1.13 palle * Solaris 11.3
100 1.13 palle * Set PATH to /usr/xpg6/bin:/usr/xpg4/bin:/usr/bin
101 1.13 palle * Set HOST_CC to /usr/bin/gcc
102 1.13 palle
103 1.13 palle * Solaris 11.4
104 1.13 palle * Install gcc-5 since the default installed gcc-7 has issues when compiling
105 1.13 palle toolchain version of groff (hypot())
106 1.13 palle * Set PATH to /usr/xpg7/bin:/usr/xpg6/bin:/usr/xpg4/bin:/usr/bin
107 1.13 palle * set HOST_CC to /usr/gcc/5/bin/gcc
108 1.13 palle * set HOST_CXX to /usr/gcc/5/bin/g++
109