LFS 学习日记(第六章安装基本系统软件之Gdbm 至 Findutils 安装 )

2010年09月26日 星期日

/LFS6.6/LFS-BOOK-6.6-HTML/chapter06/gdbm.html
time { ./configure --prefix=/usr && make; } 2>&1 | tee /backup/installlogs/6gdbm.make.log
real    0m11.385s
user    0m4.304s
sys    0m10.757s

time { make install && make install-compat && install-info --dir-file=/usr/info/dir /usr/info/gdbm.info; } 2>&1 | tee /backup/installlogs/6gdbm.install.log
real    0m0.594s
user    0m0.124s
sys    0m0.348s

/LFS6.6/LFS-BOOK-6.6-HTML/chapter06/inetutils.html

time { ./configure --prefix=/usr --libexecdir=/usr/sbin \
    --localstatedir=/var --disable-ifconfig \
    --disable-logger --disable-syslogd --disable-whois \
    --disable-servers && make; } 2>&1 | tee /backup/installlogs/6inetutils.make.log
real    1m7.657s
user    0m20.125s
sys    0m52.195s

time { make install; } 2>&1 | tee /backup/installlogs/6inetutils.install.log
real    0m2.532s
user    0m1.064s
sys    0m1.548s

/LFS6.6/LFS-BOOK-6.6-HTML/chapter06/perl.html

time { sh Configure -des -Dprefix=/usr \
                  -Dvendorprefix=/usr           \
                  -Dman1dir=/usr/share/man/man1 \
                  -Dman3dir=/usr/share/man/man3 \
                  -Dpager="/usr/bin/less -isR" && make; } 2>&1 | tee /backup/installlogs/6perl.make.log
real    2m9.312s
user    2m18.369s
sys    1m7.852s

time { make test; } 2>&1 | tee /backup/installlogs/6perl.check.log
real    8m2.192s
user    2m44.846s
sys    1m52.523s

time { make install; } 2>&1 | tee /backup/installlogs/6perl.install.log
real    0m25.636s
user    0m22.533s
sys    0m4.700s

2010年09月27日 星期一

/LFS6.6/LFS-BOOK-6.6-HTML/chapter06/autoconf.html

time { ./configure --prefix=/usr && make; } 2>&1 | tee /backup/installlogs/6autoconf.make.log
real    0m5.522s
user    0m0.984s
sys    0m3.148s

time { make check; } 2>&1 | tee /backup/installlogs/6autoconf.check.log
real    16m44.288s
user    4m25.665s
sys    12m3.577s
在MAKEFLAGS='-j 2' 环境变量有效时,测试失败,报告:182: parallel test execution                         FAILED (autotest.at:1139)

下面清除这个并行编译环境变量 unset MAKEFLAGS 后,测试通过。

question: 在下面的测试中发现,单进程的 make check 与双进程的 make check 差不多,甚至还稍微少了一点,不知为何测试时的并行make 没有生效?

time { make check; } 2>&1 | tee /backup/installlogs/6autoconf.check.single.log
real    16m4.227s
user    4m10.452s
sys    11m50.644s

下面退出chroot 环境,并重新进入,使 MAKEFLAGS='-j 2' 继续有效,进行下面的步骤。

time { make install; } 2>&1 | tee /backup/installlogs/6autoconf.install.log
real    0m1.365s
user    0m0.220s
sys    0m1.340s

/LFS6.6/LFS-BOOK-6.6-HTML/chapter06/automake.html
6.35. Automake-1.11.1

time { ./configure --prefix=/usr --docdir=/usr/share/doc/automake-1.11.1 && make; } 2>&1 | tee /backup/installlogs/6automake.make.log
real    0m5.399s
user    0m0.952s
sys    0m3.636s

time { make check; } 2>&1 | tee /backup/installlogs/6automake.check.log
real    29m55.060s
user    14m44.915s
sys    31m17.613s

time { make install; } 2>&1 | tee /backup/installlogs/6automake.install.log
real    0m0.698s
user    0m0.084s
sys    0m0.796s

/LFS6.6/LFS-BOOK-6.6-HTML/chapter06/bzip2.html

6.36. Bzip2-1.0.5
question: 理解: sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile

`\DIGIT'
     Matches the DIGIT-th `\(...\)' parenthesized subexpression in the
     regular expression.  This is called a "back reference".
     Subexpressions are implicity numbered by counting occurrences of
     `\(' left-to-right.

效果: ln -s -f $(PREFIX)/bin$(PREFIX)/bin/bzless/bzmore $(PREFIX)/bin/bzless 变成: ln -s -f bzmore 即把$(PREFIX)/bin/bzless 链接到同级目录中的 bzmore 文件。这样写比原文件中的更灵活,虽然在这里灵活性的好处没有体现出来。个人觉得没有必要这样修改,一个懒人的主意:既然原来的代码可以正常的工作,就没有必要作出修改,这种修改并没有更进一步的用处。

time { make -f Makefile-libbz2_so && make clean && make; } 2>&1 | tee /backup/installlogs/6bzip2.make.log
real    0m8.013s
user    0m6.884s
sys    0m3.052s

time { make PREFIX=/usr install; } 2>&1 | tee /backup/installlogs/6bzip2.install.log
real    0m0.244s
user    0m0.020s
sys    0m0.160s

2010年09月28日 星期二

/LFS6.6/LFS-BOOK-6.6-HTML/chapter06/diffutils.html
6.37. Diffutils-2.8.1

time { ./configure --prefix=/usr && make; } 2>&1 | tee /backup/installlogs/6diffutils.make.log
real    0m15.742s
user    0m2.444s
sys    0m13.597s

time { make install; } 2>&1 | tee /backup/installlogs/6diffutils.install.log
real    0m0.878s
user    0m0.028s
sys    0m0.612s

/LFS6.6/LFS-BOOK-6.6-HTML/chapter06/gawk.html
6.38. Gawk-3.1.7

time { ./configure --prefix=/usr --libexecdir=/usr/lib && make; } 2>&1 | tee /backup/installlogs/6gawk.make.log
real    0m33.415s
user    0m6.808s
sys    0m26.730s

time { make check; } 2>&1 | tee /backup/installlogs/6gawk.check.log
real    0m2.585s
user    0m0.564s
sys    0m3.832s

time { make install; } 2>&1 | tee /backup/installlogs/6gawk.install.log
real    0m1.489s
user    0m0.140s
sys    0m1.480s

/LFS6.6/LFS-BOOK-6.6-HTML/chapter06/findutils.html
6.39. Findutils-4.4.2

time { ./configure --prefix=/usr --libexecdir=/usr/lib/findutils \
    --localstatedir=/var/lib/locate && make; } 2>&1 | tee /backup/installlogs/6findutils.make.log
real    0m33.573s
user    0m6.156s
sys    0m28.338s

time { make check; } 2>&1 | tee /backup/installlogs/6findutils.check.log
real    0m31.138s
user    0m3.072s
sys    0m17.245s

time { make install; } 2>&1 | tee /backup/installlogs/findutils.install.log
real    0m1.753s
user    0m0.152s
sys    0m1.532s

todo: 学习 xargs 命令的用法