Error when installing Nokigori with Chef recipe - ruby

I'm trying to install and use Nokigoro for XML parsing (if there is an alternative parser that doesn't result in mindless head hitting of wall - I'm happy to check it out)
I'm running this via a recipe on the chef client, in my recipe I have:
# include_recipe 'ohai'
chef_gem 'nokogiri'
require 'nokogiri'
which is as far as it gets really.
Running this as my run list results in the following error:
Starting Chef Client, version 12.12.15
[2017-03-31T14:07:36+00:00] WARN: Run List override has been provided.
[2017-03-31T14:07:36+00:00] WARN: Original Run List: []
[2017-03-31T14:07:36+00:00] WARN: Overridden Run List: [recipe[steve-solr]]
resolving cookbooks for run list: ["steve-solr"]
Synchronizing Cookbooks:
- steve-solr (0.1.0)
Installing Cookbook Gems:
Compiling Cookbooks...
Recipe: steve-solr::default
* chef_gem[nokogiri] action install
================================================================================
Error executing action `install` on resource 'chef_gem[nokogiri]'
================================================================================
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '1'
---- Begin output of /opt/chef/embedded/bin/gem install nokogiri -q --no-rdoc --no-ri -v "1.7.1" ----
STDOUT: Building native extensions. This could take a while...
STDERR: ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
current directory: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/nokogiri-1.7.1/ext/nokogiri
/opt/chef/embedded/bin/ruby -r ./siteconf20170331-19864-1d63c49.rb extconf.rb
checking if the C compiler accepts ... *** 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
--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=/opt/chef/embedded/bin/ruby
--help
--clean
/opt/chef/embedded/lib/ruby/2.1.0/mkmf.rb:467:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /opt/chef/embedded/lib/ruby/2.1.0/mkmf.rb:582:in `block in try_compile'
from /opt/chef/embedded/lib/ruby/2.1.0/mkmf.rb:533:in `with_werror'
from /opt/chef/embedded/lib/ruby/2.1.0/mkmf.rb:582:in `try_compile'
from extconf.rb:138:in `nokogiri_try_compile'
from extconf.rb:162:in `block in add_cflags'
from /opt/chef/embedded/lib/ruby/2.1.0/mkmf.rb:630:in `with_cflags'
from extconf.rb:161:in `add_cflags'
from extconf.rb:406:in `<main>'
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/opt/chef/embedded/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0/nokogiri-1.7.1/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/nokogiri-1.7.1 for inspection.
Results logged to /opt/chef/embedded/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0/nokogiri-1.7.1/gem_make.out
---- End output of /opt/chef/embedded/bin/gem install nokogiri -q --no-rdoc --no-ri -v "1.7.1" ----
Ran /opt/chef/embedded/bin/gem install nokogiri -q --no-rdoc --no-ri -v "1.7.1" returned 1
Cookbook Trace:
---------------
/var/chef/cache/cookbooks/steve-solr/recipes/default.rb:8:in `from_file'
Resource Declaration:
---------------------
# In /var/chef/cache/cookbooks/steve-solr/recipes/default.rb
8: chef_gem 'nokogiri'
9: require 'nokogiri'
Compiled Resource:
------------------
# Declared in /var/chef/cache/cookbooks/steve-solr/recipes/default.rb:8:in `from_file'
chef_gem("nokogiri") do
package_name "nokogiri"
action [:install]
retries 0
retry_delay 2
default_guard_interpreter :default
declared_type :chef_gem
cookbook_name "steve-solr"
recipe_name "default"
gem_binary "/opt/chef/embedded/bin/gem"
end
Platform:
---------
x86_64-linux
================================================================================
Recipe Compile Error in /var/chef/cache/cookbooks/steve-solr/recipes/default.rb
================================================================================
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
chef_gem[nokogiri] (steve-solr::default line 8) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of /opt/chef/embedded/bin/gem install nokogiri -q --no-rdoc --no-ri -v "1.7.1" ----
STDOUT: Building native extensions. This could take a while...
STDERR: ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
current directory: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/nokogiri-1.7.1/ext/nokogiri
/opt/chef/embedded/bin/ruby -r ./siteconf20170331-19864-1d63c49.rb extconf.rb
checking if the C compiler accepts ... *** 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
--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=/opt/chef/embedded/bin/ruby
--help
--clean
/opt/chef/embedded/lib/ruby/2.1.0/mkmf.rb:467:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /opt/chef/embedded/lib/ruby/2.1.0/mkmf.rb:582:in `block in try_compile'
from /opt/chef/embedded/lib/ruby/2.1.0/mkmf.rb:533:in `with_werror'
from /opt/chef/embedded/lib/ruby/2.1.0/mkmf.rb:582:in `try_compile'
from extconf.rb:138:in `nokogiri_try_compile'
from extconf.rb:162:in `block in add_cflags'
from /opt/chef/embedded/lib/ruby/2.1.0/mkmf.rb:630:in `with_cflags'
from extconf.rb:161:in `add_cflags'
from extconf.rb:406:in `<main>'
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/opt/chef/embedded/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0/nokogiri-1.7.1/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/nokogiri-1.7.1 for inspection.
Results logged to /opt/chef/embedded/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0/nokogiri-1.7.1/gem_make.out
---- End output of /opt/chef/embedded/bin/gem install nokogiri -q --no-rdoc --no-ri -v "1.7.1" ----
Ran /opt/chef/embedded/bin/gem install nokogiri -q --no-rdoc --no-ri -v "1.7.1" returned 1
Cookbook Trace:
---------------
/var/chef/cache/cookbooks/steve-solr/recipes/default.rb:8:in `from_file'
Relevant File Content:
----------------------
/var/chef/cache/cookbooks/steve-solr/recipes/default.rb:
1: #
2: # Cookbook Name:: steve-solr
3: # Recipe:: default
4: #
5: # Copyright (c) 2017 The Authors, All Rights Reserved.
6: # include_recipe 'aws'
7: # include_recipe 'ohai'
8>> chef_gem 'nokogiri'
9: require 'nokogiri'
10:
11: class SolrObject
12: attr_reader :coreName
13: def initialize(name)
14: #coreName = name
15: end
16:
17: def coreName
Platform:
---------
x86_64-linux
Running handlers:
[2017-03-31T14:07:38+00:00] ERROR: Running exception handlers
Running handlers complete
[2017-03-31T14:07:38+00:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 02 seconds
[2017-03-31T14:07:38+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[2017-03-31T14:07:38+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2017-03-31T14:07:38+00:00] ERROR: chef_gem[nokogiri] (steve-solr::default line 8) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of /opt/chef/embedded/bin/gem install nokogiri -q --no-rdoc --no-ri -v "1.7.1" ----
STDOUT: Building native extensions. This could take a while...
STDERR: ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
current directory: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/nokogiri-1.7.1/ext/nokogiri
/opt/chef/embedded/bin/ruby -r ./siteconf20170331-19864-1d63c49.rb extconf.rb
checking if the C compiler accepts ... *** 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
--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=/opt/chef/embedded/bin/ruby
--help
--clean
/opt/chef/embedded/lib/ruby/2.1.0/mkmf.rb:467:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /opt/chef/embedded/lib/ruby/2.1.0/mkmf.rb:582:in `block in try_compile'
from /opt/chef/embedded/lib/ruby/2.1.0/mkmf.rb:533:in `with_werror'
from /opt/chef/embedded/lib/ruby/2.1.0/mkmf.rb:582:in `try_compile'
from extconf.rb:138:in `nokogiri_try_compile'
from extconf.rb:162:in `block in add_cflags'
from /opt/chef/embedded/lib/ruby/2.1.0/mkmf.rb:630:in `with_cflags'
from extconf.rb:161:in `add_cflags'
from extconf.rb:406:in `<main>'
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/opt/chef/embedded/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0/nokogiri-1.7.1/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/nokogiri-1.7.1 for inspection.
Results logged to /opt/chef/embedded/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0/nokogiri-1.7.1/gem_make.out
---- End output of /opt/chef/embedded/bin/gem install nokogiri -q --no-rdoc --no-ri -v "1.7.1" ----
Ran /opt/chef/embedded/bin/gem install nokogiri -q --no-rdoc --no-ri -v "1.7.1" returned 1
[2017-03-31T14:07:38+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
with this being in my error file:
"gcc -o conftest -I/opt/chef/embedded/include/ruby-2.1.0/x86_64-linux -I/opt/chef/embedded/include/ruby-2.1.0/$
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return 0;
6: }
/* end */
any help or suggestions on fixing would be fantastic, thanks.

Just remove the chef_gem entirely. We bundle nokogiri with the Chef installer so you don't have to install or compile it unless you specifically need the latest version for some reason.

Related

Ruby Shopify CLI installation - missing libraries - error

I am fairly new to Ruby and getting an error in the command line when attempting to use it to install Shopify CLI gem install shopify-cli.
I verified that I have ruby installed by running ruby -v
Here is the error:
C:\Users\mso87>gem install shopify-cli
Fetching rb-fsevent-0.11.0.gem
Fetching rb-inotify-0.10.1.gem
Fetching ffi-1.15.3-x64-mingw32.gem
Fetching listen-3.6.0.gem
Fetching liquid-5.0.1.gem
Fetching nokogiri-1.12.3-x64-mingw32.gem
Fetching nokogumbo-2.0.5.gem
Fetching theme-check-1.2.0.gem
Fetching shopify-cli-2.2.2.gem
Successfully installed rb-fsevent-0.11.0
Successfully installed ffi-1.15.3-x64-mingw32
Successfully installed rb-inotify-0.10.1
Successfully installed listen-3.6.0
Successfully installed liquid-5.0.1
Temporarily enhancing PATH for MSYS/MINGW...
Building native extensions. This could take a while...
ERROR: Error installing shopify-cli:
ERROR: Failed to build gem native extension.
current directory: C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/racc-1.5.2/ext/racc/cparse
C:/Ruby26-x64/bin/ruby.exe -I C:/Ruby26-x64/lib/ruby/2.6.0 -r ./siteconf20210816-16376-5tlz85.rb extconf.rb
checking for rb_ary_subseq()... *** 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=C:/Ruby26-x64/bin/$(RUBY_BASE_NAME)
C:/Ruby26-x64/lib/ruby/2.6.0/mkmf.rb:467:in try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from C:/Ruby26-x64/lib/ruby/2.6.0/mkmf.rb:552:in try_link0'
from C:/Ruby26-x64/lib/ruby/2.6.0/mkmf.rb:570:in try_link' from C:/Ruby26-x64/lib/ruby/2.6.0/mkmf.rb:782:in try_func'
from C:/Ruby26-x64/lib/ruby/2.6.0/mkmf.rb:1069:in block in have_func' from C:/Ruby26-x64/lib/ruby/2.6.0/mkmf.rb:959:in block in checking_for'
from C:/Ruby26-x64/lib/ruby/2.6.0/mkmf.rb:361:in block (2 levels) in postpone' from C:/Ruby26-x64/lib/ruby/2.6.0/mkmf.rb:331:in open'
from C:/Ruby26-x64/lib/ruby/2.6.0/mkmf.rb:361:in block in postpone' from C:/Ruby26-x64/lib/ruby/2.6.0/mkmf.rb:331:in open'
from C:/Ruby26-x64/lib/ruby/2.6.0/mkmf.rb:357:in postpone' from C:/Ruby26-x64/lib/ruby/2.6.0/mkmf.rb:958:in checking_for'
from C:/Ruby26-x64/lib/ruby/2.6.0/mkmf.rb:1068:in have_func' from extconf.rb:6:in '
To see why this extension failed to compile, please check the mkmf.log which can be found here:
C:/Ruby26-x64/lib/ruby/gems/2.6.0/extensions/x64-mingw32/2.6.0/racc-1.5.2/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/racc-1.5.2 for inspection.
Results logged to C:/Ruby26-x64/lib/ruby/gems/2.6.0/extensions/x64-mingw32/2.6.0/racc-1.5.2/gem_make.out
The docs for shopify cli mention that you need ruby 2.7 installed on your system. From looking at your output, you're using ruby 2.6.
https://shopify.dev/apps/tools/cli/installation

Failed to build gem native extension on Windows

I'm attempting to install the dandelion gem on on my Windows machine, but it keeps failing:
C:\Users\William>gem install dandelion --platform=ruby
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing dandelion:
ERROR: Failed to build gem native extension.
C:/Ruby22/bin/ruby.exe -r ./siteconf20150623-7568-1ikffjg.rb extconf.rb
checking for gmake... no
checking for make... yes
checking for cmake... yes
checking for pkg-config... yes
-- cmake .. -DBUILD_CLAR=OFF -DTHREADSAFE=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_C_
FLAGS=-fPIC -DCMAKE_BUILD_TYPE=RelWithDebInfo -G "Unix Makefiles"
-- C:\DevKit\bin/make.exe
checking for main() in -lgit2... *** 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=C:/Ruby22/bin/$(RUBY_BASE_NAME)
--use-system-libraries
--with-git2-dir
--without-git2-dir
--with-git2-include
--without-git2-include=${git2-dir}/include
--with-git2-lib
--without-git2-lib=${git2-dir}/lib
--with-git2lib
--without-git2lib
C:/Ruby22/lib/ruby/2.2.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from C:/Ruby22/lib/ruby/2.2.0/mkmf.rb:541:in `try_link0'
from C:/Ruby22/lib/ruby/2.2.0/mkmf.rb:556:in `try_link'
from C:/Ruby22/lib/ruby/2.2.0/mkmf.rb:735:in `try_func'
from C:/Ruby22/lib/ruby/2.2.0/mkmf.rb:966:in `block in have_library'
from C:/Ruby22/lib/ruby/2.2.0/mkmf.rb:911:in `block in checking_for'
from C:/Ruby22/lib/ruby/2.2.0/mkmf.rb:351:in `block (2 levels) in postpone'
from C:/Ruby22/lib/ruby/2.2.0/mkmf.rb:321:in `open'
from C:/Ruby22/lib/ruby/2.2.0/mkmf.rb:351:in `block in postpone'
from C:/Ruby22/lib/ruby/2.2.0/mkmf.rb:321:in `open'
from C:/Ruby22/lib/ruby/2.2.0/mkmf.rb:347:in `postpone'
from C:/Ruby22/lib/ruby/2.2.0/mkmf.rb:910:in `checking_for'
from C:/Ruby22/lib/ruby/2.2.0/mkmf.rb:961:in `have_library'
from extconf.rb:89:in `<main>'
extconf failed, exit code 1
Gem files will remain installed in C:/Ruby22/lib/ruby/gems/2.2.0/gems/rugged-0.2
2.1b1 for inspection.
Results logged to C:/Ruby22/lib/ruby/gems/2.2.0/extensions/x86-mingw32/2.2.0/rug
ged-0.22.1b1/gem_make.out
The error that states "you have to install development tools first" is a head-scratcher. I have already installed DevKit.
Any ideas how to solve this error?
This is a fun one. I'm going to take a wild guess and say that you have a version of libgit2 located in C:/Program Files (x86)/libgit2/lib and that folder is somehow in your Path or possible some other environment variable.
The fix is to take that folder out of what environment variable that it could be in. That should let rugged build correctly.
The Problem
When gcc is trying to test for the libgit2 library it sees it could possibly be in C:/Program Files (x86)/libgit2/lib and uses -LC:/Program Files (x86)/libgit2/lib.
The problem is that it isn't properly escaped, which leads to
gcc: error: Files: No such file or directory
gcc: error: (x86)/libgit2/lib: No such file or directory
This is actually the same reason why Ruby can't be installed in folders with spaces.
As a side note: I'd like to point out that in addition to the regular DevKit you also have cmake and pkg-config somewhere installed and in your Path

