summaryrefslogtreecommitdiff
path: root/bootstrap/README.IRIX
blob: 6e0d884ee8c26bac24320c8ae3e835a1371868eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
$NetBSD: README.IRIX,v 1.8 2022/06/01 12:38:10 gdt Exp $

# IRIX 6.5.17 or higher (last updated 2005)

You will need a working C compiler, either gcc or SGI's MIPS and MIPSpro
compiler (cc/c89).  Please set the CC environment variable according to your
preference.  If you do not have a license for the MIPSpro compiler suite, you
can download a gcc tardist file from http://freeware.sgi.com/.

Please note that you will need Irix 6.5.17 or higher, as this is the earliest
version of Irix providing support for if_indextoname(3), if_nametoindex(3),
etc.

At this point in time, pkgsrc only supports one ABI.  That is, you cannot
switch between the old 32-bit ABI, the new 32-bit ABI and the 64-bit ABI.  If
you start out using "abi=n32", that's what all your packages will be built
with.

Therefore, please make sure that you have no conflicting CFLAGS in your
environment or the /etc/mk.conf.  Particularly, make sure that you do
not try to link n32 object files with lib64 or vice versa.  Check your
/etc/compiler.defaults and $SGI_ABI!

If you have the actual pkgsrc tree mounted via NFS from a different host,
please make sure to set WRKOBJDIR to a local directory, as it appears that
Irix linker occasionally runs into issues when trying to link over a network
mounted filesystem.

The bootstrapping process should set all the right options for programs
such as imake(1), but you may want to set some options depending on your
local setup.  Please see pkgsrc/mk/defaults/mk.conf and, of course,
your compilers man pages for details.

If you are using SGI's MIPSPro compiler, please set

PKGSRC_COMPILER=mipspro

in /etc/mk.conf -- otherwise, pkgsrc will assume you are using gcc and may end
up passing invalid flags to the compiler.  Note that bootstrap should create
an appropriate mk.conf.example by default.

If you have both the MIPSPro compiler chain installed as well as gcc, but want
to make sure that MIPSPro is used, please set your PATH to not include the
location of gcc (often /usr/freeware/bin), and (important), pass the
'--preserve-path' flag.

bootstrap-pkgsrc has been tested on:
	- an O2 with 1 180 MHZ IP32 Processor (R5000) (n32 ABI)
	  running 6.5.27
	- an Origin 200 with 2 180 MHZ IP27 Processors (R10000) (64 ABI)
	  running 6.5.23

# IRIX 5.3 (last updated 2006)

Installing pkgsrc on IRIX 5.3 requires some preparation.
First, if necessary, get the IRIX 5.3 IDO (cc etc.) from SGI at
ftp://ftp.sgi.com/sgi/IRIX5.3/iris-development-option-5.3.tardist and
install it using IRIX's Software Manager. While you're at it you might also
want to install any missing patches from ftp://ftp.sgi.com/support/Patches/5.3.
Get ftp://ftp.mayn.de/pub/really_old_stuff/irix/ido/dev* and install the
missing dev.sw.abi and dev.sw.irix_speclibs subpackages.
Note that IRIX 5.3's ftp does not support passive ftp (to my knowledge), so
if you are behind a firewall (and you better make sure you are with IRIX
5.3!) you might need to first transfer the files to another local machine.
Furthermore, get Y2k patches from e.g.
ftp://ftp.mayn.de/pub/really_old_stuff/irix/oldstuff/ if you haven't
installed them already.

Unfortunately many of IRIX 5.3's native tools do not provide
functionalitites that pkgsrc expects. It is therefore necessary to install
the respective GNU tools for cp, grep, id, mkdir, test, touch, which,
and xargs. To avoid conflicts you might want to do so under a different
directory hierarchy than pkgsrc (in the following example /usr/local is
assumed). Obtain and install the following GNU software:
- GNU findutils (4.2.23 is known to install)
- GNU grep (2.5.1a works, but you have to apply the patch from
pkgsrc/textproc/grep/patches/patch-ab; either do so manually by editing the
appropriate source file or first install GNU patch [2.5.4 works fine]. This
will probably be fixed with later releases. You should configure GNU grep
with --disable-nls and do not bother when make stops when it cannot find
makeinfo; just proceed with make install)
- GNU coreutils (5.97 works; be sure to specify GREP=/sbin/grep for
configure)
- GNU which (2.16 works; be sure to configure with CC="cc -Xcpluscomm")

To date, pkgsrc expects the SGI IDO cc and might run into problems when
using gcc.
With IDO cc and the necessary supporting tools and development files
installed you can run bootstrap to create the essential pkgsrc tools,
notably bmake:

env CP=/usr/local/bin/cp GREP=/usr/local/bin/grep ID=/usr/local/bin/id MKDIR="/usr/local/bin/mkdir -p" TEST=/usr/local/bin/test TOUCH=/usr/local/bin/touch XARGS="/usr/local/bin/xargs -r" ./bootstrap

Add the necessary arguments such as --prefix= as necessary.
You might also want to set the CFLAGS, CPPFLAGS, or LDFLAGS.
For the IDO cc CFLAGS=-O2 (or CFLAGS="-O2 -mips2" if you are using an R4K
machine) is recommended.

IRIX 5.3 IDO does not come with a C++ compiler. For packages that require
C++ you can get the GNU C++ compiler, g++, which is part of the gcc
distribution. Gcc 3.4.6 is known to bootstrap on IRIX 5.3. To activate it,
add the following lines to your mk.conf after bootstrapping:

CXX=g++
USE_TOOLS+=cxx
TOOLS_PLATFORM.cxx=/usr/local/bin/g++
TOOLS_CMD.cxx=${TOOLS_DIR}/bin/g++