Hi,
----- Original Message ----- 
From: "Daniel Berger" <djberg96 / gmail.com>
Newsgroups: comp.lang.ruby
To: "ruby-talk ML" <ruby-talk / ruby-lang.org>
Sent: Saturday, November 12, 2005 1:37 PM
Subject: Re: Building postgresql on Windows


> >Hi all,
>>
>>Windows 2000
>>Ruby 1.8.2 R7
>>ruby-postgres 0.7.1
>>
>>I'm having some trouble installing the postgres driver on my Windows
>>box. I installed Postgres 8 Beta 1 using the Windows installer for
>>PostgreSQL.  The problem seems to be that there's no pg.lib.  I have a
>>libpg.dll and a libpg.a under the lib directory, but that's it.
>>
>>Is it possible without the .lib file, or am I outta luck?  Or, does
>>someone have a precompiled binary they could share with me?
>>
>>Regards,
>>
>>Dan
>
> For future reference:
>
> 1) copy c:/program files/postgresql/8.1/lib/ms/libpq.lib to c:/program
> files/postgresql/8.1/lib/pq.lib, replacing 8.1 with whatever your
> version is, and adjusting the directory as needed.
>
> (I'm not sure why PostgreSQL layed things out this way on Windows, nor
> am I sure what libcpg.lib is.)
>
> 2) run: ruby extconf.rb --with-pgsql-dir=c:/progra~1/postgresql/8.1.
>
> 3) nmake
> 4) nmake install
>
> If you need a compiler, start at
> http://www.rubygarden.org/ruby?WindowsCompiler.  It's free.
>
> Oddly, I could not get mkmf.rb to work with "have_library('ms/libpq')",
> hence the reason I copied the .lib file.  The real solution should be
> to adjust extconf.rb to something like this, if someone can make it
> work:
>
> # Line 39 of the extconf.rb file in ruby-postgres
> if have_library("pq", "PQsetdbLogin") || have_library("ms/libpq",
> "PQsetdbLogin")
>
I made it work like this:

1) modify extconf.rb
# Line 36
    $LDFLAGS += "-link -libpath:#{libdir}"
# Line 39
  if have_library("libpq", "PQsetdbLogin")

2) run : ruby 
extconf.rb --with-pgsql-include-dir=c:/progra~1/postgresql/8.1/include --with-pgsql-lib-dir=c:/progra~1/postgresql/8.1/lib/ms

3) nmake
4) nmake install

Regards,

Park Heesob