Skip to content

Commit 9735105

Browse files
committed
doc: move aix7.2 setup docs
1 parent fbcbd6c commit 9735105

File tree

2 files changed

+92
-91
lines changed

2 files changed

+92
-91
lines changed

doc/non-ansible-configuration-notes.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,3 +216,95 @@ Also ensure that /usr/local/bin is included in the `JENKINS_PATH` set in /etc/in
216216
[`ansible.intro_windows`]: http://docs.ansible.com/ansible/intro_windows.html
217217
[newer Ansible configuration]: https://github.com/nodejs/build/tree/master/ansible
218218
[stand-alone]: https://github.com/nodejs/build/tree/master/setup/windows
219+
220+
## AIX 7.2
221+
222+
To set up, basically:
223+
224+
1. Run ansible
225+
2. Run through ansible/aix61-standalone/manualBootstrap.md, doing the steps marked as
226+
relevant to AIX 7.2
227+
228+
The manual setup curls some pre-built distributables, the following describes
229+
how they were created.
230+
231+
### Preparing gcc distributables
232+
233+
1. download gcc-c++ (with dependencies) from bullfreeware.com
234+
2. scp 15412gcc-c++-6.3.0-1.aix7.2.ppc.rpm-with-deps.zip TARGET:/ramdisk0
235+
- Note: / is too small
236+
3. unzip 15412gcc-c++-6.3.0-1.aix7.2.ppc.rpm-with-deps.zip
237+
4. contained wrong libstdc++-9.1, so downloaded bundle for libstdc++ 6.3.0-1
238+
5. unpack the RPMs:
239+
$ for f in *gcc* *stdc*; do rpm2cpio $f | /opt/freeware/bin/cpio_64 -idmv; done
240+
5. Find absolute symlinks, and make them relative, example:
241+
$ find . -type l | xargs file
242+
./opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/ppc64/libatomic.a: symbolic link to /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/libatomic.a.
243+
./opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/ppc64/libgcc_s.a: symbolic link to /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/libgcc_s.a.
244+
./opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/ppc64/libstdc++.a: symbolic link to /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/libstdc++.a.
245+
./opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/ppc64/libsupc++.a: symbolic link to /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/libsupc++.a.
246+
./opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/pthread/ppc64/libatomic.a: symbolic link to /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/pthread/libatomic.a.
247+
./opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/pthread/ppc64/libgcc_s.a: symbolic link to /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/pthread/libgcc_s.a.
248+
./opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/pthread/ppc64/libstdc++.a: symbolic link to /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/pthread/libstdc++.a.
249+
./opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/pthread/ppc64/libsupc++.a: symbolic link to /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/pthread/libsupc++.a.
250+
bash-5.0# pwd
251+
/ramdisk0/aixtoolbox/opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/ppc64
252+
bash-5.0# ln -fs ../libatomic.a ../libgcc_s.a ../libstdc++.a ../libsupc++.a ./
253+
bash-5.0# find . -type l | xargs file
254+
./ppc64/libatomic.a: archive (big format)
255+
./ppc64/libgcc_s.a: archive (big format)
256+
./ppc64/libstdc++.a: archive (big format)
257+
./ppc64/libsupc++.a: archive (big format)
258+
./pthread/ppc64/libatomic.a: symbolic link to /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/pthread/libatomic.a.
259+
./pthread/ppc64/libgcc_s.a: symbolic link to /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/pthread/libgcc_s.a.
260+
./pthread/ppc64/libstdc++.a: symbolic link to /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/pthread/libstdc++.a.
261+
./pthread/ppc64/libsupc++.a: symbolic link to /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/6.3.0/pthread/libsupc++.a.
262+
bash-5.0# cd pthread/ppc64/
263+
bash-5.0# ln -fs ../libatomic.a ../libgcc_s.a ../libstdc++.a ../libsupc++.a ./
264+
bash-5.0# file *.a
265+
libatomic.a: archive (big format)
266+
libgcc.a: archive (big format)
267+
libgcc_eh.a: archive (big format)
268+
libgcc_s.a: archive (big format)
269+
libgcov.a: archive (big format)
270+
libstdc++.a: archive (big format)
271+
libsupc++.a: archive (big format)
272+
6. Move to target location and create a tarball with no assumptions on leading
273+
path prefix:
274+
$ mkdir /opt/gcc-6.3
275+
$ cd /opt/gcc-6.3
276+
$ mv .../opt/freeware/* ./
277+
$ tar -cvf ../gcc-6.3-aix7.2.ppc.tar *
278+
279+
280+
Example above was for 6.3.0, but process for 4.8.5 is identical, other than
281+
the version numbers.
282+
283+
Example search for 4.8.5 gcc on bullfreeware:
284+
- http://www.bullfreeware.com/?searching=true&package=gcc&from=&to=&libraries=false&exact=true&version=5
285+
286+
### Preparing ccache distributables
287+
288+
Notes:
289+
- AIX tar doesn't know about the "z" switch, so use GNU tar.
290+
- Build tools create 32-bit binaries by default, so explicitly create 64-bit
291+
ones.
292+
293+
$ curl -L -O https://github.com/ccache/ccache/releases/download/v3.7.4/ccache-3.7.4.tar.gz
294+
% Total % Received % Xferd Average Speed Time Time Time Current
295+
Dload Upload Total Spent Left Speed
296+
100 607 0 607 0 0 3281 0 --:--:-- --:--:-- --:--:-- 3281
297+
100 490k 100 490k 0 0 586k 0 --:--:-- --:--:-- --:--:-- 60.4M
298+
$ /opt/freeware/bin/tar -xzf ccache-3.7.4.tar.gz
299+
$ cd ccache-3.7.4
300+
$ ./configure CC="gcc -maix64" && gmake
301+
$ mkdir -p /opt/ccache-3.7.4/libexec /opt/ccache-3.7.4/bin
302+
$ cp ccache /opt/ccache-3.7.4/bin
303+
$ cd /opt/ccache-3.7.4/libexec
304+
$ ln -s ../bin/ccache c++
305+
$ ln -s ../bin/ccache cpp
306+
$ ln -s ../bin/ccache g++
307+
$ ln -s ../bin/ccache gcc
308+
$ ln -s ../bin/ccache gcov
309+
$ cd cd /opt/ccache-3.7.4
310+
$ tar -cf /opt/ccache-3.7.4.aix7.2.ppc.tar.gz *

setup/aix72.md

Lines changed: 0 additions & 91 deletions
This file was deleted.

0 commit comments

Comments
 (0)