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

【字号: 日期:2022-10-19浏览:22作者:雯心

问题描述

今天在编译 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 valuecollect2: error: ld returned 1 exit statusmake[2]: *** [../../.ext/x86_64-linux/fiddle.so] Error 1make[2]: Leaving directory `/home/simowce/ruby-2.2.0/ext/fiddle’make[1]: *** [ext/fiddle/all] Error 2make[1]: Leaving directory `/home/simowce/ruby-2.2.0’make: *** [build-ext] Error 2

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

问题解答

回答1:

请安装 libffi 的开发包(比如 libffi-dev)。

相关文章: