NetBSD/tools/compat/README

110 lines
3.1 KiB
Plaintext

$NetBSD: README,v 1.16 2021/05/12 06:39:28 cjep Exp $
Special notes for cross-hosting a NetBSD build on certain platforms.
Only those platforms which have been tested to complete a "build.sh" run
are listed.
All hosts must have a POSIX compatible sh. /bin/sh is assumed unless
otherwise set. This can be overridden by setting HOST_SH in the environment.
In addition all hosts must provide the following local tools:
gzip
gcc
g++
zlib and headers (this requirement may be dropped in future)
FreeBSD
=======
build.sh was recently tested on:
* FreeBSD 13 (amd64, aarch64)
* FreeBSD 12.2 (amd64, aarch64)
* FreeBSD 11.4 (amd64)
* FreeBSD 10.4 (amd64)
Linux
=====
build.sh has been tested on:
* Amazon Linux 2 (x86)
* Debian 10 (x86, aarch64)
* Red Hat Enterprise Linux 8 (x86, aarch64)
* SUSE Enterprise Server 15 (x86)
* Ubuntu Server 20.04 (x86, aarch64)
* Ubuntu Server 18.04 (x86)
* The gcc and g++ package must be installed, along with the typical system
development packages (glibc-devel, etc.). The g++ package is sometimes
called gcc-c++.
* The ncurses-devel package must be installed (for nbinfo).
* The zlib and zlib-devel packages must be installed (these are
called zlib1g and zlib1g-dev on Debian and Ubuntu Linux)
* There is a known build problem on Linux/aarch64 with glibc <2.28
macOS/Darwin
============
build.sh was recently tested on:
* macOS Big Sur
* macOS Catalina
* macOS High Sierra
with up to date Xcode command line tools and APFS filesystems.
(Previously, there have been issues building on case-insensitive
HFS filesystems.)
HP-UX
=====
* zlib must be available.
NetBSD (earlier releases)
=========================
* Tested on NetBSD 1.5.2 (machine-independently).
* Should need no special setup.
* _NETBSD_SOURCE is *not* to be defined/pulled in during compat/tools builds.
compat_defs.h will error out if it finds it defined.
Solaris
=======
(updated instruction for Solaris 11 further below)
* Tested on Solaris/x86 8 (5.8) with gcc 2.95.2 and Solaris/sparc 8 (5.8)
with gcc 3.2 (not yet tested with SUNWspro).
* $HOST_CC needs to be set properly (for gcc, it should be set to "gcc",
otherwise the improper /usr/ucb/cc may be invoked by accident).
* The SUNWzlib package (or a built version of zlib visible to $HOST_CC,
such as SMCzlib from sunfreeware.com) must be installed. This will be
fixed in the future to include zlib in libnbcompat.
* Needs the following paths, in this order, in $PATH:
/usr/xpg4/bin
/usr/ccs/bin
<path to host C and C++ compilers>
/usr/bin
/usr/ucb may optionally be placed before /usr/bin, per your preference,
but /usr/ucb *MUST NOT* be before /usr/ccs/bin or before the path to
the host C and C++ compilers.
Solaris 11:
* Solaris 11.3
* Set PATH to /usr/xpg6/bin:/usr/xpg4/bin:/usr/bin
* Set HOST_CC to /usr/bin/gcc
* Solaris 11.4
* Install gcc-5 since the default installed gcc-7 has issues when compiling
toolchain version of groff (hypot())
* Set PATH to /usr/xpg7/bin:/usr/xpg6/bin:/usr/xpg4/bin:/usr/bin
* set HOST_CC to /usr/gcc/5/bin/gcc
* set HOST_CXX to /usr/gcc/5/bin/g++