加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 错误:符号`pread64’已经定义

发布时间:2020-12-17 02:24:44 所属栏目:百科 来源:网络整理
导读:我正在尝试编译 ruby-2.2.3.我已经下载了包并进行了配置.但是当我试图制作它时,它会抛出以下错误: compiling main.c/tmp/cc2lrvgn.s: Assembler messages:/tmp/cc2lrvgn.s:413: Error: symbol `pread64' is already definedmake: *** [main.o] Error 1 以下
我正在尝试编译 ruby-2.2.3.我已经下载了包并进行了配置.但是当我试图制作它时,它会抛出以下错误:

compiling main.c
/tmp/cc2lrvgn.s: Assembler messages:
/tmp/cc2lrvgn.s:413: Error: symbol `pread64' is already defined
make: *** [main.o] Error 1

以下是我的系统详细信息:

$lsb_release -a
LSB Version:    :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: CentOS
Description:    CentOS release 5.10 (Final)
Release:        5.10
Codename:       Final

以下是我正在使用的编译器的版本详细信息:

gcc --version
gcc (GCC) 4.8.2
Copyright (C) 2013 Free Software Foundation,Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

我已经对这个错误做了一些调查,发现这个bug存在于libc-
头.我试图升级libc-headers.但这也没有帮助.所以如果有人解决了这个问题,请帮忙.

谢谢

解决方法

它是由gcc 4.3的更改触发的,导致它与旧的glibc标头不兼容:
http://lifecs.likai.org/2009/06/multiple-definition-of-extern-inline.html
从那篇文章中,快速解决方法是在CFLAGS中添加-fgnu89-inline:

./configure –prefix = / usr –enable-shared –docdir = /usr/share / doc / ruby??-2.2.3 … CFLAGS = -fgnu89-inline

然后使应该工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读