Subject: bug#11456: it still can't be compiled

From: gnuemacser <[email-masked]>
Date: Fri, 6 Jul 2012 12:59:12 +0800

I have to say that the error is not only about --without-threads argument.Here is my test:
i use mingw gcc version 4.6.2, i installed mingw's pthread, gmp, libunistring, i build libffi
and gc myself.
when i build gc-7.2alpha6 , i found that gc do not support pthread in mingw. so with the guile i can only
use --without-threads argument. i made a directory named "build" in the top directory, then i cd into it.
i use "../configure --without-threads" to config.
after configure the guile,i run make.
then it stops here:

  CC     libguile_2.0_la-symbols.lo
  CC     libguile_2.0_la-threads.lo
../../libguile/threads.c: In function 'to_timespec':
../../libguile/threads.c:267:15: error: dereferencing pointer to incomplete type
../../libguile/threads.c:268:15: error: dereferencing pointer to incomplete type
../../libguile/threads.c:275:15: error: dereferencing pointer to incomplete type
../../libguile/threads.c:276:15: error: dereferencing pointer to incomplete type
../../libguile/threads.c: In function 'scm_cancel_thread':
../../libguile/threads.c:1165:7: warning: statement with no effect [-Wunused-value]
../../libguile/threads.c: In function 'scm_join_thread_timed':
../../libguile/threads.c:1229:18: error: storage size of 'ctimeout' isn't known
../../libguile/threads.c:1229:18: warning: unused variable 'ctimeout' [-Wunused-variable]
../../libguile/threads.c: In function 'fat_mutex_lock':
../../libguile/threads.c:1453:41: error: dereferencing pointer to incomplete type
../../libguile/threads.c:1454:36: error: dereferencing pointer to incomplete type
../../libguile/threads.c:1455:43: error: dereferencing pointer to incomplete type
../../libguile/threads.c: In function 'scm_lock_mutex_timed':
../../libguile/threads.c:1487:18: error: storage size of 'cwaittime' isn't known
../../libguile/threads.c:1487:18: warning: unused variable 'cwaittime' [-Wunused-variable]
../../libguile/threads.c: In function 'scm_try_mutex':
../../libguile/threads.c:1536:18: error: storage size of 'cwaittime' isn't known
../../libguile/threads.c:1536:18: warning: unused variable 'cwaittime' [-Wunused-variable]
../../libguile/threads.c: In function 'scm_unlock_mutex_timed':
../../libguile/threads.c:1679:18: error: storage size of 'cwaittime' isn't known
../../libguile/threads.c:1679:18: warning: unused variable 'cwaittime' [-Wunused-variable]
../../libguile/threads.c: In function 'scm_timed_wait_condition_variable':
../../libguile/threads.c:1783:18: error: storage size of 'waittime' isn't known
../../libguile/threads.c:1783:18: warning: unused variable 'waittime' [-Wunused-variable]
make[3]: *** [libguile_2.0_la-threads.lo] Error 1
make[3]: Leaving directory `/e/temp/files/guile/guile-2.0.5/build/libguile'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/e/temp/files/guile/guile-2.0.5/build/libguile'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/e/temp/files/guile/guile-2.0.5/build'
make: *** [all] Error 2

The strange thing is although 'ctimout' is defined by scm_t_timespec ,and scm_t_timespec also be defined by "typedef struct timespec scm_t_timespec;",
but the compiler still don't recognize it. So each "*time" isn't known ,is it?