我一直工作在ICU进行MRI Ruby的绑定。配置在OS X中平稳运行,但在Travis(Ubuntu 12.04,gcc 4.8+)上失败了。ICU无法与MRI静态内置甚至它的编译`-fPIC`
构建文件下载,提取,编译ICU成静态库,并链接与我的胶水代码共享对象。它应该是平稳的,但每次都会弹出链接错误。
linking shared-object icu/icu.so relocation R_X86_64_32S against `.rodata._ZL11_uErrorName' can not be used when making a shared object; recompile with -fPIC` was found
Rubygem建立配置文件: https://github.com/fantasticfears/icu4r/blob/master/ext/icu/extconf.rb#L88-L89
我试着--enable-static --disable-shared --disable-renaming
,但它不工作。 它的工作原理,如果我建立它与--enable-static --disable-renaming
但是当实际用户加载它宝石失败。它甚至在我的机器上无法使用rubygems。虽然我可以通过rake
来构建它。