From: eg Date: 2005-01-15T04:26:12+09:00 Subject: extconf.rb for Interbase on Windows I am trying to get a Ruby extension working under Windows XP and have some questions. Specifically, I downloaded the interbase 0.07 release from RAA. This package includes: extconf.rb, interbase.c and readmes. I have ruby 1.8.2 release installed and VS .Net 2003 on my machine. When I run "ruby extconf.rb" it prints out: checking for main() in gdslib.lib... no checking for main() in gds.lib... no checking for main() in fbclient_ms.lib... no I have tried adding various combinations of --with-interbase-dir=c:\dev\firebirdql to the command line but to no avail. The contents of extconf.rb are: ***** Start of extconf.rb ***** #!/usr/bin/env ruby # ruby extconf.rb --with-opt-dir=e:/Firebird require 'mkmf' libs = %w/ gdslib gds / # InterBase library fbclientlib = # Firebird library case RUBY_PLATFORM when /bccwin32/ "fbclient_bor" when /mswin32/ "fbclient_ms" else "fbclient" end libs.push fbclientlib test_func = "isc_attach_database" # for ruby-1.8.1 mkmf case RUBY_PLATFORM when /win/ libs.find {|lib| have_library(lib) } and have_func(test_func, ["ibase.h"]) else libs.find {|lib| have_library(lib, test_func) } end and create_makefile("interbase") ***** end of extconf.rb ***** The mkmf.log file output (for the fbclient_ms section) looks like: ***** start of mkmf.log ***** -------------------- have_library: checking for main() in fbclient_ms.lib... -------------------- no "cl -nologo -Feconftest -IC:/dev/ruby-interbase-0.07 -Ic:/ruby/lib/ruby/1.8/i386-mswin32 -IC:\dev\FirebirdSQL/include -I. -I./.. -I./../missing -MD -Zi -O2b2xg- -G6 conftest.c msvcrt-ruby18-static.lib fbclient_ms.lib oldnames.lib user32.lib advapi32.lib wsock32.lib -link -libpath:"C:\dev\FirebirdSQL/lib" -libpath:"c:/ruby/lib" -stack:0x2000000" checked program was: /* begin */ /*top*/ int main() { return 0; } int t() { main(); return 0; } /* end */ "cl -nologo -Feconftest -IC:/dev/ruby-interbase-0.07 -Ic:/ruby/lib/ruby/1.8/i386-mswin32 -IC:\dev\FirebirdSQL/include -I. -I./.. -I./../missing -MD -Zi -O2b2xg- -G6 conftest.c msvcrt-ruby18-static.lib fbclient_ms.lib oldnames.lib user32.lib advapi32.lib wsock32.lib -link -libpath:"C:\dev\FirebirdSQL/lib" -libpath:"c:/ruby/lib" -stack:0x2000000" checked program was: /* begin */ #include #include /*top*/ int main() { return 0; } int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; } /* end */ -------------------- ***** end of mkmk.log ***** I have VS Net 2003 on my machine. It seems I am missing a step to get it to find the interbase library and header Does anyone have any suggestions?