rowland/fb

Cannot install on Windows 7 64 / Firebird 64...

ramsees opened this issue · 4 comments

I get this error while trying to install it on Windows 64 with Firebird 2.5.1 64, this is the log using the latest source

C:/Ruby192/bin/ruby -e "puts 'EXPORTS', 'Init_fb'" > fb-i386-mingw32.def
gcc -I. -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -I/C/Ruby192/include/ruby-1
.9.1/ruby/backward -I/C/Ruby192/include/ruby-1.9.1 -I. "-IC:\Program Files\Fireb
ird\Firebird_2_5/include" -O3 -g -Wextra -Wno-unused-parameter -Wno-parenthe
ses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-lo
ng -DOS_WIN32 -o fb.o -c fb.c
gcc -shared -s -o fb.so fb.o -L. -LC:/Ruby192/lib -L"C:\Program Files\Firebird\F
irebird_2_5/lib" -L. -Wl,--enable-auto-image-base,--enable-auto-import fb-i386
-mingw32.def -lmsvcrt-ruby191 -lfbclient_ms -lshell32 -lws2_32
c:/rubydevelopment/mingw/bin/../lib/gcc/mingw32/4.5.1/../../../../mingw32/bin/ld
.exe: C:\Program Files\Firebird\Firebird_2_5/lib/fbclient_ms.lib(fbclient.dll):
Recognised but unhandled machine type (0x8664) in Import Library Format archive

