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
