Ruby rake gitlab:使用编译版本的libicu在RHEL 5上安装失败

Ruby rake gitlab:使用编译版本的libicu在RHEL 5上安装失败,ruby,gem,gitlab,Ruby,Gem,Gitlab,所以我完全是一个Rails新手。这可能更像是一个linux问题。。。因为这个问题似乎围绕着利比克·德维尔和查洛克·霍姆斯的宝石 我也主要遵循这些指南(当然还有谷歌搜索)。我从RVM获得了Ruby 2上的Rails 4。它是在Rackspace(专用)安装的RHEL5。 在经历了一些问题之后,我认为我正在取得进展,直到我从百胜获得了一些软件包,而事实上似乎没有一个超过3.6的libicu软件包。我从源代码处编译了它,一切似乎都安装得很好。添加了查洛克·福尔摩斯宝石 但是在为GitLab添加了DB

所以我完全是一个Rails新手。这可能更像是一个linux问题。。。因为这个问题似乎围绕着利比克·德维尔和查洛克·霍姆斯的宝石

我也主要遵循这些指南(当然还有谷歌搜索)。我从RVM获得了Ruby 2上的Rails 4。它是在Rackspace(专用)安装的RHEL5。

在经历了一些问题之后,我认为我正在取得进展,直到我从百胜获得了一些软件包,而事实上似乎没有一个超过3.6的libicu软件包。我从源代码处编译了它,一切似乎都安装得很好。添加了查洛克·福尔摩斯宝石

但是在为GitLab添加了DB之后,我开始进行初始化,不能再进一步了,现在我不知道该怎么做了。在这一点上,我发现了对其他错误的引用,但它们通常来自未正确设置的DB,因此没有帮助

任何比我更有Rails经验的人都知道我下一步可以做什么

rvmsudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
rake aborted!
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/charlock_holmes-0.6.9.4/lib/charlock_holmes/charlock_holmes.so: undefined symbol: _ZN7icu_4_28ByteSink15GetAppendBufferEiiPciPi - /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/charlock_holmes-0.6.9.4/lib/charlock_holmes/charlock_holmes.so
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `block in require'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:236:in `load_dependency'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/charlock_holmes-0.6.9.4/lib/charlock_holmes.rb:1:in `<top (required)>'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `block in require'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:236:in `load_dependency'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/gitlab-grit-2.5.1/lib/grit.rb:79:in `<top (required)>'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `block in require'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:236:in `load_dependency'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/gitlab_git-1.3.0/lib/gitlab_git.rb:4:in `<top (required)>'
/home/jharvey/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
/home/jharvey/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
/home/jharvey/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
/home/jharvey/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
/home/jharvey/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
/home/jharvey/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
/home/jharvey/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
/home/git/gitlab/config/application.rb:9:in `<top (required)>'
/home/git/gitlab/Rakefile:5:in `require'
/home/git/gitlab/Rakefile:5:in `<top (required)>'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.0.4/lib/rake/rake_module.rb:25:in `load'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.0.4/lib/rake/rake_module.rb:25:in `load_rakefile'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.0.4/lib/rake/application.rb:589:in `raw_load_rakefile'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.0.4/lib/rake/application.rb:89:in `block in load_rakefile'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.0.4/lib/rake/application.rb:160:in `standard_exception_handling'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.0.4/lib/rake/application.rb:88:in `load_rakefile'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.0.4/lib/rake/application.rb:72:in `block in run'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.0.4/lib/rake/application.rb:160:in `standard_exception_handling'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.0.4/lib/rake/application.rb:70:in `run'
(See full trace by running task with --trace)
更新3:正在取得进展。在和redis混了一段时间之后,我似乎已经成功地安装了所有东西。我可以成功地检查“环境:信息”。但是现在我尝试使用
init.d
使gitlab联机,但它不起作用安装后没有init脚本,所以我在这篇文章中从gitlabhq获取了一个(使用5-4,就像我的安装一样)。该脚本的结果是:

/etc/init.d/gitlab start
bash: bundle: command not found`
我们看看我能不能解决这个问题。我欢迎任何帮助


更新4:解决了这个问题。git用户无法看到RVM。我还没有测试过系统的各个方面,但我现在让GitLab在git子域上运行。对最初的问题没有具体的答案。但我似乎已经走到了旅程的尽头。对我来说,这是一个LDD问题。在我的系统上,安装了libicui18n的标头,同时安装了libicui18n.so.36和libicui18n.so.42

通过以下方式验证此操作:

ldd vendor/bundle/ruby/2.1.0/extensions/x86_64-linux/2.1.0-static/charlock_holmes-{YOUR VERSION HERE}/charlock_holmes/charlock_holmes.so
找线

libicui18n.so.## => ...
如果##是36,那么bundler链接的版本是错误的(应该是42)。Bundler似乎忽略了--with icu dir标志。不知道为什么

我的解决办法是使用gem编译charlock_holmes

gem install charlock_holmes -v '0.6.9.4' -- --with-icu-dir=[...]

其中[…]是安装icu 42的
lib
目录的路径。然后我将生成的二进制文件(charlock_holmes.so)复制到bundler生成的二进制文件上。

是的,这与rails无关;我已经删除了RubyonRails的
标记。您是否像自述文件中所说的那样使用icu dir=/path/to/installed/icu4c
命令运行了
bundle config build.charlock\u holmes?您是否安装了icu4c?Ruby 2.0?你需要1.9.3卢比-p392@Deefour是的,icu4c已经安装,正如我提到的,我是在存储库中没有可用的yum软件包的情况下从源代码处安装它的。指南中的哪个地方提到了
bundle config build.charlock\u holmes——使用icu dir=/path/to/installed/icu4c
?我确实运行了
sudogem安装charlock\u holmes--0.6.9.4版
,如指南所述。但我会试一试。@VonC:这仍然是一个要求吗?我看到几个月前的一些东西引用了2.0的一个问题。我很高兴摆脱了百胜给我的荒谬的旧版本。我也要试试。谢谢
gem install charlock_holmes -v '0.6.9.4' -- --with-icu-dir=[...]