fb.o: In function fb_error_check': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:479: undefined reference toi
sc_sqlcode@4'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:481: undefined reference to i sc_sql_interprete@12' fb.o: In functionfb_error_msg':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:221: undefined reference to f b_interpret@12' fb.o: In functionfb_cursor_drop':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1460: undefined reference to isc_dsql_free_statement@12' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1457: undefined reference to
isc_dsql_free_statement@12'
fb.o: In function fb_error_check_warn': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:495: undefined reference toi
sc_sqlcode@4'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:498: undefined reference to i sc_sql_interprete@12' fb.o: In functionfb_cursor_drop_warn':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1471: undefined reference to isc_dsql_free_statement@12' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1468: undefined reference to
isc_dsql_free_statement@12'
fb.o: In function fb_connection_disconnect_warn': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:608: undefined reference toi
sc_commit_transaction@8'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:611: undefined reference to i sc_detach_database@8' fb.o: In functionfb_connection_db_SQL_Dialect':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:649: undefined reference to i sc_database_info@24' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:655: undefined reference toi
sc_vax_integer@8'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:656: undefined reference to i sc_vax_integer@8' fb.o: In functiondatabase_create':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:3012: undefined reference to isc_dsql_execute_immediate@28' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:3020: undefined reference to
isc_detach_database@8'
fb.o: In function fb_connection_disconnect': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:593: undefined reference toi
sc_commit_transaction@8'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:597: undefined reference to i sc_drop_database@8' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:599: undefined reference toi
sc_detach_database@8'
fb.o: In function cursor_close': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2467: undefined reference to
isc_dsql_free_statement@12'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2469: undefined reference to isc_dsql_free_statement@12' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2473: undefined reference to
isc_commit_transaction@8'
fb.o: In function fb_cursor_fetch_prep': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1922: undefined reference to
isc_dsql_describe@16'
fb.o: In function fb_cursor_fetch': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1983: undefined reference to
isc_dsql_fetch@16'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2077: undefined reference to isc_open_blob2@28' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2079: undefined reference to
isc_blob_info@24'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2086: undefined reference to isc_vax_integer@8' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2090: undefined reference to
isc_vax_integer@8'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2102: undefined reference to isc_get_segment@20' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2105: undefined reference to
isc_close_blob@8'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2062: undefined reference to isc_decode_sql_time@8' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2093: undefined reference to
isc_vax_integer@8'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2096: undefined reference to isc_vax_integer@8' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2070: undefined reference to
isc_decode_sql_date@8'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2057: undefined reference to isc_decode_timestamp@8' fb.o: In functionconnection_cursor':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1291: undefined reference to isc_dsql_alloc_statement2@12' fb.o: In functiondatabase_connect':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:3062: undefined reference to isc_attach_database@24' fb.o: In functionfb_connection_disconnect':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:593: undefined reference to i sc_commit_transaction@8' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:599: undefined reference toi
sc_detach_database@8'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:597: undefined reference to i sc_drop_database@8' fb.o: In functionfb_cursor_set_inputparams':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1664: undefined reference to isc_create_blob2@28' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1671: undefined reference to
isc_put_segment@16'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1680: undefined reference to isc_close_blob@8' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1707: undefined reference to
isc_encode_sql_date@8'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1691: undefined reference to isc_encode_timestamp@8' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1699: undefined reference to
isc_encode_sql_time@8'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1677: undefined reference to isc_put_segment@16' fb.o: In functionfb_cursor_execute_withparams':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1780: undefined reference to isc_dsql_execute2@24' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1771: undefined reference to
isc_dsql_execute2@24'
fb.o: In function fb_connection_commit': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1148: undefined reference to
isc_commit_transaction@8'
fb.o: In function fb_connection_rollback': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1157: undefined reference to
isc_rollback_transaction@8'
fb.o: In function cursor_execute2': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2194: undefined reference to
isc_dsql_prepare@28'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2198: undefined reference to isc_dsql_sql_info@24' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2210: undefined reference to
isc_dsql_describe_bind@16'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2213: undefined reference to isc_dsql_describe@16' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2268: undefined reference to
isc_dsql_execute2@24'
fb.o: In function cursor_rows_affected': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2132: undefined reference to
isc_dsql_sql_info@24'
fb.o: In function cursor_execute2': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2222: undefined reference to
isc_dsql_describe_bind@16'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2259: undefined reference to isc_dsql_describe@16' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2204: undefined reference to
isc_vax_integer@8'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2205: undefined reference to isc_vax_integer@8' fb.o: In functioncursor_rows_affected':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2139: undefined reference to isc_vax_integer@8' C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2152: undefined reference to
isc_vax_integer@8'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2143: undefined reference to isc_vax_integer@8' fb.o:C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2149: more undefined refe rences toisc_vax_integer@8' follow
fb.o: In function cursor_execute2': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2246: undefined reference to
isc_dsql_execute2@24'
fb.o: In function cursor_execute': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:2309: undefined reference to
isc_dsql_free_statement@12'
fb.o: In function fb_connection_transaction_start': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1139: undefined reference to
isc_start_transaction'
fb.o: In function fb_connection_rollback': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1157: undefined reference to
isc_rollback_transaction@8'
fb.o: In function fb_connection_commit': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1148: undefined reference to
isc_commit_transaction@8'
fb.o: In function database_connect': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:3062: undefined reference to
isc_attach_database@24'
fb.o: In function database_drop': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:3103: undefined reference to
isc_drop_database@8'
fb.o: In function database_connect': C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:3062: undefined reference to
isc_attach_database@24'
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:3062: undefined reference to isc_attach_database@24' fb.o: In functiondatabase_drop':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:3103: undefined reference to isc_drop_database@8' fb.o: In functionfb_connection_transaction_start':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1139: undefined reference to isc_start_transaction' fb.o: In functionfb_connection_rollback':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1157: undefined reference to isc_rollback_transaction@8' fb.o: In functionfb_connection_commit':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\fb-0.6.8/fb.c:1148: undefined reference to `
isc_commit_transaction@8'
collect2: ld returned 1 exit status
make: *** [fb.so] Error 1

Gem files will remain installed in C:/Ruby192/lib/ruby/gems/1.9.1/gems/fb-0.6.8
for inspection.
Results logged to C:/Ruby192/lib/ruby/gems/1.9.1/gems/fb-0.6.8/./gem_make.out

I've seen this on Linux and Mac as well when attempting to build a 32-bit Ruby extension against a 64-bit Firebird library or vice versa. Simply stated, you'll need either a 32-bit Firebird library or a 64-bit Ruby because 32-bit and 64-bit code won't link.

Yeah, maybe when the Ruby installer for Windows 7 64 is ready.

thank you,

Just replace the 64 bits by 32 bits before install the gem, then after installation, put the 64bits back and it will work fine.

Ah interesting, I'll try that.