编译 Ruby 时出现 recompile with -fPIC 的错误

 杜娟小乖_748 发布于 2022-10-25 08:39

今天在编译 Ruby 的时候,在 make 出现了一个错误:

linking shared-object fiddle.so
/usr/bin/ld: ./libffi-3.2.1/.libs/libffi.a(raw_api.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
./libffi-3.2.1/.libs/libffi.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [../../.ext/x86_64-linux/fiddle.so] Error 1
make[2]: Leaving directory `/home/simowce/ruby-2.2.0/ext/fiddle'
make[1]: *** [ext/fiddle/all] Error 2
make[1]: Leaving directory `/home/simowce/ruby-2.2.0'
make: *** [build-ext] Error 2

我不知道究竟是什么意思。 Ruby 的源码是在 ruby-lang 上下载的,版本是 2.2.0 。请大家帮帮我,谢谢!

1 个回答
  • 请安装 libffi 的开发包(比如 libffi-dev)。

    2022-10-26 14:34 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有