@@ -11,8 +11,17 @@ chfs -a size=+1300000 /opt
1111chfs -a size=+250000 /
1212```
1313
14+ AIX72: unneeded: -1 and -2 and aix7-2 have different sizes, and 7.2 is big
15+ enough already:
16+
17+ 6.1-1 6.1-2 7.2-2
18+ /opt: 3670016 x 512, 2228224 31457280
19+ /: 3538944 x 512, 3407872 4194304
20+
1421## Install required packages
1522
23+ AIX72: unneeded, package were installed by yum
24+
1625#### curl, unzip
1726
1827Download and scp to the machine:
@@ -26,11 +35,13 @@ rpm -ivh curl-7.44.0-2.aix6.1.ppc.rpm
2635rpm -i unzip-6.0-3.aix6.1.ppc.rpm
2736```
2837
29- #### gcc
38+ #### gcc 4.8.5 on AIX6.1
3039
3140Download and scp to the machine:
3241http://www.bullfreeware.com/affichage.php?id=2378
3342
43+ Note that install-gcc-rpm.sh is in setup/aix61/resources
44+
3445``` bash
3546mkdir gcc
3647cd gcc
@@ -45,6 +56,8 @@ rm -rf gcc
4556
4657#### git-tools
4758
59+ AIX72: unneeded, installed with yum
60+
4861``` bash
4962mkdir git-tools
5063cd git-tools
@@ -59,13 +72,17 @@ rm -rf git-tools
5972
6073#### git
6174
75+ AIX72: unneeded, installed with yum
76+
6277``` bash
6378LIBPATH=/usr/lib curl --insecure -O https://ci.nodejs.org/downloads/aix/git-2.8.1-1.aix6.1.ppc.rpm
6479rpm -ivh git-2.8.1-1.aix6.1.ppc.rpm --force
6580```
6681
6782#### openssl, openssh
6883
84+ AIX72: unneeded, installed with yum
85+
6986Download and scp to the machine:
7087https://www-01.ibm.com/marketing/iwm/iwm/web/reg/pick.do?source=aixbp&lang=en_US
7188
@@ -91,6 +108,8 @@ installp -Y -qaXgd . openssl openssh
91108
92109#### gettext, java, make
93110
111+ AIX72: unneeded, installed by ansible in /home/iojs/
112+
94113``` bash
95114LIBPATH=/usr/lib curl --insecure -O https://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/gettext/gettext-0.19.7-1.aix6.1.ppc.rpm
96115rpm -e gettext
@@ -106,6 +125,8 @@ rpm -i make-3.82-1.aix5.3.ppc.rpm
106125
107126#### libtool
108127
128+ AIX72: unneeded, should not be installed
129+
109130Download and scp to the machine:
110131http://www.bullfreeware.com/affichage.php?id=1458#
111132http://www.bullfreeware.com/affichage.php?id=2048
@@ -127,20 +148,37 @@ rm -rf libtool
127148
128149#### pip
129150
151+ AIX72: unneeded, installed with yum
152+
130153``` bash
131154LIBPATH=/usr/lib curl https://bootstrap.pypa.io/get-pip.py | python
132155ln -s /opt/freeware/bin/pip /usr/bin/pip
133156```
134157
135158#### tap2junit
136159
160+ AIX72:
161+ ```
162+ python -m pip install --upgrade pip pipenv git+https://github.com/nodejs/tap2junit
163+ python3 -m pip install --upgrade pip pipenv git+https://github.com/nodejs/tap2junit
164+ ln -s /opt/freeware/bin/tap2junit /usr/bin/tap2junit
165+ ```
166+
167+ Note: probably only the py3 was needed
168+
137169``` bash
138170python -m pip install --upgrade pip pipenv git+https://github.com/nodejs/tap2junit.git
139171ln -s /opt/freeware/bin/tap2junit /usr/bin/tap2junit
140172```
141173
142174## Install ccache
143175
176+ AIX72: TODO describe how to install with curl
177+
178+ The right way to do this is not with CC and CXX that have ccache in them,
179+ but by making sure that ccache is first in the path, and that following it
180+ in the PATH is the location of the selected compiler
181+
144182Install ccache based on these instructions ./setup/ansible-tasks/ccache.yaml,
145183we should update that script so that it can be used on AIX as well.
146184Install on the new linux machines did not seem to work so use cp and chmod instead.
@@ -167,12 +205,16 @@ rm -rf tmp
167205
168206## Add ::1 to /etc/hosts
169207
208+ AIX72: done with ansible, or already done
209+
170210``` bash
171211echo " ::1 localhost" >> /etc/hosts
172212```
173213
174214## Enable the AHA fs
175215
216+ For AIX 7.2 and 6.1, needed for the file watcher unit tests.
217+
176218Add the following to /etc/filesystems:
177219
178220```
@@ -190,6 +232,9 @@ mkdir /aha
190232mount /aha
191233```
192234
235+ AIX72: did not do ioo, not clear if it is needed, and looks like it would get
236+ lost on reboot.
237+
193238We also apply a disk IO optimization which instructs AIX to start writing dirty
194239pages earlier and not wait for the sync demon:
195240
@@ -199,6 +244,8 @@ ioo -o j2_maxRandomWrite=32
199244
200245## Setup ramdisks
201246
247+ TODO(sam-github): use the rc script from AIX7.2
248+
202249Clear old state, if its not a fresh install:
203250```
204251mv /home/iojs/build/tools /home/iojs/build.tools
@@ -252,12 +299,45 @@ crw------- 1 root system 36, 1 Jun 18 12:14 /dev/rramdisk1
252299 /dev/ramdisk1 /home/iojs/build jfs2 Jun 18 12:14 rw,log=/dev/ramdisk1
253300```
254301
302+ AIX7.2: put below into /etc/rc.d/rc2.d/S19ramdisk:
303+ ``` bash
304+ #! /bin/ksh
305+
306+ # #################################################
307+ # name: S19ramdisk
308+ # purpose: script to create and mount ramdisks
309+ # #################################################
310+
311+
312+ case " $1 " in
313+ start )
314+ mkramdisk 10000000
315+ echo yes | mkfs -V jfs2 -o log=INLINE /dev/ramdisk0
316+ mount -V jfs2 -o log=/dev/ramdisk0 /dev/ramdisk0 /ramdisk0
317+ chown iojs:staff /ramdisk0/
318+ mkramdisk 23000000
319+ echo yes | mkfs -V jfs2 -o log=INLINE /dev/ramdisk1
320+ mount -V jfs2 -o log=/dev/ramdisk1 /dev/ramdisk1 /home/iojs/build
321+ chown iojs:staff /home/iojs/build
322+ ;;
323+ stop )
324+ ;;
325+ * )
326+ echo " Usage: $0 (start | stop)"
327+ exit 1
328+ esac
329+ ` ` `
330+
331+ TODO(sam-github): use ansible to install the rc script
332+
255333# # Run ansible script to complete base configuration
256334
257335See [the README](./README.md) for instructions
258336
259337# # Edit /etc/inetd.conf
260338
339+ AIX72: unneeded
340+
261341Comment out default inbound services such as TELNET, FTP, RLOGIN, TALK etc. and
262342then reload the configuration with:
263343
@@ -278,7 +358,7 @@ xmquery dgram udp6 wait root /usr/bin/xmtopas xmtopas -p3
278358` ` `
279359
280360
281- ## Install the 6.3.x compiler
361+ # # gcc 6.3.x on AIX 6.1
282362
283363` ` ` bash
284364su - iojs
@@ -293,8 +373,24 @@ gunzip -d gmake-dep.tar.gz
293373tar -xf gmake-dep.tar
294374` ` `
295375
376+ # # gcc 6.3.x on AIX 7.2
377+
378+ ` ` ` bash
379+ mkdir -p /opt/gcc-6.3 && cd /opt/gcc-6.3
380+ curl -L https://ci.nodejs.org/downloads/aix/gcc-6.3-aix7.2.ppc.tar.gz | /opt/freeware/bin/tar -xzf -
381+ ` ` `
382+
383+ # # ccache 3.7.4 on AIX 7.2
384+
385+ ` ` ` bash
386+ mkdir -p /opt/ccache-3.7.4 && cd /opt/ccache-3.7.4
387+ curl -L https://ci.nodejs.org/downloads/aix/ccache-3.7.4.aix7.2.ppc.tar.gz | /opt/freeware/bin/tar -xzf -
388+ ` ` `
389+
296390# # Install python3
297391
392+ AIX72: uneeded, installed by yum
393+
298394` ` ` bash
299395mkdir /tmp/i-files
300396cd /tmp/i-files
@@ -315,3 +411,19 @@ If uninstallation is needed for some reason, the command is:
315411` ` `
316412installp -u aixtools.python3
317413` ` `
414+
415+ # # Install XL compilers
416+
417+ 1. Download 16.1.0 packages from: https://testcase.boulder.ibm.com (username:
418+ xlcomp4, password: ask @mhdawson)
419+ 2. scp them to target:/opt/ibm-xlc
420+ 3. on target:
421+ ` ` ` bash
422+ cd /opt/ibm-xlc
423+ uncompress 16.1.0.3-IBM-xlCcmp-AIX-FP003.tar.Z
424+ uncompress IBM_XL_C_CPP_V16.1.0.0_AIX.tar.Z
425+ installp -aXYgd ./usr/sys/inst.images -e /tmp/install.log all
426+ inutoc
427+ installp -aXgd ./ -e /tmp/install.log all
428+ ` ` `
429+ 4. Find compilers in ` /opt/IBM/xl[cC]/16.1.0/bin/`
0 commit comments