[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#36314: missing scmconfig.h, guile 2.2.4 and 2.2.5, build error
From: |
Mark H Weaver |
Subject: |
bug#36314: missing scmconfig.h, guile 2.2.4 and 2.2.5, build error |
Date: |
Thu, 20 Jun 2019 18:17:30 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
Hi Carl,
Carl Hansen <address@hidden> writes:
> make[1]: Entering directory
> '/td2/carlstuff/build/gsrc/pkg/gnu/guile/work/guile-2.2.5'
> make -C libguile scmconfig.h
> make[2]: Entering directory
> '/td2/carlstuff/build/gsrc/pkg/gnu/guile/work/guile-2.2.5/libguile'
> \
> if [ "no" = "yes" ]; then \
> gcc -std=gnu11 -DHAVE_CONFIG_H -I.. \
> -c -o gen-scmconfig.o gen-scmconfig.c; \
> else \
> gcc -std=gnu11 -DHAVE_CONFIG_H -DBUILDING_LIBGUILE=1 -I.. -I..
> -I../lib -I../lib -I/opt/gsrc/lib/libffi-3.2.1/include
> -I/td2/carlstuff/build/gsrc/pkg/gnu/guile/work/guile-2.2.5 -Wall
> -Wmissing-prototypes -Wdeclaration-after-statement -Wpointer-arith
> -Wswitch-enum -fno-strict-aliasing -fwrapv -fvisibility=hidden -g -O2 -c -o
> gen-scmconfig.o gen-scmconfig.c; \
> fi
> In file included from ./strings.h:27,
> from /usr/include/string.h:431,
> from ../lib/string.h:41,
> from gen-scmconfig.c:142:
> ../libguile/__scm.h:54:10: fatal error: libguile/scmconfig.h: No such file or
> directory
> 54 | #include "libguile/scmconfig.h"
> | ^~~~~~~~~~~~~~~~~~~~~~
> compilation terminated.
> make[2]: *** [Makefile:4132: gen-scmconfig.o] Error 1
>
>
>
> In other words, it is trying to create libguile/scmconfig.h, but it includes
> libguile/__scm.h which includes libguile/scmconfig.h, therefore.... build
> error.
The problem seems to be that that the 'libguile' directory is somehow
being added to the C include search path, although it should not be.
The error message above implies that line 431 of /usr/include/string.h
includes <strings.h> (it does on my system), which is obviously intended
to pick up a system header. Instead, libguile/strings.h is being picked
up.
I don't see -I. or equivalent on the command line above. Are you adding
"." to CPATH, C_INCLUDE_PATH, or some similar environment variable?
Note that an empty path component is typically interpreted as ".", so
two adjacent colons, or a colon at the beginning or end of the path
variable, could also explain this.
> Happens with 2.2.5 and 2.2.4
Note that Guile 2.2.4 was released almost a year ago, and you're the
first person to report this problem, so I suspect it's something unusual
in your build environment.
If the ideas above don't lead to a solution, could you send us more
details, e.g. the complete set of environment variables and arguments
passed to ./configure?
Thanks,
Mark