Unable to install cucumber gem

I'm trying to setup ruby/cucumber tool on my windows 7 PC, I've installed Ruby 2.1.5 and devkit and got installed all the gems except Cucumber.
I'm getting the following error while install cucumber gem.Please help me on this.
ERROR:
Following gems were not installed:
cucumber (2.0.0.rc.4): Error installing cucumber:
ERROR: Failed to build gem native extension. C:/Ruby22-x64/bin/ruby.exe -r ./siteconf20150308-6692-1kwvlbm.rb extconf.rb checking for main() in -lc... * 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. Temporarily enhancing PATH to include DevKit... Provided configuration options: Building native extensions. This could take a while... --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=C:/Ruby22-x64/bin/$(RUBY_BASE_NAME) --with-gherkin_lexer_ar-dir --without-gherkin_lexer_ar-dir --with-gherkin_lexer_ar-include --without-gherkin_lexer_ar-include=${gherkin_lexer_ar-dir}/include --with-gherkin_lexer_ar-lib --without-gherkin_lexer_ar-lib=${gherkin_lexer_ar-dir}/lib --with-clib --without-clib C:/Ruby22-x64/lib/ruby/2.2.0/mkmf.rb:456:in try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from C:/Ruby22-x64/lib/ruby/2.2.0/mkmf.rb:541:intry_link0' from C:/Ruby22-x64/lib/ruby/2.2.0/mkmf.rb:556:in try_link' from C:/Ruby22-x64/lib/ruby/2.2.0/mkmf.rb:735:intry_func' from C:/Ruby22-x64/lib/ruby/2.2.0/mkmf.rb:966:in block in have_library' from C:/Ruby22-x64/lib/ruby/2.2.0/mkmf.rb:911:inblock in checking_for' from C:/Ruby22-x64/lib/ruby/2.2.0/mkmf.rb:351:in block (2 levels) in postpone' from C:/Ruby22-x64/lib/ruby/2.2.0/mkmf.rb:321:inopen' from C:/Ruby22-x64/lib/ruby/2.2.0/mkmf.rb:351:in block in postpone' from C:/Ruby22-x64/lib/ruby/2.2.0/mkmf.rb:321:inopen' from C:/Ruby22-x64/lib/ruby/2.2.0/mkmf.rb:347:in postpone' from C:/Ruby22-x64/lib/ruby/2.2.0/mkmf.rb:910:inchecking_for' from C:/Ruby22-x64/lib/ruby/2.2.0/mkmf.rb:961:in have_library' from extconf.rb:5:in' extconf failed, exit code 1 Gem files will remain installed in C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/gherkin-2.12.2 for inspection. Results logged to C:/Ruby22-x64/lib/ruby/gems/2.2.0/extensions/x64-mingw32/2.2.0/gherkin-2.12.2/gem_make.out
Are you able to try using the current HEAD?
You can specify gem 'cucumber', github: 'cucumber/cucumber' in a Gemfile and try bundle installl

