Gentoo Archives: gentoo-alt

From: Michael Yang <yangofzeal@×××××.com>
To: gentoo-alt@l.g.o
Subject: [gentoo-alt] freebsd bootstrap notes
Date: Thu, 23 Jul 2009 21:20:31
Message-Id: 2125c95f0907231420w62702bd0tcbaf96d4051a54b4@mail.gmail.com
1 here are some differences between my freebsd-7.2 release bootstrapping
2 experience and the directions at:
3 http://www.gentoo.org/proj/en/gentoo-alt/prefix/bootstrap-freebsd.xml
4
5 * use coreutils6 instead of coreutils
6 coreutils fails with mbswidth.c:64: error: expected identifier
7 or '(' before string constant)
8 * use findutils 4.4.2 instead of findutils (had to alter the
9 bootstrap-prefix.sh)
10 findutils fails with:
11 ./find.texi:10: @include `../locate/dblocation.texi': No such file or directory.
12 ./find.texi:554: warning: undefined flag: LOCATE_DB.
13
14 findutils3 fails with:
15 error.c:59: error: conflicting types for 'strerror_r'
16 /usr/include/string.h:85: error: previous declaration of 'strerror_r'
17 was here
18
19 * run:
20
21 $ ./bootstrap-prefix.sh $EPREFIX/tmp make
22
23 prior to
24
25 $ ./bootstrap-prefix.sh $EPREFIX/tmp {grep,gawk}
26
27 Bootstrapping grep/gawk native 'make' assumes SHELL=/bin/sh even if
28 the script is run from a bash environment with the SHELL=`which bash`
29 pointing to the $EPREFIX/tmp/usr/bin/bash. The Makefiles with the
30 bootstrapped fail with an error message like:
31
32 ( cd "." && find . -name '.svn' -prune -o -type d -print ) | while read f ; do
33 files=( ) ; for t in "./${f}"/* ; do [[ -d ${t} ]] && continue ; [[ ${t} ==
34 */Makefile* ]] && continue ; files=( "${files[@]}" "${t}" ) ; done ; /home/m
35 ichael/gentoo/tmp/usr/bin/install -c -d -m 755 -o "michael" -g "michael" "/hom
36 e/michael/gentoo/usr/lib/portage/bin/${f}" && ../subst-install -m 755 -o "mich
37 ael" -g "michael" -t "/home/michael/gentoo/usr/lib/portage/bin/${f}" "${files[
38 @]}" ; done
39 Syntax error: ";" unexpected
40 *** Error code 2
41
42 which can be reproduced if one enters the build directory and types
43 `make` if using /bin/sh shell. The error doesn't happen if using
44 bash.
45
46 -mike