gpt4 book ai didi

ruby - 无法安装 bundler

转载 作者:太空宇宙 更新时间:2023-11-03 16:01:32 25 4
gpt4 key购买 nike

我无法bundler install,但 charlock_holmes.so 已安装:

root@RoR:/home/git/gitlab# gem install charlock_holmes -v '0.7.1'
Building native extensions. This could take a while...
Successfully installed charlock_holmes-0.7.1
1 gem installed
Installing ri documentation for charlock_holmes-0.7.1...
Installing RDoc documentation for charlock_holmes-0.7.1...
root@RoR:/home/git/gitlab# bundler install
It's recommended to use Bundler through 'bundle' binary instead of 'bundler'
Fetching source index from https://rubygems.org/
Using rake (10.1.1)
Using ace-rails-ap (2.0.1)
Using i18n (0.6.9)
Using minitest (4.7.5)
Using multi_json (1.8.4)
Using atomic (1.1.14)
Using thread_safe (0.1.3)
Using tzinfo (0.3.38)
Using activesupport (4.0.3)
Using builder (3.1.4)
Using erubis (2.7.0)
Using rack (1.5.2)
Using rack-test (0.6.2)
Using actionpack (4.0.3)
Using mime-types (1.25.1)
Using polyglot (0.3.4)
Using treetop (1.4.15)
Using mail (2.5.4)
Using actionmailer (4.0.3)
Using actionpack-action_caching (1.1.0)
Using actionpack-page_caching (1.0.2)
Using activemodel (4.0.3)
Using activerecord-deprecated_finders (1.0.3)
Using arel (4.0.2)
Using activerecord (4.0.3)
Using bundler (1.5.3)
Using thor (0.18.1)
Using railties (4.0.3)
Using hike (1.2.3)
Using tilt (1.4.1)
Using sprockets (2.10.1)
Using sprockets-rails (2.0.1)
Using rails (4.0.3)
Using acts-as-taggable-on (2.4.1)
Using asciidoctor (0.1.4)
Using descendants_tracker (0.0.3)
Using ice_nine (0.10.0)
Using axiom-types (0.0.5)
Using bcrypt-ruby (3.1.2)
Using sass (3.2.12)
Using bootstrap-sass (3.0.3.0)
Using json (1.8.1)
Using carrierwave (0.9.0)
Using timers (1.1.0)
Using celluloid (0.15.2)

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

/usr/bin/ruby1.9.1 extconf.rb --with-ldflags=-L. -Wl,-O1 -Wl,--as-needed -rdynamic
checking for main() in -licui18n... yes
checking for main() in -licui18n... yes
checking for unicode/ucnv.h... yes
checking for main() in -lz... yes
checking for main() in -licuuc... yes
checking for main() in -licudata... yes
creating Makefile

make
compiling encoding_detector.c
In file included from encoding_detector.c:2:0:
common.h:14:14: warning: ‘charlock_new_enc_str’ defined but not used [-Wunused-function]
static VALUE charlock_new_enc_str(const char *str, size_t len, void *encoding)
^
compiling ext.c
In file included from ext.c:1:0:
common.h:14:14: warning: ‘charlock_new_enc_str’ defined but not used [-Wunused-function]
static VALUE charlock_new_enc_str(const char *str, size_t len, void *encoding)
^
common.h:23:14: warning: ‘charlock_new_str’ defined but not used [-Wunused-function]
static VALUE charlock_new_str(const char *str, size_t len)
^
common.h:32:14: warning: ‘charlock_new_str2’ defined but not used [-Wunused-function]
static VALUE charlock_new_str2(const char *str)
^
compiling converter.c
In file included from converter.c:2:0:
common.h:23:14: warning: ‘charlock_new_str’ defined but not used [-Wunused-function]
static VALUE charlock_new_str(const char *str, size_t len)
^
common.h:32:14: warning: ‘charlock_new_str2’ defined but not used [-Wunused-function]
static VALUE charlock_new_str2(const char *str)
^
compiling transliterator.cpp
In file included from transliterator.cpp:1:0:
common.h:14:14: warning: ‘VALUE charlock_new_enc_str(const char*, size_t, void*)’ defined but not used [-Wunused-function]
static VALUE charlock_new_enc_str(const char *str, size_t len, void *encoding)
^
common.h:32:14: warning: ‘VALUE charlock_new_str2(const char*)’ defined but not used [-Wunused-function]
static VALUE charlock_new_str2(const char *str)
^
linking shared-object charlock_holmes/charlock_holmes.so
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libicui18n.a(smpdtfmt.ao): réadressage R_X86_64_PC32 vers symbole « _ZN6icu_5216SimpleDateFormat22isAfterNonNumericFieldERKNS_13UnicodeStringEi » ne peut pas être utilisé en créant un objet partagé ; recompilé avec -fPIC
/usr/bin/ld: édition de lien finale en échec: Mauvaise valeur
collect2: error: ld returned 1 exit status
make: *** [charlock_holmes.so] Erreur 1


Gem files will remain installed in /home/git/gitlab/vendor/bundle/ruby/1.9.1/gems/charlock_holmes-0.7.1 for inspection.
Results logged to /home/git/gitlab/vendor/bundle/ruby/1.9.1/gems/charlock_holmes-0.7.1/ext/charlock_holmes/gem_make.out
An error occurred while installing charlock_holmes (0.7.1), and Bundler cannot continue.
Make sure that `gem install charlock_holmes -v '0.7.1'` succeeds before bundling.

没有论坛解决这个问题,你能帮帮我吗?

最佳答案

不幸的是,没有足够的信息来重现错误,但我想我知道出了什么问题。

charlock_holmes 本身不是问题。问题由 libICU 引入(libicui18n.a::smpdtfmt.ao) 似乎是在目标系统上编译的没有-fPIC开关.

[...]/libicui18n.a(smpdtfmt.ao): réadressage R_X86_64_PC32 vers symbole «[...]» 
ne peut pas être utilisé en créant un objet partagé ;
recompilé avec -fPIC

我不知道 bundle install 依赖和直接安装有什么区别,但要解决问题,我建议执行以下操作:

  • 使用包管理器删除系统上安装的任何 libicu
  • 用标志 -fPIC on 重建 libicu 包(这里是 guide for Ubuntu );
  • 安装新建的包;
  • 重试 bundle install

希望对您有所帮助。

UPD 请按照您的 gemspec 的要求,使用 charlock_holmes 的版本信息更新帖子。是不是像~>0.7.0,对吧?我的猜测是坚持你的 gemspec 中的版本:

- 'sharlock_holmes', '~>0.7.0'
+ 'sharlock_holmes', '=0.7.0'

关于ruby - 无法安装 bundler ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23883857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com