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- 谢谢 解决方法
它是由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 然后使应该工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |