Hi, I am trying to compile guile-1.5.6 with the latest cygwin environment. After some manual clean up (as removing HAVE_WINSOCK2_H and dealing with weird .lo files containing "timestamp"), I got an error in libguile/ that mentions an undefined reference to WinMain@16 . Is it just a matter of linking with an additional library or is it a deeper problem ? The flags for configure were: --without-networking --without-posix --with-gnu-ld make all-am make[1]: Entering directory `/cygdrive/h/GFJ138/home/guile-1.5.6/libguile' /bin/sh ../libtool --mode=link gcc -g -O2 -Wall -Wmissing-prototypes -o libguile.la -rpath /usr/local/lib -version-info 15:0:1 -export-dynamic -no-undefined alist.lo arbiters.lo async.lo backtrace.lo boolean.lo chars.lo continuations.lo debug.lo deprecation.lo dynl.lo dynwind.lo environments.lo eq.lo error.lo eval.lo evalext.lo extensions.lo feature.lo fluids.lo fports.lo gc.lo gc_os_dep.lo gdbint.lo gh_data.lo gh_eval.lo gh_funcs.lo gh_init.lo gh_io.lo gh_list.lo gh_predicates.lo goops.lo gsubr.lo guardians.lo hash.lo hashtab.lo hooks.lo init.lo ioext.lo iselect.lo keywords.lo lang.lo list.lo load.lo macros.lo mallocs.lo modules.lo numbers.lo objects.lo objprop.lo options.lo pairs.lo ports.lo print.lo procprop.lo procs.lo properties.lo random.lo rdelim.lo read.lo root.lo rw.lo scmsigs.lo script.lo simpos.lo smob.lo sort.lo srcprop.lo stackchk.lo stacks.lo stime.lo strings.lo strop.lo strorder.lo strports.lo struct.lo symbols.lo throw.lo values.lo variable.lo vectors.lo version.lo vports.lo weaks.lo symbols-deprecated.lo regex-posix.lo ramap.lo unif.lo -lltdl -lcrypt -lm rm -fr .libs/libguile.la .libs/libguile.* .libs/libguile.* generating symbol list for `libguile.la' dlltool --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTSta rtup@12,DllEntryPoint@12 --output-def .libs/cygguile-14.dll-def alist.lo arbiters.lo async.lo backtrace.lo boolean.lo chars.lo continuations.lo debug.lo deprecation.lo dynl.lo dynwind.lo environments.lo eq.lo error.lo eval.lo evalext.lo extensions.lo feature.lo fluids.lo fports.lo gc.lo gc_os_dep.lo gdbint.lo gh_data.lo gh_eval.lo gh_funcs.lo gh_init.lo gh_io.lo gh_list.lo gh_predicates.lo goops.lo gsubr.lo guardians.lo hash.lo hashtab.lo hooks.lo init.lo ioext.lo iselect.lo keywords.lo lang.lo list.lo load.lo macros.lo mallocs.lo modules.lo numbers.lo objects.lo objprop.lo options.lo pairs.lo ports.lo print.lo procprop.lo procs.lo properties.lo random.lo rdelim.lo read.lo root.lo rw.lo scmsigs.lo script.lo simpos.lo smob.lo sort.lo srcprop.lo stackchk.lo stacks.lo stime.lo strings.lo strop.lo strorder.lo strports.lo struct.lo symbols.lo throw.lo values.lo variable.lo vectors.lo version.lo vports.lo weaks.lo symbols-deprecated.lo regex-posix.lo ramap.lo unif.lo sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < .libs/cygguile-14.dll-def > .libs/libguile.exp if test "x`head -1 .libs/libguile.exp`" = xEXPORTS; then cp .libs/libguile.exp .libs/cygguile-14.dll-def; else echo EXPORTS > .libs/cygguile-14.dll-def; _lt_hint=1; cat .libs/libguile.exp | while read symbol; do set dummy $symbol; case $# in 2) echo " $2 @ $_lt_hint ; " >> .libs/cygguile-14.dll-def;; *) echo " $2 @ $_lt_hint $3 ; " >> .libs/cygguile-14.dll-def;; esac; _lt_hint=`expr 1 + $_lt_hint`; done; fi gcc -Wl,--base-file,.libs/cygguile-14.dll-base -Wl,-e,__cygwin_dll_entry@12 -o .libs/cygguile-14.dll alist.lo arbiters.lo async.lo backtrace.lo boolean.lo chars.lo continuations.lo debug.lo deprecation.lo dynl.lo dynwind.lo environments.lo eq.lo error.lo eval.lo evalext.lo extensions.lo feature.lo fluids.lo fports.lo gc.lo gc_os_dep.lo gdbint.lo gh_data.lo gh_eval.lo gh_funcs.lo gh_init.lo gh_io.lo gh_list.lo gh_predicates.lo goops.lo gsubr.lo guardians.lo hash.lo hashtab.lo hooks.lo init.lo ioext.lo iselect.lo keywords.lo lang.lo list.lo load.lo macros.lo mallocs.lo modules.lo numbers.lo objects.lo objprop.lo options.lo pairs.lo ports.lo print.lo procprop.lo procs.lo properties.lo random.lo rdelim.lo read.lo root.lo rw.lo scmsigs.lo script.lo simpos.lo smob.lo sort.lo srcprop.lo stackchk.lo stacks.lo stime.lo strings.lo strop.lo strorder.lo strports.lo struct.lo symbols.lo throw.lo values.lo variable.lo vectors.lo version.lo vports.lo weaks.lo symbols-deprecated.lo regex-posix.lo ramap.lo unif.lo .libs/libimp-cygltdl-3.a -lcrypt /usr/lib/libcygwin.a(libcmain.o)(.text+0x6a): undefined reference to `WinMain@16' collect2: ld returned 1 exit status make[1]: *** [libguile.la] Error 1 Sébastien de Menten | ELECTRABEL Tel: ++32 10 48 51 76 | Quantitative Analysis, Fax: ++32 10 48 51 09 | Place de l'université, 16, 4ème étage Gsm: ++32 478 789 444 | B-1348 Louvain-la-Neuve, BELGIUM