An error occurred while installing rugged

Ruby on-RailsGitGemGitlabRugged

Ruby on-Rails Problem Overview


Following this tutorial [link] to install gitlab on a dedicated server. I need to :

sudo -u git -H bundle install --deployment --without development test postgres aws

But an error occurred while installing rugged :

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

    /usr/local/bin/ruby extconf.rb
checking for cmake... no
ERROR: CMake is required to build Rugged.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/usr/local/bin/ruby


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

So I installed rugged -> I installed CMake & config-pkg :

/home/git/gitlab$ sudo gem install rugged
Building native extensions.  This could take a while...
Successfully installed rugged-0.21.2
Parsing documentation for rugged-0.21.2
unable to convert "\xC0" from ASCII-8BIT to UTF-8 for lib/rugged/rugged.so, skipping
1 gem installed

But it doesnt change anything :

Errno::EACCES: Permission denied - /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rugged-0.21.2/LICENSE
An error occurred while installing rugged (0.21.2), and Bundler cannot continue.
Make sure that `gem install rugged -v '0.21.2'` succeeds before bundling.

Any idea ?

Ruby on-Rails Solutions


Solution 1 - Ruby on-Rails

For OSX if you're using homebrew:

brew install cmake 
bundle install

Solution 2 - Ruby on-Rails

First, try installing cmake:

sudo apt-get install cmake

Then, repeat the command:

sudo -u git -H bundle install --deployment --without development test postgres aws

Solution 3 - Ruby on-Rails

For me, gem was complaining about pkg-config missing dependence, so I did:

sudo apt-get install pkg-config

and then

sudo gem install rugged -v '0.22.2'

after that, I revert to my older version of gitlab and re-run the script for the upgrade.

My older version of gitlab was 6.9.2 and the upgraded version 8.0.5

Solution 4 - Ruby on-Rails

Note: The above mentioned solutions did not work for me.


Here is the error log I got

checking for gmake... no
checking for make... yes
Building Rugged using system libraries.
libgit2 version is not compatible, expected ~> 0.99.0
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

It was mainly saying libgit2 version is not compatible, expected ~> 0.99.0

and I tried gem install rugged -v '0.99.0' and then bundle install.

then the problem is solved.

Solution 5 - Ruby on-Rails

Mac OSX 10.6 or later please refer to this url:

http://www.cmake.org/download/

Solution 6 - Ruby on-Rails

Can fix this problem only that way:

download from https://cmake.org/download/. Extract the downloaded tar file and then:

cd $CMAKE_DOWNLOAD_PATH
./configure
make
make install

And after this steps I could successfully run:

gem install rugged -v '0.26.0'

Solution 7 - Ruby on-Rails

For me it was Openssl problem in a WSL ubuntu 20.04 env

Run apt install cmake libssl-dev

might also help to run apt install ruby-dev pkg-config

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionpliebView Question on Stackoverflow
Solution 1 - Ruby on-RailsJoeView Answer on Stackoverflow
Solution 2 - Ruby on-Railsxoska74View Answer on Stackoverflow
Solution 3 - Ruby on-RailsAdrián Suarez BaisView Answer on Stackoverflow
Solution 4 - Ruby on-RailsillusionistView Answer on Stackoverflow
Solution 5 - Ruby on-RailsrailsfreakView Answer on Stackoverflow
Solution 6 - Ruby on-RailsS.MankoView Answer on Stackoverflow
Solution 7 - Ruby on-RailsPathToLifeView Answer on Stackoverflow