在 Ubuntu 10.10 x86_64 上编译 GLIBC-2.13

发布于 2024-10-21 19:06:11 字数 350 浏览 3 评论 0原文

当尝试在 ubuntu 10.10、x86_64 上编译 glibc 时,出现错误:

../misc/syslog.c: In function ‘__vsyslog_chk’:
../misc/syslog.c:123: sorry, unimplemented: inlining failed in call to ‘syslog’: function body not available
../misc/syslog.c:155: sorry, unimplemented: called from here
make[2]: *** [/home/daniel/src/b.c/misc/syslog.o] Error 1

When trying to compile glibc on ubuntu 10.10, x86_64, i get the error:

../misc/syslog.c: In function ‘__vsyslog_chk’:
../misc/syslog.c:123: sorry, unimplemented: inlining failed in call to ‘syslog’: function body not available
../misc/syslog.c:155: sorry, unimplemented: called from here
make[2]: *** [/home/daniel/src/b.c/misc/syslog.o] Error 1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

堇色安年 2024-10-28 19:06:11

尝试这个关于 glibc 构建问题的 wiki

我刚刚遇到了同样的问题,但是是 32 位的。运行配置脚本时,将 CFLAGS='-U_FORTIFY_SOURCE -O2' 添加到命令行似乎有效。您可能还需要在其中添加 -mtune=i686 和 -march=i686 。但也许不适合 64 位。 i686 似乎是另一个 bug。

Try this wiki about glibc build issues.

I just ran into the same issue but with 32-bit. When running the configure script, adding CFLAGS='-U_FORTIFY_SOURCE -O2' to the command line seems to work. You may need to add -mtune=i686 and -march=i686 in there too. But maybe not for 64 bit. The i686 seems to be another bug.

梦里梦着梦中梦 2024-10-28 19:06:11

每当您想在 Ubuntu 上重建 Debian 上的某些东西时,您几乎总是最好从 Debian 上的原始源代码包开始。

在这种特殊情况下,您可以从来自 Debian 实验分支的此版本开始。通过使用源包,您可以确保具有所需的构建依赖项,并应尽量减少意外情况。

此外,在 chroot 环境中构建是实现此目的的好方法,并且通过诸如 pbuilder 和 sbuild 之类的包可以轻松实现。

编辑:有构建日志,但没有包含一个针对 amd64 的,大概是因为维护者在本地构建了它。但是你可以查看 i386,看看它是否通过了你遇到的错误。

Whenever you want to rebuild something on Ubuntu that Debian already, you are almost always best of by starting with the original source package on Debian.

In this particular case you can start with this version from the Debian experimental branch. By using the source package, you ensure you have required build-dependencies and should minimize surprises.

Also, building in a chroot environment is a good way to do this and made easy by packages such as pbuilder and sbuild.

Edit: There are build logs but they don't contain one for amd64, presumably because the maintainers built on that locally. But you can look at i386, say, and see that it passed the error you had.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文