- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
当我尝试通过第 6.9 章 - Linux from Scratch 7.8 编译 glibc 包时出现此错误。当 make 运行时,它会进入一个无限循环,重复以下内容:
/usr/bin/install -c -m 644 ../include/limits.h /usr/include/limits.h
gawk -f ../scripts/gen-as-const.awk ../sysdeps/x86_64/locale-defines.sym \
| gcc -S -o /sources/glibc-2.22/build/locale-defines.hT3 -std=gnu99 -fgnu89-inline -O2 -Wall -Werror -Wno-error=undef -Wundef -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wstrict-prototypes -ftls-model=initial-exec -I../include -I/sources/glibc-2.22/build/string -I/sources/glibc-2.22/build -I../sysdeps/unix/sysv/linux/x86_64/64 -I../sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/x86 -I../sysdeps/unix/sysv/linux/wordsize-64 -I../sysdeps/x86_64/nptl -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux -I../sysdeps/nptl -I../sysdeps/pthread -I../sysdeps/gnu -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/x86_64 -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/x86_64/64 -I../sysdeps/x86_64/fpu/multiarch -I../sysdeps/x86_64/fpu -I../sysdeps/x86/fpu/include -I../sysdeps/x86/fpu -I../sysdeps/x86_64/multiarch -I../sysdeps/x86_64 -I../sysdeps/x86 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64/wordsize-64 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/wordsize-64 -I../sysdeps/ieee754 -I../sysdeps/generic -I.. -I../libio -I. -D_LIBC_REENTRANT -include /sources/glibc-2.22/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h -x c - \
-MD -MP -MF /sources/glibc-2.22/build/locale-defines.h.dT -MT '/sources/glibc-2.22/build/locale-defines.h.d /sources/glibc-2.22/build/locale-defines.h'
sed -n 's/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$/#define \1 \2/p' \
/sources/glibc-2.22/build/locale-defines.hT3 > /sources/glibc-2.22/build/locale-defines.hT
rm -f /sources/glibc-2.22/build/locale-defines.hT3
sed -e 's@ /sources/glibc-2\.22/build/@ $(common-objpfx)@g' -e 's@^/sources/glibc-2\.22/build/@$(common-objpfx)@g' -e 's@ *\.\.\/\([^ \]*\)@ $(..)\1@g' -e 's@^\.\.\/\([^ \]*\)@$(..)\1@g' \
/sources/glibc-2.22/build/locale-defines.h.dT > /sources/glibc-2.22/build/locale-defines.h.dT2
rm -f /sources/glibc-2.22/build/locale-defines.h.dT
mv -f /sources/glibc-2.22/build/locale-defines.h.dT2 /sources/glibc-2.22/build/locale-defines.h.d
mv -f /sources/glibc-2.22/build/locale-defines.hT /sources/glibc-2.22/build/locale-defines.h
有人知道如何解决这个问题吗?有人告诉我,当构建系统时钟设置不正确时,这是一个常见的错误。然而,事实并非如此。
最佳答案
我不知道循环的原因,但你可以通过运行来进一步诊断它:
make -d |& tee log
less log
这将非常冗长,但埋在其中的行应该是说 xxx is newer than locale-defines.h;必须重新制作 locale-defines.h
。您也许可以使用它来追踪循环。
还有 remake程序可以提供更多用户友好的调试输出。许多发行版已经包含了它。
关于损坏的时钟设置的注意事项:如果您的时钟在某个时间点损坏,现在简单地修复它并不意味着该时间点之后的所有 make
调用都可以正常工作。您通常需要完全删除源/构建目录并从头开始重新启动构建过程。
关于linux - Glibc-2.22 make(无限循环)错误 [LFS 7.8 - 6.9],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35834281/
这个问题在这里已经有了答案: Multiple glibc libraries on a single host (11 个回答) 5年前关闭。 有没有办法在本地文件夹中安装新版本的 GLIBC?我将
这个问题在这里已经有了答案: Deploying Yesod to Heroku, can't build statically (4 个回答) 1年前关闭。 我有两台机器 RHEL 4机 RHEL
我在 C 启动时读取 article ,它指的是函数 __libc_csu_init 。谁能告诉我CSU代表什么? 最佳答案 我在 libc p 中找到了对“ C s tart u p”的引用。 这远
我正在使用 AlpineLinux(安装在我的计算机上,而不是安装在 docker 中)并且我正在尝试使用依赖于 glibc 的共享库。 由于 Glibc 没有集成到这个发行版中,我看到开发了一个替代
所以我正在玩 Alpine Linux,它使用 musl 与 glibc。 我发现由于这个选择,我无法运行 Oracle Java 或在 glibc 下构建的静态二进制文件。 musl 是否应该与更广
在构建 glibc 时,出现此错误。 *glibc/build/elf/dl-allobjs.os: file not recognized: File format not recognized c
我一直在寻找没有好的结果。 我想知道在文本中解释为 Malloc Maleficarum 或 Malloc Des-Malleficarum 的技术在 glibc 2.12.1 版本中是否有效。 在提
我在 CentOS 上安装 gcc 时遇到问题。 我的命令的输出sudo yum install gcc: Loaded plugins: fastestmirror Loading mirror s
我想下载gzip类型的mariadb,但是我发现它有很多文件可以下载,例如mariadb-10.2.6-linux-x86_64.tar.gz,mariadb-10.2.6-linux-glibc_2
我想尝试使用不同的 glibc 的 sin 函数。他们是否可以在不编译整个 glibc 的情况下使用不同 glibc 版本的 sin 函数? 我已经在我的虚拟 ubuntu 机器上下载了不同版本的 g
我要在超算中心的目录下安装一个软件,但是sudo,root,连apt-get,yum都不能用...这个软件需要glibc2.7,所以我得手动安装gcc和glibc(因为我无法更改内置 gcc 的路径来
我正在研究需要在多个不同的嵌入式平台上运行的 C 和 C++ 程序,为此我有交叉编译器,因此我可以在我的 x86 桌面上进行构建。 我在某些功能上遇到了一个可怕的问题,例如“strtod()”。这是我
我遇到了一个非常烦人的问题:我有一个程序,它在开始时创建一个线程,该线程将在执行期间启动其他内容(fork() 紧随其后的是 execve())。 这是我的程序达到(我认为)死锁时两个线程的 bt:
我刚刚发现,glibc 2.23 有一个关于 stdio 函数 fmemopen() 的错误,参见例如Using rewind() on a FILE* opened with fmemopen .
[root@localhost Keystone2]# sudo rpm -ivh glibc-2.3.4-2.9.audit.x86_64.rpm --nodeps --force warning:
从该系列中很容易找到如何使用 dlsym()和其他函数,但是在内部如何工作呢?是否可以编写自己的,容易实现的dlsym()? 我想知道是否有可能实现类似的行为,但在不将与-ldl链接的情况下实现(可以
嗨,我目前使用的是 ubuntu 9.10 和 glibc 版本 2.11.1-0,好吧,我正在做一个项目,我想用 glibc 的另一个版本(2.5-58)进行测试,我想知道以下与此相关的事情: 如何
我已经下载了glibc,这样我就可以修改它的代码然后使用它。所以只是为了玩玩它,我更改了 glibc 的 stdio-common 目录中的 printf 函数,以便它打印“你可以看到我吗?”。 in
我正在集群上的 conda 环境中部署 R 脚本。该脚本加载了一些需要 glibc 版本 >= 2.14 的包。虽然我的系统的 glibc 版本为 2.14,但集群的 glibc 版本为 2.12,我
所以。我有一个问题,我在一台机器上有两个版本的 GCC。 3.4.6 和 4.1 这是由于新软件的一些依赖性问题。 (需要 glibc 4.1) 当我将这个新软件与 4.1 库链接时,它链接得很好。但
我是一名优秀的程序员,十分优秀!