rowland / fb

Firebird Extension Library for Ruby
64 stars 35 forks source link

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

Closed ramsees closed 12 years ago

ramsees commented 12 years ago

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

rowland commented 12 years ago

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.

ramsees commented 12 years ago

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

thank you,

gedean commented 12 years ago

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

ramsees commented 12 years ago

Ah interesting, I'll try that.