bug-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Build problems: bison 3.7.1 + other versions


From: Claudio Calvelli
Subject: Build problems: bison 3.7.1 + other versions
Date: Thu, 03 Sep 2020 10:20:53 +0200

I've first encountered this problem while installing the Gentoo package
for bison 3.6.4 but it seems to persist in other versions and is definitely
present in 3.7.1.

It is related to a parallel build, and it appears to be a dependency
problem; and reproducing it requires giving "make" some options which
seem to depend on the exact processor being used; however once found
the right options the problem is 100% repeatable, "make" with the
same options fails every time with the same error.  The error itself
also depends on the type of parallel build, but it suggests that some
files are not generated before building an object which requires them.

I'm including below examples of how to trigger the problem on three
different processors, hoping that this helps somebody to reproduce
the problem on other systems.  The exact value of the "-l" option
doesn't quite matter as I've tried small ranges, but it needs to
be there together with the "-j" to trigger a problem.

Starting from a freshly unpacked tarball for bison-3.7.1.tar.xz,
on an "Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz" (as per "lscpu"):

$ ./configure && make -j4 -l0.5
...
src/files.c:24:10: fatal error: configmake.h: No such file or directory
  24 | #include <configmake.h> /* PKGDATADIR */
     |          ^~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:7669: src/bison-files.o] Error 1

$ ./configure && make -j5 -l0.5
...
In file included from lib/pipe2.c:25:
lib/binary-io.h: In function '__gl_setmode':
lib/binary-io.h:52:10: error: 'O_BINARY' undeclared (first use in this function)
  52 |   return O_BINARY;
     |          ^~~~~~~~
lib/binary-io.h:52:10: note: each undeclared identifier is reported only once 
for each function it appears in
lib/pipe2.c: In function 'rpl_pipe2':
lib/pipe2.c:70:43: error: 'O_BINARY' undeclared (first use in this function); 
did you mean SET_BINARY'?
  70 |   if ((flags & ~(O_CLOEXEC | O_NONBLOCK | O_BINARY | O_TEXT)) != 0)
     |                                           ^~~~~~~~
     |                                           SET_BINARY
lib/pipe2.c:70:54: error: 'O_TEXT' undeclared (first use in this function); did 
you mean 'F_TEST'?
  70 |   if ((flags & ~(O_CLOEXEC | O_NONBLOCK | O_BINARY | O_TEXT)) != 0)
     |                                                      ^~~~~~
     |                                                      F_TEST
make: *** [Makefile:5387: lib/libbison_a-pipe2.o] Error 1


On an "Intel(R) Core(TM) i3-4010U CPU @ 1.70GHz" I get:

$ ./configure && make -j4 -l0.5
...
src/files.c:24:10: fatal error: configmake.h: No such file or directory
  24 | #include <configmake.h> /* PKGDATADIR */
     |          ^~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:7669: src/bison-files.o] Error 1


On an "Intel(R) Atom(TM) CPU N550   @ 1.50GHz" (in 32 bit mode):

$ ./configure && make -j4 -l2
src/files.c:24:10: fatal error: configmake.h: No such file or directory
  24 | #include <configmake.h> /* PKGDATADIR */
     |          ^~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:7669: src/bison-files.o] Error 1


On the Gentoo build I got the "O_BINARY" problem on the atom, but can't
reproduce it without applying the gentoo patches; however the other
problem is 100% repeatable here starting from the unmodified tarball.


See also https://bugs.gentoo.org/716516




reply via email to

[Prev in Thread] Current Thread [Next in Thread]