On 28.12.2009 23:31, Peter Alta wrote:

> What is "header-file hunting"?

Finding all the header-files the compiler (NOT the gem command, but the 
compiler the devkit provides!) needs to be able to build a program or a 
library.

> I don't even know where to begin.
> Is installing libxml-ruby beyond the scope
> of a non-C programmer?

On Windows? Probably. Very likely, in fact.

> Here is what I get from gem now:
>
> ----------------------------------------------------------------------
> C:\>gem install -r libxml-ruby
> Building native extensions.  This could take a while...
> ERROR:  Error installing libxml-ruby:
>          ERROR: Failed to build gem native extension.
>
> checking for socket() in -lsocket... no
> checking for gethostbyname() in -lnsl... no
> checking for atan() in -lm... yes
> checking for inflate() in -lz... no
> checking for inflate() in -lzlib... no
> checking for inflate() in -lzlib1... 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.
> ----------------------------------------------------------------------
>
> I'm a little confused by "You may need configuration
> options." Is that meant for the "gem" command? Or for
> the extconf.rb that gem is apparently running?

Neither. It's for the C-Compiler.

> Any hints on what to do next?

Use Nokogiri (nokogiri.org). ;)

Or, if you must use libxml, set up a virtual machine with Linux, and use 
that (which brings its own set of difficulties. virtualbox.org is a good 
start to get going with virtualization).

The Devkit requires you to be either lucky, or to be at least 
well-versed enough in working with compilers, to fix the issues the 
configuration step throws at you. It's best if you are seasoned-enough 
C-Programmer to dig into the actual C code to fix bugs, and produce a 
build that can be distributed for Windows.

What you can do, is log a bug with the libxml-ruby team, and lobby them 
to provide a MinGW32 compatible build.

--
Phillip Gawlowski