GNU bug report logs -
#36314
missing scmconfig.h, guile 2.2.4 and 2.2.5, build error
Previous Next
To reply to this bug, email your comments to 36314 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guile <at> gnu.org
:
bug#36314
; Package
guile
.
(Thu, 20 Jun 2019 19:17:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Carl Hansen <carlhansen <at> gnu.org>
:
New bug report received and forwarded. Copy sent to
bug-guile <at> gnu.org
.
(Thu, 20 Jun 2019 19:17:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
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.
Happens with 2.2.5 and 2.2.4
Information forwarded
to
bug-guile <at> gnu.org
:
bug#36314
; Package
guile
.
(Thu, 20 Jun 2019 22:20:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 36314 <at> debbugs.gnu.org (full text, mbox):
Hi Carl,
Carl Hansen <carlhansen <at> gnu.org> 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
Added tag(s) unreproducible.
Request was from
Ludovic Courtès <ludo <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Tue, 25 Jun 2019 08:35:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-guile <at> gnu.org
:
bug#36314
; Package
guile
.
(Sat, 29 Jun 2019 18:56:01 GMT)
Full text and
rfc822 format available.
Message #13 received at 36314 <at> debbugs.gnu.org (full text, mbox):
----- Forwarded message from Carl Hansen <carlhansen <at> gnu.org> -----
Date: Fri, 28 Jun 2019 18:27:23 -0400
From: Carl Hansen <carlhansen <at> gnu.org>
To: Mark H Weaver <mhw <at> netris.org>
Subject: Re: bug#36314: missing scmconfig.h, guile 2.2.4 and 2.2.5, build error
User-Agent: Mutt/1.5.21 (2010-09-15)
On Thu, Jun 20, 2019 at 06:17:30PM -0400, Mark H Weaver wrote:
> Hi Carl,
>
> Carl Hansen <carlhansen <at> gnu.org> 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
Thanks, Mark. Your analysis is right on. It was picking up the
wrong strings.h. One comment I have is, is it a good idea to
have local dot-h file be same name as well established system one
like strings.h ?
Anyway, thanks a lot.
Carl
----- End forwarded message -----
This bug report was last modified 5 years and 350 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.