Hi :) On Sun 10 Mar 2013 05:09, shoo...@email.de writes:
> The struct timespec is still an issue in a mingw build on windows, but > I know how to handle it. How do you handle it, for the record? I assume you are using pthreads-w32? > As I said, I build everything on windows. > > I have to build bdw-gc with --enable-threads=posix. If I don't, I get errors > along this line: > > ./.libs/libguile-2.0.a(libguile_2.0_la-threads.o):threads.c:(.text+0xfb8): > undefined reference to `GC_pthread_detach' > ./.libs/libguile-2.0.a(libguile_2.0_la-threads.o):threads.c:(.text+0x10de): > undefined reference to `GC_pthread_create' > ./.libs/libguile-2.0.a(libguile_2.0_la-threads.o):threads.c:(.text+0x1221): > undefined reference to `GC_pthread_detach' > ./.libs/libguile-2.0.a(libguile_2.0_la-threads.o):threads.c:(.text+0x12d1): > undefined reference to `GC_pthread_create' You can build bdw-gc without threads, and then build Guile without threads. In my builds I was doing --enable-threads=posix. > The problem is, when I do build bdw-gc with posix threads, the guile > module compiling is all broken, it periodically drops messages like > this: > > GUILEC ice-9/eval.go > Backtrace: > In unknown file: > ?: 3 [apply-smob/1 #<boot-closure 192c100 (_ _ _)> #t ...] > ?: 2 [apply-smob/1 #<catch-closure 1ccee70>] > ?: 1 [primitive-eval ((@ # %) (begin # # #))] > ?: 0 [chmod #<closed: file 0> 438] You passed the `GEN guile-procedures.texi' phase? If so, things are already going well. That's the first time the newly built Guile is used, and if it went through it means at least you have a functional Guile. This problem sounds similar to something Eli Zaretskii reported: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10474#14: The next problem is here: GUILEC ice-9/eval.go Backtrace: In unknown file: ?: 5 [boot-closure #t #<catch-closure 231fd40> ...] ?: 4 [catch-closure] ?: 3 [primitive-eval ((@ # %) (begin # # #))] ?: 2 [chmod #<input-output: ice-9/eval.go.9IiPxC 6> 438] ?: 1 [boot-closure system-error "chmod" ...] ?: 0 [delete-file "ice-9/eval.go.9IiPxC"] ERROR: In procedure delete-file: ERROR: In procedure delete-file: Permission denied This happens because Guile calls fchmod, which is #define'd to -1 on MinGW. However the code is different now, than it was when Eli made his report; now if you don't have fchmod (as mingw does not), chmod only accepts strings -- and here it seems that we are trying to chmod a port. I will see what I can do here. > BTW, have you tried to execute any of the guile cross-comiles you made > on a windows machine? No I have not. I would like to do so, but am not really equipped for it at the moment. Your feedback here is really appreciated, thanks :) Andy -- http://wingolog.org/