[Swan-dev] missing bison masked by new Makefiles?

Andrew Cagney andrew.cagney at gmail.com
Mon Feb 16 19:16:46 EET 2015


Weird.

I had a mk/subdirs.mk change in my local tree which has the potential
to cause this problem but I only pushed that this morning.  I've since
tweaked it to do an explicit "set -e" (a GNU Make feature is to not
invoke /bin/sh with "-e").  So I don't think it is that.

On 13 February 2015 at 23:56, Paul Wouters <paul at nohats.ca> wrote:
> On Fri, 13 Feb 2015, Paul Wouters wrote:
>
>> When missing bison, you don't get an obvious "bison: file not found"
>> error anymore.
>
>
> Maybe it was there but the Makefiel no longer stops. Because I just
> saw: /bin/bash: flex: command not found but make continued....

Hacking the makefiles I can reproduce:

-*- mode: compilation; default-directory:
"~/libreswan-makefiles/OBJ.linux.x86_64/lib/libipsecconf/" -*-
Compilation started at Mon Feb 16 12:11:45

make
bison rule target is parser.tab.c forcing fail ...
exit 1
cc -DHAVE_NM  -I/home/cagney/libreswan-makefiles/ports/linux/include
-I. -I/home/cagney/libreswan-makefiles/linux/net/ipsec
-I/home/cagney/libreswan-makefiles/linux/include
-I/home/cagney/libreswan-makefiles
-I/home/cagney/libreswan-makefiles/include  -I/usr/include/nss3
-I/usr/include/nspr4   -pthread -g -O2 -m64 -Werror -Wall -Wextra
-Wformat -Wformat-nonliteral -Wformat-security -Wundef
-Wmissing-declarations -Wredundant-decls -Wnested-externs  -DGCC_LINT
-pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-all
-fno-strict-aliasing -fPIE -DPIE -DFORCE_PR_ASSERT -Werror -Wall
-Wextra -Wformat -Wformat-nonliteral -Wformat-security -Wundef
-Wmissing-declarations -Wredundant-decls -Wnested-externs  -DDNSSEC
-DKLIPS   -c -o confread.o
/home/cagney/libreswan-makefiles/lib/libipsecconf/confread.c
In file included from
/home/cagney/libreswan-makefiles/lib/libipsecconf/confread.c:46:0:
/home/cagney/libreswan-makefiles/include/ipsecconf/parser.h:22:49:
fatal error: parser.tab.h: No such file or directory
 #include "parser.tab.h" /* generated by bison */
                                                 ^
compilation terminated.
make: *** [confread.o] Error 1

so, clearly, make recognized the "exit 1" (it didn't go on to the real
bision rule) but ignored it!

frustratingly puzzling,

Andrew


More information about the Swan-dev mailing list