Glibc-2.7: awk should be gawk, not mawk

Dan Nicholson dbn.lists at gmail.com
Wed Jan 16 06:50:57 PST 2008


On Jan 15, 2008 11:30 PM, Petr Ovtchenkov <ptr at island.corbina.net> wrote:
> On Tuesday 15 January 2008 21:57, Dan Nicholson wrote:
> >
> > The glibc configure script uses the macro AC_PROG_AWK. This looks for
> > gawk first in the path before falling back to mawk, nawk or awk. So,
> > while it's not enforced, if you follow the LFS host requirements, it
> > will work.
>
> Really?
>
> grep -r awk glibc-2.7 | grep -v gawk
> ...
> glibc-2.7/elf/Makefile:   | awk '($$7 ~ /^UND(|EF)$$/ && $$1 != "0:" && $$4 != "REGISTER") { print; p=1 } END { exit p != 0 }'

I forgot about that. This is the one that breaks things. It's been
changed upstream to use $(AWK), I believe. So, it seems like we'll
either have to ensure that awk = gawk somehow or patch the Makefile to
use $(AWK). The second one seems easier:

http://sourceware.org/cgi-bin/cvsweb.cgi/libc/elf/Makefile.diff?r1=1.320&r2=1.321&cvsroot=glibc

Probably just `sed -i 's/awk/$(AWK)/' elf/Makefile'.

> ...
> glibc-2.7/nss/db-Makefile:AWK = awk
> ...
> glibc-2.7/manual/tsort.awk:#! /usr/bin/awk -f
> ...
> glibc-2.7/sysdeps/ia64/fpu/import_intel_libm:   awk -f import_file.awk FUNC=$1 $2 > $3
> glibc-2.7/sysdeps/ia64/fpu/import_intel_libm:   awk -f import_file.awk LICENSE_ONLY=y $2 > $3
>
>
> (for reference only: my problem begin when awk -> mawk fail on regexp on first line of
> listing above [in glibc-2.7/elf/Makefile]).

I don't know details about the others, but I'm pretty sure
elf/Makefile is the one that's causing the problems with non-POSIX
syntax.

--
Dan



More information about the lfs-dev mailing list