微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从头开始使用make编译Linux的Glibc-2.11.1时出错

如何解决从头开始使用make编译Linux的Glibc-2.11.1时出错

|| 我正在构建LFS,并且在需要安装Glibc-2.11.1的部分中 http://www.linuxfromscratch.org/lfs/view/6.6/chapter05/glibc.html 我已经成功配置了它,但是无法运行make命令。每当我运行命令时,它就会运行一段时间,然后停止。 我认为以下几行表明我所做的事情是不正确的:
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 -- [],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 -- [],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
我不明白哪里出了问题。我应该如何纠正它们?     

解决方法

        您需要安装
gawk
sudo apt-get install gawk
第19行的正则表达式为
/\\/[^/]+$/
众所周知,
mawk
至少在1.3.3-15版本(Ubuntu 11.04(Natty)上提供的版本)之前不理解字符类中未转义的\'/ \'。
mawk
会认为括号内的
/
终止了正则表达式,并解释为
\\/[^
,这肯定是由于不匹配
]
而引起的语法错误。 glibc的修复很简单:只需在
/
之前添加一个
\\
。但这也可以是专用的“ check”以确保使用used1。至少在glibc-2.14上仍未更改… (解决方案的来源:http://www.linuxquestions.org/questions/linux-from-scratch-13/urgent-help-on-glibc-make-error-with-clfs-590753/)     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?