On 2011-06-06, at 8:17 AM, Mikael More wrote:
Maybe it could be some kind of sallad in the use of gambit.h, such that the new install tries to re-use the gambit.h of my 4.5.1 install? Funny though that this error does not happen when lib/os.h is unmodified.
The error is simpler than that... In lib/os_base.c there is some extra code in the initialization of ___base_mod that shouldn't be there:
___base_module ___base_mod = { 0
#ifdef ___DEBUG , 0, 0, 0 #ifdef ___DEBUG_ALLOC_MEM_TRACE , 0, 0 #endif #endif
#ifdef ___BASE_MODULE_INIT ___BASE_MODULE_INIT #endif };
Just remove the
#ifdef ___DEBUG_ALLOC_MEM_TRACE , 0, 0 #endif
I guess the C++ compiler is a bit more finicky than the C compiler (which does not mind having more fields than the definition of the ___base_module structure in lib/os_base.h).
Marc