Installing Gems on Windows

I’m new to Ruby and I was wondering if every gem that works on Ruby
for Linux works on Ruby for Windows. I’m trying to install both the
rake (as a test) and the nfc gems on Windows, but with both I’m
getting:

c:\ruby>gem install nfc
ERROR: While executing gem … (Gem::GemNotFoundException)
Could not find nfc (> 0) in any repository

On 28.12.2009 04:43, Augusto E. wrote:

I’m new to Ruby and I was wondering if every gem that works on Ruby
for Linux works on Ruby for Windows.

Short answer: No.

Long answer: It depends.

If you use the RubyInstaller from rubyinstaller.org and the devkit
offered there (simply extract the .7z into your Ruby installation
folder, by default C:\Ruby), then Gems requiring native extensions
could work, if no binary gem is offered.

Phillip G. wrote:

If you use the RubyInstaller from rubyinstaller.org and the devkit
offered there (simply extract the .7z into your Ruby installation
folder, by default C:\Ruby), then Gems requiring native extensions
could work, if no binary gem is offered.

I’ve followed your instructions and I was able to get somewhere :slight_smile: After
it starts building the native extensions I get a bunch of errors that
are related to a library I need to run this gem, which is the libnfc.

I have the binaries for this library, is there a way of letting the Gem
installer know how to get the files it needs?

On 28.12.2009 06:00, Augusto E. wrote:

I’ve followed your instructions and I was able to get somewhere :slight_smile: After
it starts building the native extensions I get a bunch of errors that
are related to a library I need to run this gem, which is the libnfc.

I have the binaries for this library, is there a way of letting the Gem
installer know how to get the files it needs?

The MinGW compiler used by ruby needs to know where the header files
are to get them.

My guess is that you need the source for libnfc, and add their path to
your your %path% environment variable (if only temporarily), by doing
something like “set path = %path%;C:\Path\To\Header\Files”, and then
“gem install”.

Mind, this doesn’t guarantee, at all, that your gem will work. Or even
that the libnfc you have works (the lib has to be compiled for windows,
with a compiler compatible to MinGW32’s gcc3.4 to be usable by Ruby),
and the header files have to be usable for Windows, too.

Linux and Windows platforms are not compatible to each other, so
unless you know your way around C, and can fix the errors gcc/gem hands
you, you’ll either have to fix the errors yourself, or lobby the
libnfc/nfc-gem maintainers to fix the issue (if, indeed, this is an
issue for them in the first place).

Augusto E. wrote:

c:\ruby>gem install nfc
ERROR: While executing gem … (Gem::GemNotFoundException)
Could not find nfc (> 0) in any repository

that resolve the first issue :

gem install os

then you will get second issue :
… ERROR: Failed to build gem native extension. …

I have not found solution for this one !
by

Phillip G. wrote:

The MinGW compiler used by ruby needs to know where the header files
are to get them.

My guess is that you need the source for libnfc, and add their path to
your your %path% environment variable (if only temporarily), by doing
something like “set path = %path%;C:\Path\To\Header\Files”, and then
“gem install”.

Mind, this doesn’t guarantee, at all, that your gem will work. Or even
that the libnfc you have works (the lib has to be compiled for windows,
with a compiler compatible to MinGW32’s gcc3.4 to be usable by Ruby),
and the header files have to be usable for Windows, too.

Linux and Windows platforms are not compatible to each other, so
unless you know your way around C, and can fix the errors gcc/gem hands
you, you’ll either have to fix the errors yourself, or lobby the
libnfc/nfc-gem maintainers to fix the issue (if, indeed, this is an
issue for them in the first place).

I do have the binaries for Windows, the problem is where to put them in
order for the RubyGem installer to detect them. By running c:\gem
install nfc I get, amongst other things:

checking for libnfc/libnfc.h in
/opt/local/include,/opt/local/include,/usr/local
/include,C:/Ruby19/include,/usr/include… no

libnfc is missing. please install libnfc: http://libnfc.org/

I can trick this process by creating a folder libnfc inside
C:/Ruby19/include, and then put the libnfc.h there (as the rest of the
files). Doing that I get:

checking for libnfc/libnfc.h in
/opt/local/include,/opt/local/include,/usr/local
/include,C:/Ruby19/include,/usr/include… yes

checking for nfc_connect() in -lnfc… no

libnfc is missing. please install libnfc: http://libnfc.org/

So basically I need to figure out where everything goes, regarding the
libnfc binary files.

On Dec 28, 10:00 pm, Augusto E. [email protected] wrote:

that the libnfc you have works (the lib has to be compiled for windows,
order for the RubyGem installer to detect them. By running c:\gem
files). Doing that I get:
libnfc binary files.


Posted viahttp://www.ruby-forum.com/.- Hide quoted text -

  • Show quoted text -

Try install the Windows components connected as “Administrator”. Is
useless a user with the administrator role.

On 29.12.2009 03:00, Augusto E. wrote:

checking for nfc_connect() in -lnfc… no

libnfc is missing. please install libnfc: http://libnfc.org/

So basically I need to figure out where everything goes, regarding the
libnfc binary files.

I’d try putting the libnfc-binary into your %PATH% somewhere, or at
least c:\Ruby\lib.. since that is, probably, where the compiler is
looking.

It’s pretty much trial and error for both of us here. :expressionless:

On 30.12.2009 00:09, Augusto E. wrote:

Try install the Windows components connected as “Administrator”. Is
useless a user with the administrator role.

I’m using Windows XP SP3 :confused:

Ruby and the devkit need admin rights only on installation, anyway.

Arrumaco wrote:

On Dec 28, 10:00�pm, Augusto E. [email protected] wrote:

that the libnfc you have works (the lib has to be compiled for windows,
order for the RubyGem installer to detect them. By running c:\gem
files). Doing that I get:
libnfc binary files.


Posted viahttp://www.ruby-forum.com/.- Hide quoted text -

  • Show quoted text -

Try install the Windows components connected as “Administrator”. Is
useless a user with the administrator role.

I’m using Windows XP SP3 :confused: