# Install fcgi-ruby for Apache on Windows Xp

**URL:** <https://www.ruby-forum.com/t/install-fcgi-ruby-for-apache-on-windows-xp/184832>\
**Category:** Ruby\
**Created:** [March 9, 2010, 11:13am UTC](https://www.ruby-forum.com/t/install-fcgi-ruby-for-apache-on-windows-xp/184832 "2010-03-09T11:13:26Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![gorkimaximum](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e480ec/32.png) [@gorkimaximum](https://www.ruby-forum.com/u/gorkimaximum)\
**Post date:** [March 9, 2010, 11:13am UTC](https://www.ruby-forum.com/t/install-fcgi-ruby-for-apache-on-windows-xp/184832/1 "2010-03-09T11:13:26Z")

</div>

Hello

I need some help with gem fcgi-ruby-0.8.8. I have tried to create from  
the source rubygem, but in Windows Xp, always i get a lot of errors and  
the process is aborted.

I have tried also to make a direct install of the gem, but always i get  
an error about the “Ruby Native Extensions”. This is a common error that  
i have also obtained when i have tried to install other extensions like  
“Sqlite3” and “Ruby-Postgres”.

My question is?. Is there any way to obtain the correct native  
extensions and compile fcgi and other extensions without obtain this  
error?.

My OS is Windows-Xp SP3 and my Web Server Apache 2.2.14. I have  
installed also Mingw and Msys, if it were an alternative way to compile  
the modules i have mentioned.

Thank you.

Javier A.

---

<div class="post-metadata">

**Author:** ![gorkimaximum](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e480ec/32.png) [@gorkimaximum](https://www.ruby-forum.com/u/gorkimaximum)\
**Post date:** [March 9, 2010, 1:55pm UTC](https://www.ruby-forum.com/t/install-fcgi-ruby-for-apache-on-windows-xp/184832/2 "2010-03-09T13:55:53Z")

</div>

On Mar 9, 11:13 am, Javier A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> My question is?. Is there any way to obtain the correct native  
> extensions and compile fcgi and other extensions without obtain this  
> error?.
> 
> My OS is Windows-Xp SP3 and my Web Server Apache 2.2.14. I have  
> installed also Mingw and Msys, if it were an alternative way to compile  
> the modules i have mentioned.
> 
> Thank you.

Please provide more information about the ruby version you’re using.  
More precisely, if you’re using downloads from ruby-lang, from old One-  
Click Installer or the newer RubyInstaller project.

“ruby -v” output will be helpful.

Also, if you’re using 1.8 or 1.9 versions of Ruby, as it is unknown to  
me if fcgi-ruby extension is compatible with Ruby 1.9.

As you see, that information is required to actually help you.

Please include also the gem installation output: gem install xxx –  
debug -V

---

<div class="post-metadata">

**Author:** ![gorkimaximum](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e480ec/32.png) [@gorkimaximum](https://www.ruby-forum.com/u/gorkimaximum)\
**Post date:** [March 9, 2010, 2:02pm UTC](https://www.ruby-forum.com/t/install-fcgi-ruby-for-apache-on-windows-xp/184832/3 "2010-03-09T14:02:42Z")

</div>

Javier A. wrote:

> I need some help with gem fcgi-ruby-0.8.8

I believe the gem is called ‘fcgi’: gem install fcgi  
(at least it was when I installed it a couple of days ago 🙂

To install the C native version will require a C compiler and the fcgi  
development kit version 2.4.0, available from [www.fastcgi.com](http://www.fastcgi.com), which  
you’ll also have to compile.

However I seem to remember that fcgi has a ‘pure ruby’ implementation  
too. I don’t know how you’d tell ‘gem install’ not to attempt to build  
the C version. It may be easier just to install fcgi directly from the  
source bundle:  
[http://rubyforge.org/frs/?group\_id=926&release\_id=42628](http://rubyforge.org/frs/?group_id=926&release_id=42628)

---

<div class="post-metadata">

**Author:** ![gorkimaximum](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e480ec/32.png) [@gorkimaximum](https://www.ruby-forum.com/u/gorkimaximum)\
**Post date:** [March 10, 2010, 12:33pm UTC](https://www.ruby-forum.com/t/install-fcgi-ruby-for-apache-on-windows-xp/184832/4 "2010-03-10T12:33:40Z")

</div>

Javier A. wrote:

> make  
> make: \*\*\* No rule to make target `/usr/include/ruby-1.9.1/ruby.h', needed by`fcgi.o’. Stop.

Then you need _ruby’s_ development header files as well.

If this were an Ubuntu box, I’d say install the package ruby1.8-dev or  
whatever.

However I don’t know how you’d do it on Windows. You’d have to find out  
where your Windows install came from, and whether they offer the header  
files as a separate package.

> Also would be an error in the Makefile,  
> because of the “/usr/include/ruby-1.9.1”, as my Ruby Directory is  
> “c:/Ruby19”.

It could be a hard-coded assumption, although it should be using  
rbconfig to find the files where they were built. What happens if you do  
this in IRB?

> > require ‘rbconfig’  
> > =\> true
> 
> > Config::CONFIG[‘includedir’]  
> > =\> “/usr/include”

If you see “/usr/include” then the person who built your ruby built it  
with that as the system header directory.

If you can’t work out how to do this (and remember I’m not a Windows  
user so I can’t help you much), I’d say your best option is to use the  
pure-ruby fcgi library. This is simply lib/fcgi.rb inside the gem. You  
can see that it tries to load fcgi.so, and if that fails, just builds  
the FCGI class from ruby code.

---

<div class="post-metadata">

**Author:** ![gorkimaximum](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e480ec/32.png) [@gorkimaximum](https://www.ruby-forum.com/u/gorkimaximum)\
**Post date:** [March 10, 2010, 12:13pm UTC](https://www.ruby-forum.com/t/install-fcgi-ruby-for-apache-on-windows-xp/184832/5 "2010-03-10T12:13:36Z")

</div>

Hi,

Thanks for your help. I have downloaded and compiled the development kit  
fastcgi-2.4.0 , and i have seen that it contains the fcgiapp.h source  
that i need to compile ruby-fcgi-0.8.9. The problem is that when i try  
to install (gem install ruby-fcgi-0.8.9 --remote), i get the following  
error:

C:\fcgi\include\>gem install ruby-fcgi --remote  
Building native extensions. This could take a while…  
ERROR: Error installing ruby-fcgi:  
ERROR: Failed to build gem native extension.

C:/Ruby19/bin/ruby.exe extconf.rb  
checking for fcgiapp.h… no  
checking for fastcgi/fcgiapp.h… no

make  
make: \*\*\* No rule to make target `/usr/include/ruby-1.9.1/ruby.h', needed by `fcgi.o’. Stop.

Gem files will remain installed in  
C:/Ruby19/lib/ruby/gems/1.9.1/gems/ruby-fcgi-0.8.9 for inspection.  
Results logged to  
C:/Ruby19/lib/ruby/gems/1.9.1/gems/ruby-fcgi-0.8.9/ext/fcgi/gem\_make.out

C:\fcgi\include\>gem uninstall ruby-fcgi  
ERROR: While executing gem … (Gem::InstallError)  
cannot uninstall, check `gem list -d ruby-fcgi`

C:\fcgi\include\>gem uninstall ruby-fcgi-0.8.9  
ERROR: While executing gem … (Gem::InstallError)  
cannot uninstall, check `gem list -d ruby-fcgi-0.8.9`

C:\fcgi\include\>

I have set the route to fcgiapp.h in my path environment variables, but  
the rubygems can’t find it. Also would be an error in the Makefile,  
because of the “/usr/include/ruby-1.9.1”, as my Ruby Directory is  
“c:/Ruby19”.

Thanks a lot.

Javier A…

Brian C. wrote:

> Javier A. wrote:
> 
> > I need some help with gem fcgi-ruby-0.8.8
> 
> I believe the gem is called ‘fcgi’: gem install fcgi  
> (at least it was when I installed it a couple of days ago 🙂
> 
> To install the C native version will require a C compiler and the fcgi  
> development kit version 2.4.0, available from [www.fastcgi.com](http://www.fastcgi.com), which  
> you’ll also have to compile.
> 
> However I seem to remember that fcgi has a ‘pure ruby’ implementation  
> too. I don’t know how you’d tell ‘gem install’ not to attempt to build  
> the C version. It may be easier just to install fcgi directly from the  
> source bundle:  
> [http://rubyforge.org/frs/?group\_id=926&release\_id=42628](http://rubyforge.org/frs/?group_id=926&release_id=42628)

---

<div class="post-metadata">

**Author:** ![gorkimaximum](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e480ec/32.png) [@gorkimaximum](https://www.ruby-forum.com/u/gorkimaximum)\
**Post date:** [March 10, 2010, 1:19pm UTC](https://www.ruby-forum.com/t/install-fcgi-ruby-for-apache-on-windows-xp/184832/6 "2010-03-10T13:19:40Z")

</div>

The execution in IRB was:

require ‘rbconfig’  
=\> true

> > Config::CONFIG[‘includedir’]  
> > =\> “c:/ruby19/include”

But when i try to install gem ruby-fcgi-0.8.9 the Makefile generate a  
full of errors. Even, is configurated for i486-linux. So i think, it’s  
no possible do a good configuration for Windows. Only if you hard coded  
Makefile on hand.

Thank you.

Brian C. wrote:

> Javier A. wrote:
> 
> > make  
> > make: \*\*\* No rule to make target `/usr/include/ruby-1.9.1/ruby.h', needed by`fcgi.o’. Stop.
> 
> Then you need _ruby’s_ development header files as well.
> 
> If this were an Ubuntu box, I’d say install the package ruby1.8-dev or  
> whatever.
> 
> However I don’t know how you’d do it on Windows. You’d have to find out  
> where your Windows install came from, and whether they offer the header  
> files as a separate package.
> 
> > Also would be an error in the Makefile,  
> > because of the “/usr/include/ruby-1.9.1”, as my Ruby Directory is  
> > “c:/Ruby19”.
> 
> It could be a hard-coded assumption, although it should be using  
> rbconfig to find the files where they were built. What happens if you do  
> this in IRB?
> 
> > > require ‘rbconfig’  
> > > =\> true
> > 
> > > Config::CONFIG[‘includedir’]  
> > > =\> “/usr/include”
> 
> If you see “/usr/include” then the person who built your ruby built it  
> with that as the system header directory.
> 
> If you can’t work out how to do this (and remember I’m not a Windows  
> user so I can’t help you much), I’d say your best option is to use the  
> pure-ruby fcgi library. This is simply lib/fcgi.rb inside the gem. You  
> can see that it tries to load fcgi.so, and if that fails, just builds  
> the FCGI class from ruby code.

---

<div class="post-metadata">

**Author:** ![gorkimaximum](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e480ec/32.png) [@gorkimaximum](https://www.ruby-forum.com/u/gorkimaximum)\
**Post date:** [March 10, 2010, 1:45pm UTC](https://www.ruby-forum.com/t/install-fcgi-ruby-for-apache-on-windows-xp/184832/7 "2010-03-10T13:45:07Z")

</div>

Javier A. wrote:

> The first problem is that i can’t find the fcgiapp.h or  
> fastcgi/fcgiapp.h that i think are header files that managed the native  
> extensions.They are in the include folder of the fastcgi-2.4.0 kit, but  
> the gem install don’t found them.

You could try

set CPPFLAGS=-I/path/to/dir  
set LDFLAGS=-L/path/to/lib

If you’re going to do this sort of stuff, I suggest you don’t install  
using rubygems. Rather, use the setup.rb which comes inside the fcgi  
source tarball.

Googling for “ruby fcgi windows” turns up some interesting stuff, such  
as  
[http://www.napcsweb.com/howto/rails/deployment/railsonIISWithApacheFCGI.pdf](http://www.napcsweb.com/howto/rails/deployment/railsonIISWithApacheFCGI.pdf)  
although it doesn’t address how to get fcgi installed for Windows. I  
guess they are just using the pure-ruby version.

Finally: if you’re installing a 0.8.9 version, that’s someone’s fork.  
The “official” fcgi is 0.8.8 (the one on [rubyforge.org](http://rubyforge.org) anyway). You  
could try contacting whoever forked the code for help.

---

<div class="post-metadata">

**Author:** ![gorkimaximum](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e480ec/32.png) [@gorkimaximum](https://www.ruby-forum.com/u/gorkimaximum)\
**Post date:** [March 10, 2010, 1:34pm UTC](https://www.ruby-forum.com/t/install-fcgi-ruby-for-apache-on-windows-xp/184832/8 "2010-03-10T13:34:12Z")

</div>

The first problem is that i can’t find the fcgiapp.h or  
fastcgi/fcgiapp.h that i think are header files that managed the native  
extensions.They are in the include folder of the fastcgi-2.4.0 kit, but  
the gem install don’t found them.

I have compiled fastcgi-2.4.0, and i have obtained the “cgi-fcgi.exe”  
and “libfcgi.dll”, but perhaps, i haven’t installed the files correctly  
and the rubygems install procedure can’t find it.Perhaps this would be  
the problem.

The documentation of fastcgi-2.4.0 says how to compile the source, but  
not how to set the folders an install these on Windows environment.

Thank you.

Javier A…

Javier A. wrote:

> The execution in IRB was:
> 
> require ‘rbconfig’  
> =\> true
> 
> > > Config::CONFIG[‘includedir’]  
> > > =\> “c:/ruby19/include”
> 
> But when i try to install gem ruby-fcgi-0.8.9 the Makefile generate a  
> full of errors. Even, is configurated for i486-linux. So i think, it’s  
> no possible do a good configuration for Windows. Only if you hard coded  
> Makefile on hand.
> 
> Thank you.
> 
> Brian C. wrote:
> 
> > Javier A. wrote:
> > 
> > > make  
> > > make: \*\*\* No rule to make target `/usr/include/ruby-1.9.1/ruby.h', needed by`fcgi.o’. Stop.
> > 
> > Then you need _ruby’s_ development header files as well.
> > 
> > If this were an Ubuntu box, I’d say install the package ruby1.8-dev or  
> > whatever.
> > 
> > However I don’t know how you’d do it on Windows. You’d have to find out  
> > where your Windows install came from, and whether they offer the header  
> > files as a separate package.
> > 
> > > Also would be an error in the Makefile,  
> > > because of the “/usr/include/ruby-1.9.1”, as my Ruby Directory is  
> > > “c:/Ruby19”.
> > 
> > It could be a hard-coded assumption, although it should be using  
> > rbconfig to find the files where they were built. What happens if you do  
> > this in IRB?
> > 
> > > > require ‘rbconfig’  
> > > > =\> true
> > > 
> > > > Config::CONFIG[‘includedir’]  
> > > > =\> “/usr/include”
> > 
> > If you see “/usr/include” then the person who built your ruby built it  
> > with that as the system header directory.
> > 
> > If you can’t work out how to do this (and remember I’m not a Windows  
> > user so I can’t help you much), I’d say your best option is to use the  
> > pure-ruby fcgi library. This is simply lib/fcgi.rb inside the gem. You  
> > can see that it tries to load fcgi.so, and if that fails, just builds  
> > the FCGI class from ruby code.
