Hey Micheal,

Michael Haubenwallner <[email protected]> writes:

> Well, it is not "official" part of Gentoo Prefix, but it is a
> de-facto requirement to bootstrap on AIX and HP-UX (maybe others).
> It _may_ work to bootstrap without prefix-launcher there,
> but it is a lot harder than on Linux and Solaris fex.
> The reason it is on sf is that the "prefix"-idea was born before
> "Gentoo Prefix" as the implementation.

I see.

I have struggled through the gcc phase. I did very dirty hacks including
replacing failing steps with linking against hand-pointed libraries.

So now I have gcc-4.2.4 at hand.

Next comes the coreutils-6.9.

I did ./configure --prefix=$HOME/tools then make

,----
| gcc -std=gnu99  -I.      -g -O2 -MT cycle-check.o -MD -MP -MF
| .deps/cycle-check.Tpo -c -o cycle-check.o cycle-check.c
| mv -f .deps/cycle-check.Tpo .deps/cycle-check.Po
| gcc -std=gnu99  -I.      -g -O2 -MT dirchownmod.o -MD -MP -MF
| .deps/dirchownmod.Tpo -c -o dirchownmod.o dirchownmod.c
| mv -f .deps/dirchownmod.Tpo .deps/dirchownmod.Po
| gcc -std=gnu99  -I.      -g -O2 -MT dirfd.o -MD -MP -MF .deps/dirfd.Tpo
| -c -o dirfd.o dirfd.c
| mv -f .deps/dirfd.Tpo .deps/dirfd.Pogcc -std=gnu99  -I.      -g -O2 -MT
| dirname.o -MD -MP -MF .deps/dirname.Tpo -c -o dirname.o dirname.c
| mv -f .deps/dirname.Tpo .deps/dirname.Po
| gcc -std=gnu99  -I.      -g -O2 -MT dup-safer.o -MD -MP -MF
| .deps/dup-safer.Tpo -c -o dup-safer.o dup-safer.c
| dup-safer.c:1: error: expected '=', ',', ';', 'asm' or '__attribute__'
| before '.' token
| make[2]: *** [dup-safer.o] Error 1
| make[2]: Leaving directory `/home/k/benda/coreutils-6.9/lib'
| make[1]: *** [all] Error 2
| make[1]: Leaving directory `/home/k/benda/coreutils-6.9/lib'
| make: *** [all-recursive] Error 1
`----

the dup-safer.c file is very strange: 

,----
| $ cat lib/dup-safer.c 
| ccTvzRll.i.o : /tmp/ccTvzRll.i
`----

I never saw this kind of c program.

Given this box already have a very old version coreutils (in the age of
gcc-3.3) in /opt/freeware/bin (IBM shipped GNU tools?), I decided just
go ahead, ignoring the coreutils-6.9 failure.

so I make config coreutils_SUPPLY = EXTERNAL and proceeded.

Finally, prefix-launcher is done. (Hooray!)

then I executed eprefix-bootstrap.

But problems keeps emerging. (wel, I swear I did not $ emerge problems)

One very annoying problem is, the portage system keeps using /bin/sh
(which is a very very very ancient version of ksh of AIX) as the
building SHELL. A fair envoke of "/bin/sh <some long command with
long arguments can result in "Arg list too long" error, and booooom,
emerge exits.

I tried many times (set -xv in ebuild.sh, python -pdb with ebuild....)
and could not find a way to tell portage to use my favorite bash
compiled by prefix-launcher. (Dahhh)

So each time there is an error, I have to spot which step goes wrong and
open another shell (with modern bash of course) to execute the failed
step. It works, just using a good SHELL. 

Hours of hours doing by hand. Now I am exhausted. I have to find a way
to tell portage to use bash, and get rid of the f***ingly old sh. I am a
normal user, I can't replace /bin/sh with the symlink to bash. (Dahhhh!)

Any hints or ideas?

Yours,
-- 
XU Benda
Research Center for Neutrino Science
Tohoku University
JAPAN

http://www.awa.tohoku.ac.jp/~benda

Reply via email to