How install rmagick in windows XP with ruby 1.9.3

Generally installation Ruby environment on Windows is BAD and STUPID idea!!!
Think well 1000 times before you do it!!!
My environment:
windows XP (x32)
ruby 1.9.3p484 (2013-11-22) [i386-mingw32]
DevKit-tdm-32-4.5.2-20111229-1559-sfx
ImageMagick-6.8.8-2-Q8-x64-static.exe
I'm using this manual: https://github.com/oneclick/rubyinstaller/wiki/Development-Kit
I did more than 3 attempts to install it!
It's easier and better to buy new laptop or install Linux on your machine!!!
After 4 hours of pain and suffering I was fortunate to run 'bundle install' successful.
Incidentally, I recommend:
install ruby to C:/ruby193 ( not into 'Program Files' !!! )
install devkit to C:/DevKit ( not into 'Program Files' !!! )
I don't understand WTF is going on with this. And now I have new error :)
This is a magic problem with ImageMagik ( I think Satan himself wrote this program! )
Now I can't install rmagick, cause of some problem of ruby,devkit, ImageMagik or rmagik.
I see this error, when run:
gem install rmagick -v '2.13.2' -- '--with-opt-dir="C:\ImageMagick"'
======================================================================
Tue 14Jan14 12:31:38
This installation of RMagick 2.13.2 is configured for
Ruby 1.9.3 (i386-mingw32) and ImageMagick 6.8.8
======================================================================
make
generating RMagick2-i386-mingw32.def
compiling rmagick.c
In file included from rmagick.c:13:0:
rmagick.h:81:2: error: #error Specified QuantumDepth is not supported.
rmagick.c: In function 'Magick_colors':
rmagick.c:42:5: warning: passing argument 2 of 'GetColorInfoList' from incompatible pointer ty
C:\ImageMagick\include/magick/color.h:75:5: note: expected 'size_t *' but argument is of type
rmagick.c: In function 'Magick_fonts':
rmagick.c:90:5: warning: passing argument 2 of 'GetTypeInfoList' from incompatible pointer typ
C:\ImageMagick\include/magick/type.h:98:5: note: expected 'size_t *' but argument is of type '
rmagick.c: In function 'Magick_init_formats':
rmagick.c:178:5: warning: passing argument 2 of 'GetMagickInfoList' from incompatible pointer
C:\ImageMagick\include/magick/magick.h:129:5: note: expected 'size_t *' but argument is of typ
make: *** [rmagick.o] Error 1
Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/rmagick-2.13.2 for insp
Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/rmagick-2.13.2/ext/RMagick/gem_make.out
After few hours I understood that, I face this problem,
cause when installing ImageMagik I forget to set one of checkboxses:
And now I see new error type in my terminal:
C:\Documents and Settings\Bogdan>gem install rmagick -v '2.13.2' -- '--with-opt-dir="C:\ImageMagick"'
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.
C:/Ruby193/bin/ruby.exe extconf.rb --with-opt-dir="C:\ImageMagick"
checking for Ruby version >= 1.8.5... yes
checking for stdint.h... *** 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
--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=C:/Ruby193/bin/ruby
C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:506:in `try_cpp'
from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:931:in `block in have_header'
from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for'
from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'
from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone'
from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:280:in `postpone'
from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for'
from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:930:in `have_header'
from extconf.rb:194:in `'
What is it and how can I fix it?
Please, help me
Wow!!! This is the some kind of comedy,
but I uninstall ImageMagick-6.8.8 and install ImageMagick-6.6.7.
C:\Documents and Settings\Bogdan>gem install rmagick -v '2.13.2' -- '--with-opt-dir="C:\ImageMagick"'
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
Successfully installed rmagick-2.13.2
1 gem installed
Installing ri documentation for rmagick-2.13.2...
Installing RDoc documentation for rmagick-2.13.2...
SUCCESSFULLY INSTALLED RMAGICK-2.13.2 !!!!!!

gem install ruby-debug19 fails [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Debugging in ruby 1.9
I am unable to install ruby-debug19.
I tried to follow http://isitruby19.com/linecache19 BUT it didnot help me
I also followed the steps in Installing Gems without rvm, as root, with explicit version of ruby
that also didnt help
======================================
> root#vm:/# ruby -v ruby
> 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
======================================
> root#vm:/# gem -v
> 1.8.10
======================================
> root#vm:~/# uname -a
> Linux vm 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:50:42 UTC 2011 i686 i686 386 GNU/Linux
======================================
root#vm:~# sudo gem install ruby-debug19
Building native extensions. This could take a while...
ERROR: Error installing ruby-debug19:
ERROR: Failed to build gem native extension.
/usr/local/bin/ruby extconf.rb
checking for vm_core.h... no
checking for vm_core.h... no
*** 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
--with-ruby-dir
--without-ruby-dir
--with-ruby-include
--without-ruby-include=${ruby-dir}/include
--with-ruby-lib
--without-ruby-lib=${ruby-dir}/lib
/usr/local/lib/ruby/1.9.1/net/http.rb:644:in `initialize': Connection timed out - connect(2) (Errno::ETIMEDOUT)
from /usr/local/lib/ruby/1.9.1/net/http.rb:644:in `open'
from /usr/local/lib/ruby/1.9.1/net/http.rb:644:in `block in connect'
from /usr/local/lib/ruby/1.9.1/timeout.rb:44:in `timeout'
from /usr/local/lib/ruby/1.9.1/timeout.rb:89:in `timeout'
from /usr/local/lib/ruby/1.9.1/net/http.rb:644:in `connect'
from /usr/local/lib/ruby/1.9.1/net/http.rb:637:in `do_start'
from /usr/local/lib/ruby/1.9.1/net/http.rb:626:in `start'
from /usr/local/lib/ruby/1.9.1/net/http.rb:1168:in `request'
from /usr/local/lib/ruby/gems/1.9.1/gems/ruby_core_source-0.1.5/lib/contrib/uri_ext.rb:239:in `block in read'
from /usr/local/lib/ruby/gems/1.9.1/gems/ruby_core_source-0.1.5/lib/contrib/uri_ext.rb:286:in `connect'
from /usr/local/lib/ruby/gems/1.9.1/gems/ruby_core_source-0.1.5/lib/contrib/uri_ext.rb:234:in `read'
from /usr/local/lib/ruby/gems/1.9.1/gems/ruby_core_source-0.1.5/lib/contrib/uri_ext.rb:128:in `download'
from /usr/local/lib/ruby/gems/1.9.1/gems/ruby_core_source-0.1.5/lib/ruby_core_source.rb:55:in `block in create_makefile_with_core'
from /usr/local/lib/ruby/1.9.1/tempfile.rb:320:in `open'
from /usr/local/lib/ruby/gems/1.9.1/gems/ruby_core_source-0.1.5/lib/ruby_core_source.rb:51:in `create_makefile_with_core'
from extconf.rb:19:in `<main>'
Requesting http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz
Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/linecache19-0.5.12 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/linecache19-0.5.12/ext/trace_nums/gem_make.out
Installing ruby-debug19 locally
I got the answer to the question from above link which worked
basically put all *.h *.c *.inc files into below folder
ruby -rmkmf -e 'puts Config::CONFIG["rubyhdrdir"] + "/" + "ruby-" + RUBY_VERSION.to_s + "-p" + RUBY_PATCHLEVEL.to_s'
But i am not happy with this soultion. If i ask a customer to install ruby i can hardly expect to sell this particular solution to the problem.
So is there a way to avoid this copying?
Can someone please help me.
Thanks
Su
You don't say what OS you are running, but I had a similar problem a while back with my OSX Lion install. The error was for a different gem, but the error was the same.
It turned out to be some sort of XCode version conflict. See my solution here.
If that doesn't help, then check out the mkmf.log file. It might contain clues to the answers you are looking for.

Resources