在libv8(3.11.8.17)上安装PPC上的GitLab失败,架构错误?

时间:2013-09-23 19:27:12

标签: ruby-on-rails ruby gem gitlab powerpc

我正在尝试使用sudo -u git -H bundle install --deployment --without development test postgres aws libv8在Ubuntu PowerPC(mac mini)上安装GitLab,但是在libv8(3.11.8.17)上安装失败。输出如下所示。

我是Ruby的新手,但我想它正试图从二进制文件安装不同的架构?我如何从源安装?任何帮助表示赞赏!

Bundler版本1.3.5

宝石版 2.0.3

ruby​​ version 2.0.0p247(2013-06-27)[powerpc-linux]

UNAME Linux ubumini 3.2.0-53-powerpc-smp#81-Ubuntu SMP Thu 8月22日21:09:31 UTC 2013 ppc ppc ppc GNU / Linux

Installing libv8 (3.11.8.17) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /usr/local/bin/ruby extconf.rb 
creating Makefile
Compiling v8 for ia32
Using python 2.7.3
Using compiler: /usr/bin/g++
In file included from ../src/allocation.h:31:0,
                 from ../src/allocation.cc:28:
../src/globals.h:90:2: error: #error Host architecture was not detected as supported by v8
../src/globals.h:113:2: error: #error Target architecture ia32 is only supported on ia32 host
make[1]: *** [/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/libv8-3.11.8.17/vendor/v8/out/ia32.release/obj.target/preparser_lib/src/allocation.o] Error 1
make: *** [ia32.release] Error 2
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/libv8-3.11.8.17/ext/libv8/location.rb:36:in `block in verify_installation!': libv8 did not install properly, expected binary v8 archive '/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/libv8-3.11.8.17/vendor/v8/out/ia32.release/obj.target/tools/gyp/libv8_base.a'to exist, but it was not found (Libv8::Location::Vendor::ArchiveNotFound)
    from /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/libv8-3.11.8.17/ext/libv8/location.rb:35:in `each'
    from /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/libv8-3.11.8.17/ext/libv8/location.rb:35:in `verify_installation!'
    from /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/libv8-3.11.8.17/ext/libv8/location.rb:26:in `install!'
    from extconf.rb:7:in `<main>'
GYP_GENERATORS=make \
    build/gyp/gyp --generator-output="out" build/all.gyp \
                  -Ibuild/standalone.gypi --depth=. \
                  -Dv8_target_arch=ia32 \
                  -S.ia32  -Dv8_can_use_vfp_instructions=true
make[1]: Entering directory `/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/libv8-3.11.8.17/vendor/v8/out'
  CXX(target) /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/libv8-3.11.8.17/vendor/v8/out/ia32.release/obj.target/preparser_lib/src/allocation.o
make[1]: Leaving directory `/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/libv8-3.11.8.17/vendor/v8/out'


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

3 个答案:

答案 0 :(得分:2)

V8编译器只有x86,AMD64和ARM的后端。

答案 1 :(得分:2)

请参阅https://github.com/cowboyd/libv8/tree/3.11#bring-your-own-v8

使用以下命令安装libv8:

gem install libv8 -- --with-system-v8

请注意,如果您打算运行自己的V8,则必须安装V8及其标头(在Debian发行版的libv8-dev中找到)。

答案 2 :(得分:2)

您可以在另一台计算机上预编译资产,并将public / assets文件夹scp到您的gitlab power-pc计算机。

您必须下载gitlab并在开发计算机上进行快速设置。这就是我所做的。

# on my development machine
git clone https://github.com/gitlabhq/gitlabhq.git gitlab
cd gitlab
git checkout 6-3-stable

cp config/gitlab.yml.example config/gitlab.yml
cp config/unicorn.rb.example config/unicorn.rb
cp config/database.yml.postgresql config/database.yml

# edit and set db
nano config/database.yml

# https://github.com/CiTroNaK/Installation-guide-for-GitLab-on-OS-X
brew install icu4c libxml2
gem install charlock_holmes --version '0.6.9.4'
bundle install --deployment --without development test mysql aws

bundle exec rake db:create RAILS_ENV=production
bundle exec rake assets:precompile RAILS_ENV=production

scp -r ~/gitlab-project-path/public/assets user@gitlab-ip:/home/ubuntu/

ssh user@gitlab-ip

# on my remote machine
sudo rm -rf /home/git/gitlab/public/assets
sudo mv assets /home/git/gitlab/public
sudo service gitlab restart

希望这有帮助!