GNU bug report logs - #36314
missing scmconfig.h, guile 2.2.4 and 2.2.5, build error

Previous Next

Package: guile;

Reported by: Carl Hansen <carlhansen <at> gnu.org>

Date: Thu, 20 Jun 2019 19:17:01 UTC

Severity: normal

Tags: unreproducible

To reply to this bug, email your comments to 36314 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


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):

From: Carl Hansen <carlhansen <at> gnu.org>
To: bug-guile <at> gnu.org
Subject: missing scmconfig.h, guile 2.2.4 and 2.2.5, build error
Date: Thu, 20 Jun 2019 15:08:26 -0400
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):

From: Mark H Weaver <mhw <at> netris.org>
To: Carl Hansen <carlhansen <at> gnu.org>
Cc: 36314 <at> debbugs.gnu.org
Subject: Re: bug#36314: missing scmconfig.h, guile 2.2.4 and 2.2.5, build error
Date: Thu, 20 Jun 2019 18:17:30 -0400
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):

From: Carl Hansen <carlhansen <at> gnu.org>
To: 36314 <at> debbugs.gnu.org
Subject: [carlhansen <at> gnu.org: Re: bug#36314: missing scmconfig.h, guile 2.2.4
 and 2.2.5, build error]
Date: Sat, 29 Jun 2019 14:55:47 -0400
----- 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.