Question

I'm trying to install GitLab on a Ubuntu PowerPC (mac mini) using sudo -u git -H bundle install --deployment --without development test postgres aws libv8 but installation fails on libv8 (3.11.8.17). Output is shown below.

I am totally new on Ruby, but i guess it's trying to install from binaries for a different architecture? How can i install from sources? Any help appreciated!

Bundler version 1.3.5

gem version 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 Aug 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.
Was it helpful?

Solution

The V8 compiler only has backends for x86, AMD64 and ARM.

OTHER TIPS

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

install libv8 with this command :

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

Please note that if you intend to run your own V8, you must install both V8 and its headers (found in libv8-dev for Debian distros).

You can precompile your assets on another machine and scp the public/assets folder to your gitlab power-pc machine.

You'll have to download gitlab and do a very quick setup on your development machine. Here's what I did.

# 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

Hope this helps!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top