unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#36314: missing scmconfig.h, guile 2.2.4 and 2.2.5, build error
@ 2019-06-20 19:08 Carl Hansen
  2019-06-20 22:17 ` Mark H Weaver
  2019-06-29 18:55 ` bug#36314: [carlhansen@gnu.org: Re: bug#36314: missing scmconfig.h, guile 2.2.4 and 2.2.5, build error] Carl Hansen
  0 siblings, 2 replies; 3+ messages in thread
From: Carl Hansen @ 2019-06-20 19:08 UTC (permalink / raw)
  To: 36314

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







^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#36314: missing scmconfig.h, guile 2.2.4 and 2.2.5, build error
  2019-06-20 19:08 bug#36314: missing scmconfig.h, guile 2.2.4 and 2.2.5, build error Carl Hansen
@ 2019-06-20 22:17 ` Mark H Weaver
  2019-06-29 18:55 ` bug#36314: [carlhansen@gnu.org: Re: bug#36314: missing scmconfig.h, guile 2.2.4 and 2.2.5, build error] Carl Hansen
  1 sibling, 0 replies; 3+ messages in thread
From: Mark H Weaver @ 2019-06-20 22:17 UTC (permalink / raw)
  To: Carl Hansen; +Cc: 36314

Hi Carl,

Carl Hansen <carlhansen@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





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#36314: [carlhansen@gnu.org: Re: bug#36314: missing scmconfig.h, guile 2.2.4 and 2.2.5, build error]
  2019-06-20 19:08 bug#36314: missing scmconfig.h, guile 2.2.4 and 2.2.5, build error Carl Hansen
  2019-06-20 22:17 ` Mark H Weaver
@ 2019-06-29 18:55 ` Carl Hansen
  1 sibling, 0 replies; 3+ messages in thread
From: Carl Hansen @ 2019-06-29 18:55 UTC (permalink / raw)
  To: 36314

----- Forwarded message from Carl Hansen <carlhansen@gnu.org> -----

Date: Fri, 28 Jun 2019 18:27:23 -0400
From: Carl Hansen <carlhansen@gnu.org>
To: Mark H Weaver <mhw@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@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 -----





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-06-29 18:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-20 19:08 bug#36314: missing scmconfig.h, guile 2.2.4 and 2.2.5, build error Carl Hansen
2019-06-20 22:17 ` Mark H Weaver
2019-06-29 18:55 ` bug#36314: [carlhansen@gnu.org: Re: bug#36314: missing scmconfig.h, guile 2.2.4 and 2.2.5, build error] Carl Hansen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).