I haven't tried --enable-shared with MinGW. I assume without this flag the system compiles properly?
You can try removing the definition
#define ___CAN_IMPORT_EXPORTED
from include/gambit.h and see if that improves things. You can also try defining some of the other ___CAN_IMPORT_... symbols. All of this information should really be determined by the configure script, but that's not the case currently.
Marc
On 14-Sep-05, at 10:18 AM, Doug Currie wrote:
Attempting a build on WinXP using MinGW/MSYS I did
./configure --enable-shared --enable-single-host make
which got as far as generating lib/libgambc.dll
Then in the gsi link step
gcc _gsi.o _gsi_.o -L../lib -lgambc -lws2_32 -o gsi.exe
there were lots of linker (auto-import) warnings, below, and finally
_gsi.o(.text+0x194b):_gsi.c: variable '___G_main' can't be auto- imported. Please read the documentation for ld's --enable-auto- import for details. collect2: ld returned 1 exit status make[1]: *** [gsi.exe] Error 1
I also note that I think the link of gsi is trying with with -lgambc to reference libgamc.a which does not exist (lib/libgambc.dll was build, not lib/libgamc.a). The -l option doesn't look for DLLs, does it? Though when I tried
gcc _gsi.o _gsi_.o ../lib/libgambc.dll -lws2_32 -o gsi.exe
I got the same error
_gsi.o(.text+0x194b):_gsi.c: variable '___G_main' can't be auto- imported. Please read the documentation for ld's --enable-auto- import for details. collect2: ld returned 1 exit status
$ gcc -v Reading specs from c:/MinGW/bin/../lib/gcc/mingw32/3.4.2/specs Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with- gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable- threads --disable-nls --enable-languages=c,c++,f77,ada,objc,java -- disable-win32-registry --disable-shared --enable-sjlj-exceptions -- enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash- synchronization --enable-libstdcxx-debug Thread model: win32 gcc version 3.4.2 (mingw-special)
Regards,
e
-=-
Info: resolving ____G__23__23_main_2d_set_21_ by linking to __imp_____G__23__23_main_2d_set_21_ (auto-import) Info: resolving ____G__23__23_path_2d_expand by linking to __imp_____G__23__23_path_2d_expand (auto-import) Info: resolving ____G__23__23_string_2d_append by linking to __imp_____G__23__23_string_2d_append (auto-import) Info: resolving ____G__23__23_load by linking to __imp_____G__23__23_load (auto-import) Info: resolving ____G__23__23_processed_2d_command_2d_line by linking to __imp_____G__23__23_processed_2d_command_2d_line (auto- import) Info: resolving ____G__23__23_extract_2d_language_2d_and_2d_tail by linking to __imp_____G__23__23_extract_2d_language_2d_and_2d_tail (auto-import) Info: resolving ____G__23__23_reverse by linking to __imp_____G__23__23_reverse (auto-import) Info: resolving ____G__23__23_substring by linking to __imp_____G__23__23_substring (auto-import) Info: resolving ____G__23__23_repl_2d_debug_2d_main by linking to __imp_____G__23__23_repl_2d_debug_2d_main (auto-import) Info: resolving ____G__23__23_exit by linking to __imp_____G__23__23_exit (auto-import) Info: resolving ____G__23__23_main_2d_readtable by linking to __imp_____G__23__23_main_2d_readtable (auto-import) Info: resolving ____G__23__23_readtable_2d_setup_2d_for_2d_language_21_ by linking to __imp_____G__23__23_readtable_2d_setup_2d_for_2d_language_21_ (auto-import) Info: resolving ____G__23__23_start_2d_main by linking to __imp_____G__23__23_start_2d_main (auto-import) Info: resolving ____G__23__23_string_3d__3f_ by linking to __imp_____G__23__23_string_3d__3f_ (auto-import) Info: resolving ____G__23__23_repl by linking to __imp_____G__23__23_repl (auto-import) Info: resolving ____G__23__23_write_2d_string by linking to __imp_____G__23__23_write_2d_string (auto-import) Info: resolving ____G__23__23_write by linking to __imp_____G__23__23_write (auto-import) Info: resolving ____G__23__23_newline by linking to __imp_____G__23__23_newline (auto-import) Info: resolving ____G__23__23_open_2d_input_2d_string by linking to __imp_____G__23__23_open_2d_input_2d_string (auto-import) Info: resolving ____G__23__23_wrap_2d_datum by linking to __imp_____G__23__23_wrap_2d_datum (auto-import) Info: resolving ____G__23__23_unwrap_2d_datum by linking to __imp_____G__23__23_unwrap_2d_datum (auto-import) Info: resolving ____G__23__23_read_2d_all_2d_as_2d_a_2d_begin_2d_expr_2d_from_2d_port by linking to __imp_____G__23__23_read_2d_all_2d_as_2d_a_2d_begin_2d_expr_2d_from_2d _port (auto-import) Info: resolving __23_interaction_2d_cte::___G(void)by linking to import stub for __23_interaction_2d_cte::___G(void)(auto-import) Info: resolving ____G__23__23_eval_2d_top by linking to __imp_____G__23__23_eval_2d_top (auto-import) Info: resolving ____G__23__23_repl_2d_debug by linking to __imp_____G__23__23_repl_2d_debug (auto-import) Info: resolving ____G__23__23_member by linking to __imp_____G__23__23_member (auto-import) Info: resolving ____G__23__23_assoc by linking to __imp_____G__23__23_assoc (auto-import) Info: resolving ____G_main by linking to __imp_____G_main (auto- import) Info: resolving ____S__23__23_type_2d_17_2d_2babe060_2d_9af6_2d_456f_2d_a26e_2d_40b592 f690ec by linking to __imp_____S__23__23_type_2d_17_2d_2babe060_2d_9af6_2d_456f_2d_a26e_2d_ 40b592f690ec (auto-import) Info: resolving ____S__23__23_type_2d_29_2d_bebee95d_2d_0da2_2d_401d_2d_a33a_2d_c1afc7 5b9e43 by linking to __imp_____S__23__23_type_2d_29_2d_bebee95d_2d_0da2_2d_401d_2d_a33a_2d_ c1afc75b9e43 (auto-import) Info: resolving ____S__23__23_type_2d_35_2d_85099702_2d_35ec_2d_4cb8_2d_ae55_2d_13c4b9 b05d10 by linking to __imp_____S__23__23_type_2d_35_2d_85099702_2d_35ec_2d_4