2009/11/28 Ludovic Courtès <l...@gnu.org>: > Hi Linas, > > Linas Vepstas <linasveps...@gmail.com> writes: > >> error: non-local function ‘static<anonymous struct>* >> opencog::SchemeSmob::ss_incoming_set(<anonymous struct>*)’ uses >> anonymous type > > Lilypond is written in C++ and... (looks at the logs...) ... it has > the same problem, starting from 1.9.5 > (http://hydra.nixos.org/build/157322/log/raw). > > So this must be related to static subr allocation and suchlike. Can you > try commenting out ‘# define SCM_SUPPORT_STATIC_ALLOCATION’ in > ‘snarf.h’?
No, that doesn't fix it. However, the following does: --- libguile/tags.h.orig 2009-11-28 19:18:36.000000000 -0600 +++ libguile/tags.h 2009-11-28 19:18:52.000000000 -0600 @@ -110,7 +110,7 @@ /* This is the default, which provides an intermediate level of compile time * type checking while still resulting in very efficient code. */ - typedef struct { char scm_unused_field; } * SCM; + typedef struct ___stuff___ { char scm_unused_field; } * SCM; /* The 0?: constructions makes sure that the code is never executed, googleing the error messages indicates that anonymous structs are OK in C, but are somehow bad form in C++, thus gcc generates this error. I don't understand why this would matter. --linas