Sponsored Content
Top Forums Programming MinGW - Trouble Compiling Guile Post 302730487 by Deluge on Tuesday 13th of November 2012 03:49:01 AM
Old 11-13-2012
I recompiled libtool/libltdl as a shared library and it fixed the problem. However, I have a new problem during compilation:

Code:
../../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 'launch_thread':
../../libguile/threads.c:1015:3: warning: implicit declaration of function 'GC_pthread_detach' [-Wimplicit-function-declaration]
../../libguile/threads.c: In function 'scm_call_with_new_thread':
../../libguile/threads.c:1051:3: warning: implicit declaration of function 'GC_pthread_create' [-Wimplicit-function-declaration]
../../libguile/threads.c: In function 'scm_join_thread_timed':
../../libguile/threads.c:1232:18: error: storage size of 'ctimeout' isn't known
../../libguile/threads.c:1232:18: warning: unused variable 'ctimeout' [-Wunused-variable]
../../libguile/threads.c: In function 'fat_mutex_lock':
../../libguile/threads.c:1456:41: error: dereferencing pointer to incomplete type
../../libguile/threads.c:1457:36: error: dereferencing pointer to incomplete type
../../libguile/threads.c:1458:43: error: dereferencing pointer to incomplete type
../../libguile/threads.c: In function 'scm_lock_mutex_timed':
../../libguile/threads.c:1491:18: error: storage size of 'cwaittime' isn't known
../../libguile/threads.c:1491:18: warning: unused variable 'cwaittime' [-Wunused-variable]
../../libguile/threads.c: In function 'scm_try_mutex':
../../libguile/threads.c:1540:18: error: storage size of 'cwaittime' isn't known
../../libguile/threads.c:1540:18: warning: unused variable 'cwaittime' [-Wunused-variable]
../../libguile/threads.c: In function 'scm_unlock_mutex_timed':
../../libguile/threads.c:1683:18: error: storage size of 'cwaittime' isn't known
../../libguile/threads.c:1683:18: warning: unused variable 'cwaittime' [-Wunused-variable]
../../libguile/threads.c: In function 'scm_timed_wait_condition_variable':
../../libguile/threads.c:1787:18: error: storage size of 'waittime' isn't known
../../libguile/threads.c:1787:18: warning: unused variable 'waittime' [-Wunused-variable]
../../libguile/threads.c: In function 'scm_pthread_cond_timedwait':
../../libguile/threads.c:1988:3: warning: passing argument 3 of 'pthread_cond_timedwait' from incompatible pointer type [enabled by default]
In file included from ../lib/time.h:369:0,
                 from c:\development\mingw32\bin\../lib/gcc/mingw32/4.7.1/../../../../include/sys/time.h:3,
                 from ../lib/sys/time.h:38,
                 from ../libguile/scmconfig.h:26,
                 from ../../libguile/bdw-gc.h:24,
                 from ../../libguile/threads.c:27:
c:\development\mingw32\bin\../lib/gcc/mingw32/4.7.1/../../../../include/pthread.h:1097:31: note: expected 'const struct timespec *' but argument is of type 'const struct scm_t_timespec *'
make[3]: *** [libguile_2.0_la-threads.lo] Error 1
make[3]: Leaving directory `/c/Development/Sources/guile-2.0.6/build-win32/libguile'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/c/Development/Sources/guile-2.0.6/build-win32/libguile'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/c/Development/Sources/guile-2.0.6/build-win32'
make: *** [all] Error 2

It appears that there might be some incompatibilities between guild and pthreads-w32. I will try compiling without thread support.

----- Edit -----

I uninstalled pthreads-w32 and tried compiling again. Now I am getting the following error:

Code:
....
../../libguile/posix.c: In function 'scm_init_posix':
../../libguile/posix.c:2380:36: error: 'scm_init_popen' undeclared (first use in this function)
../../libguile/posix.c:2380:36: note: each undeclared identifier is reported only once for each function it appears in
make[3]: *** [posix.lo] Error 1
....

----- Edit -----

I finally gave up on guile-2.0.6 and compiled an older version, 1.8.8. It compiled fine after a couple of little fixes:
1) Had to use the following CFLAGS options to configure command for gcc 4.7:
Code:
-Wno-error=unused-but-set-variable -Wno-error=unused-but-set-parameter

2) Edited config.h to comment out "HAVE_STRUCT_TIMESPEC" since already defined in pthread.h:
Code:
//#define HAVE_STRUCT_TIMESPEC 1

3) Patched file libguile/guile-snarf-docs.in:
Code:
--- libguile/guile-snarf-docs.in.orig    2011-06-02 11:49:24.423491408 +0300
+++ libguile/guile-snarf-docs.in    2011-06-02 11:49:26.174492567 +0300
@@ -23,4 +23,4 @@ 
 ## Let the user override the preprocessor autoconf found.
 test -n "${CPP+set}" || CPP="@CPP@"

-${CPP} -DSCM_MAGIC_SNARF_DOCS "$@"
+${CPP} -P -DSCM_MAGIC_SNARF_DOCS "$@"

Patch source

My only question is can I set an option from the configure command to undefine HAVE_STRUCT_TIMESPEC so that I don't have to manually edit the config.h file?

Last edited by Deluge; 11-13-2012 at 08:19 PM..
 

3 More Discussions You Might Find Interesting

1. Programming

Playing Video with MinGW and SDL

Hi All, I was wondering if someone could clarify the best way to display mpeg video with SDL in MinGW. After scouring the internet it seems there is not a lot of information regarding this subject (or at least not up to date) and libraries that are available for this purpose. Any help/... (1 Reply)
Discussion started by: robfwauk
1 Replies

2. Programming

Symbols not found for architecture: trouble compiling with C++

Hello, I am writing a program which relies on some heavy astronomy calculations, so I am using libnova c++ astronomy libraries => libnova: libnova. I started off with a simple program to make sure everything compiled ok (below) //Simple example program to test Libnova C++ class libraries ... (2 Replies)
Discussion started by: Tyler_92
2 Replies

3. Programming

Trouble compiling program using the readline library.

Hi: in the info page for readline library I read -- Function: void rl_variable_dumper (int readable) Print the readline variable names and their current values to `rl_outstream'. If READABLE is non-zero, the list is formatted in such a way that it can be made part of an... (1 Reply)
Discussion started by: stf92
1 Replies
All times are GMT -4. The time now is 03:17 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy