8

I am building LFS and I am in the part where we need to install Glibc-2.11.1

http://www.linuxfromscratch.org/lfs/view/6.6/chapter05/glibc.html

I have successfully configured it but I cant run the make command. Whenever I run the command it runs for a while then stops.

I think the following lines show that something I did is incorrect:

mawk: scripts/gen-sorted.awk: line 19: regular expression compile failed (bad class -- [], [^] or [)
/[^
mawk: scripts/gen-sorted.awk: line 19: syntax error at or near ]
mawk: scripts/gen-sorted.awk: line 19: runaway regular expression /, "", subd ...
make[1]: Leaving directory `/mnt/lfs/sources/glibc-2.11.1'
make[1]: Entering directory `/mnt/lfs/sources/glibc-2.11.1'
mawk -f scripts/gen-sorted.awk \
           -v subdirs='csu assert ctype locale intl catgets math setjmp signal stdlib stdio-common libio malloc string wcsmbs time dirent grp pwd posix io termios resource misc socket sysvipc gmon gnulib iconv iconvdata wctype manual shadow gshadow po argp crypt nss localedata timezone rt conform debug libidn dlfcn elf' \
           -v srcpfx='' \
           nptl/sysdeps/pthread/Subdirs sysdeps/unix/inet/Subdirs sysdeps/unix/Subdirs assert/Depend intl/Depend catgets/Depend stdlib/Depend stdio-common/Depend libio/Depend malloc/Depend string/Depend wcsmbs/Depend time/Depend posix/Depend iconvdata/Depend nss/Depend localedata/Depend rt/Depend debug/Depend > /mnt/lfs/sources/glibc-build/sysd-sorted-tmp
mawk: scripts/gen-sorted.awk: line 19: regular expression compile failed (bad class -- [], [^] or [)
/[^
mawk: scripts/gen-sorted.awk: line 19: syntax error at or near ]
mawk: scripts/gen-sorted.awk: line 19: runaway regular expression /, "", subd ...
rm -f /mnt/lfs/sources/glibc-build/stamp.o; > /mnt/lfs/sources/glibc-build/stamp.o
rm -f /mnt/lfs/sources/glibc-build/stamp.os; > /mnt/lfs/sources/glibc-build/stamp.os
rm -f /mnt/lfs/sources/glibc-build/stamp.oS; > /mnt/lfs/sources/glibc-build/stamp.oS
cd /mnt/lfs/sources/glibc-build && /mnt/lfs/tools/bin/../lib/gcc/i686-lfs-linux-gnu/4.4.3/../../../../i686-lfs-linux-gnu/bin/ar cruv libc.a `cat stamp.o`
: /mnt/lfs/sources/glibc-build/libc.a
cd /mnt/lfs/sources/glibc-build && /mnt/lfs/tools/bin/../lib/gcc/i686-lfs-linux-gnu/4.4.3/../../../../i686-lfs-linux-gnu/bin/ar cruv libc_pic.a `cat stamp.os`
: /mnt/lfs/sources/glibc-build/libc_pic.a
cd /mnt/lfs/sources/glibc-build && /mnt/lfs/tools/bin/../lib/gcc/i686-lfs-linux-gnu/4.4.3/../../../../i686-lfs-linux-gnu/bin/ar cruv libc_nonshared.a `cat stamp.oS`
: /mnt/lfs/sources/glibc-build/libc_nonshared.a
make[1]: *** No rule to make target `/mnt/lfs/sources/glibc-build/Versions.all', needed by `/mnt/lfs/sources/glibc-build/abi-versions.h'.  Stop.
make[1]: Leaving directory `/mnt/lfs/sources/glibc-2.11.1'
make: *** [all] Error 2

real    0m11.390s
user    0m2.044s
sys 0m1.724s
lfs@rohanchrome:/mnt/lfs/sources/glibc-build$ make
make -r PARALLELMFLAGS="" CVSOPTS="" -C /mnt/lfs/sources/glibc-2.11.1 objdir=`pwd` all
make[1]: Entering directory `/mnt/lfs/sources/glibc-2.11.1'
mawk -f scripts/gen-sorted.awk \
           -v subdirs='csu assert ctype locale intl catgets math setjmp signal stdlib stdio-common libio malloc string wcsmbs time dirent grp pwd posix io termios resource misc socket sysvipc gmon gnulib iconv iconvdata wctype manual shadow gshadow po argp crypt nss localedata timezone rt conform debug libidn dlfcn elf' \
           -v srcpfx='' \
           nptl/sysdeps/pthread/Subdirs sysdeps/unix/inet/Subdirs sysdeps/unix/Subdirs assert/Depend intl/Depend catgets/Depend stdlib/Depend stdio-common/Depend libio/Depend malloc/Depend string/Depend wcsmbs/Depend time/Depend posix/Depend iconvdata/Depend nss/Depend localedata/Depend rt/Depend debug/Depend > /mnt/lfs/sources/glibc-build/sysd-sorted-tmp
mawk: scripts/gen-sorted.awk: line 19: regular expression compile failed (bad class -- [], [^] or [)
/[^
mawk: scripts/gen-sorted.awk: line 19: syntax error at or near ]
mawk: scripts/gen-sorted.awk: line 19: runaway regular expression /, "", subd ...
make[1]: *** No rule to make target `/mnt/lfs/sources/glibc-build/Versions.all', needed by `/mnt/lfs/sources/glibc-build/abi-versions.h'.  Stop.
make[1]: Leaving directory `/mnt/lfs/sources/glibc-2.11.1'
make: *** [all] Error 2

I dont understand where the things went wrong. What I should to correct them?

Paŭlo Ebermann
  • 73,284
  • 20
  • 146
  • 210
Rohan Bojja
  • 655
  • 1
  • 16
  • 35
  • anyone know what caused this error and how to solve it?? please help :D – Rohan Bojja Jun 18 '11 at 15:26
  • can't you fix the bad regex on line 19 of scripts/gen-sorted.awk? You might want to post that as a separate question and be sure it is working right. You might also want to swap your glibc tag for 'linux-from-scratch' (it has 2 followers) (sorry) and good luck! – shellter Jun 18 '11 at 16:28
  • 1
    `lfs-support` mailing list exists precisely for this purpose. See here for details: LFS Mailing Lists (http://www.linuxfromscratch.org/mail.html) – yasouser Jun 18 '11 at 18:38
  • @shellter : thanks man.....yea i googled this error its seemed like a problem with the gen-sorted.awk i fixed it ....the error seemed to be on line 19 and two other lines............ – Rohan Bojja Jun 19 '11 at 05:14
  • 1
    Could you post what you did to fix this as an answer? – Paŭlo Ebermann Jun 30 '11 at 02:06

1 Answers1

11

You need to install gawk.

sudo apt-get install gawk

The regex on Line 19 was

/\/[^/]+$/

It is a known issue that mawk does not understand unescaped '/' in character classes at least up to version 1.3.3-15 (the one supplied on Ubuntu 11.04 (Natty)). mawk will think the / inside the bracket terminates the regex, and interpret as \/[^, which is surely a syntax error due to unmatched ].

The fix for glibc is trivial: just add a \ before the /. But this may also be a dedicate "check" to ensure gawk is used. At least this is still not changed on glibc-2.14…

(Source of solution: http://www.linuxquestions.org/questions/linux-from-scratch-13/urgent-help-on-glibc-make-error-with-clfs-590753/)

kennytm
  • 510,854
  • 105
  • 1,084
  • 1,005