>> gc_os_dep.c:1130: warning: type defaults to 'int' in declaration of '_end' >> gc_os_dep.c: In function 'scm_get_stack_base': >> gc_os_dep.c:1916: warning: comparison of distinct pointer types lacks a cast > > The attached patch should fix it. Can you try it and report back? > (Apply it with "patch -p1 < /the/patch.diff" from the top-level source > directory.)
Ok, it works for this error but then still croaks a bit later: libtool: compile: gcc -pthread -DHAVE_CONFIG_H -I.. -I.. -I.. -I/opt/TWWfsw/libgmp41/include -I/usr/local/readline/include -I/usr/local/include -I/opt/TWWfsw/libgmp41/include -I/usr/local/readline/include -I/usr/local/include -D_REENTRANT -O2 -g -Wall -Wmissing-prototypes -Werror -MT libguile_la-numbers.lo -MD -MP -MF .deps/libguile_la-numbers.Tpo -c numbers.c -DPIC -o .libs/libguile_la-numbers.o cc1: warnings being treated as errors numbers.c: In function 'scm_c_make_polar': numbers.c:5356: warning: implicit declaration of function 'sincos' numbers.c:5356: warning: incompatible implicit declaration of built-in function 'sincos' gmake[3]: *** [libguile_la-numbers.lo] Error 1 btw: I have in cppflags those flags: -I/opt/TWWfsw/libgmp41/include -I/usr/local/readline/include -I/usr/local/include How come do they get duplicated? And the -I.. also are showing up more than once... >> In the previous 1.8.5 version which I could never build successfully, I was >> using a cflag -DSCM_DEBUG_TYPING_STRICTNESS=0 although I forgot how I was >> brought to use it, it's been a while since I tried building 1.8.5 > > This is no longer needed (see > http://git.savannah.gnu.org/cgit/guile.git/commit/?id=95c6523b03387997d62c1bed > 57bd1a0864e30836). > > Hope this helps, Great! Thanks, > diff --git a/libguile/gc_os_dep.c b/libguile/gc_os_dep.c > index d89f1cf..7bc9644 100644 > --- a/libguile/gc_os_dep.c > +++ b/libguile/gc_os_dep.c > @@ -1127,7 +1127,7 @@ scm_get_stack_base () > # ifdef OSF1 > # define OS_TYPE "OSF1" > # define DATASTART ((ptr_t) 0x140000000) > - extern _end; > + extern int _end; > # define DATAEND ((ptr_t) &_end) > # define HEURISTIC2 > /* Normally HEURISTIC2 is too conervative, since */ > @@ -1912,7 +1912,7 @@ void *scm_get_stack_base() > # if STACK_GROWS_DOWN > result = GC_find_limit((ptr_t)(&dummy), TRUE); > # ifdef HEURISTIC2_LIMIT > - if (result > HEURISTIC2_LIMIT > + if ((ptr_t)result > HEURISTIC2_LIMIT > && (ptr_t)(&dummy) < HEURISTIC2_LIMIT) { > result = HEURISTIC2_LIMIT; > } -- Didier Godefroy mailto:[email protected]
