bison problem building inn-2.4.1
T Nefzger
tnefzger at earthlink.net
Wed Jun 30 19:57:49 UTC 2004
I found that installing GNU m4-1.4.1 fixed the bison problem. Also,
/usr/ccs/bin/yacc produced a y.tab.c but it is different from the one made
by bison.
-----Original Message-----
From: T Nefzger [mailto:tnefzger at earthlink.net]
Sent: Wednesday, June 30, 2004 3:13 PM
To: inn-bugs at isc.org
Subject: bison problem building inn-2.4.1
Hi,
I'm trying to build inn-2.4.1 on solaris 8 running on a sun sparc system.
Solaris 8 is patched with Maintenance Update 7 and the Recommended Patch
Cluster of 3/10/2004. I am using gcc v2.95.3, bison v1.875d and perl
v5.8.3.
I configured inn with: ./configure --prefix=/opt/news --with-perl
Make proceed fine until parsedate.y:
...
gcc -g -O2 -I../include -c md5.c
gcc -g -O2 -I../include -c messages.c
gcc -g -O2 -I../include -c mmap.c
Expect 6 shift/reduce conflicts
bison -y parsedate.y
conflicts: 6 shift/reduce
make[1]: *** [parsedate.c] Broken Pipe
make[1]: Leaving directory `/sw/inn-2.4.1/lib'
make: *** [all-lib] Error 2
Running bison from the command line produced:
root at ef-3:22 bison -y parsedate.y
conflicts: 6 shift/reduce
root at ef-3:23: echo $?
141
man -s2 intro skips error number 141 as does /usr/include/errno.h.
Running bison -v -y produced the following y.output:
State 6 conflicts: 1 shift/reduce
State 8 conflicts: 1 shift/reduce
State 16 conflicts: 1 shift/reduce
State 24 conflicts: 1 shift/reduce
State 30 conflicts: 1 shift/reduce
State 40 conflicts: 1 shift/reduce
Grammar
0 $accept: spec $end
1 spec: /* empty */
2 | spec item
3 item: time
4 | time zone
5 | date
6 | rel
7 time: tUNUMBER o_merid
8 | tUNUMBER ':' tUNUMBER o_merid
9 | tUNUMBER ':' tUNUMBER numzone
10 | tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid
11 | tUNUMBER ':' tUNUMBER ':' tUNUMBER numzone
12 zone: tZONE
13 | tDAYZONE
14 | tZONE numzone
15 | numzone
16 numzone: tSNUMBER
17 date: tUNUMBER '/' tUNUMBER
18 | tUNUMBER '/' tUNUMBER '/' tUNUMBER
19 | tMONTH tUNUMBER
20 | tMONTH tUNUMBER ',' tUNUMBER
21 | tUNUMBER tMONTH
22 | tUNUMBER tMONTH tUNUMBER
23 | tDAY ',' tUNUMBER tMONTH tUNUMBER
24 rel: tSNUMBER tSEC_UNIT
25 | tUNUMBER tSEC_UNIT
26 | tSNUMBER tMONTH_UNIT
27 | tUNUMBER tMONTH_UNIT
28 o_merid: /* empty */
29 | tMERIDIAN
Terminals, with rules where they appear
$end (0) 0
',' (44) 20 23
'/' (47) 17 18
':' (58) 8 9 10 11
error (256)
tDAY (258) 23
tDAYZONE (259) 13
tMERIDIAN (260) 29
tMONTH (261) 19 20 21 22 23
tMONTH_UNIT (262) 26 27
tSEC_UNIT (263) 24 25
tSNUMBER (264) 16 24 26
tUNUMBER (265) 7 8 9 10 11 17 18 19 20 21 22 23 25 27
tZONE (266) 12 14
Nonterminals, with rules where they appear
$accept (15)
on left: 0
spec (16)
on left: 1 2, on right: 0 2
item (17)
on left: 3 4 5 6, on right: 2
time (18)
on left: 7 8 9 10 11, on right: 3 4
zone (19)
on left: 12 13 14 15, on right: 4
numzone (20)
on left: 16, on right: 9 11 14 15
date (21)
on left: 17 18 19 20 21 22 23, on right: 5
rel (22)
on left: 24 25 26 27, on right: 6
o_merid (23)
on left: 28 29, on right: 7 8 10
state 0
0 $accept: . spec $end
$default reduce using rule 1 (spec)
spec go to state 1
state 1
0 $accept: spec . $end
2 spec: spec . item
$end shift, and go to state 2
tDAY shift, and go to state 3
tMONTH shift, and go to state 4
tSNUMBER shift, and go to state 5
tUNUMBER shift, and go to state 6
item go to state 7
time go to state 8
date go to state 9
rel go to state 10
state 2
0 $accept: spec $end .
$default accept
state 3
23 date: tDAY . ',' tUNUMBER tMONTH tUNUMBER
',' shift, and go to state 11
state 4
19 date: tMONTH . tUNUMBER
20 | tMONTH . tUNUMBER ',' tUNUMBER
tUNUMBER shift, and go to state 12
state 5
24 rel: tSNUMBER . tSEC_UNIT
26 | tSNUMBER . tMONTH_UNIT
tMONTH_UNIT shift, and go to state 13
tSEC_UNIT shift, and go to state 14
state 6
7 time: tUNUMBER . o_merid
8 | tUNUMBER . ':' tUNUMBER o_merid
9 | tUNUMBER . ':' tUNUMBER numzone
10 | tUNUMBER . ':' tUNUMBER ':' tUNUMBER o_merid
11 | tUNUMBER . ':' tUNUMBER ':' tUNUMBER numzone
17 date: tUNUMBER . '/' tUNUMBER
18 | tUNUMBER . '/' tUNUMBER '/' tUNUMBER
21 | tUNUMBER . tMONTH
22 | tUNUMBER . tMONTH tUNUMBER
25 rel: tUNUMBER . tSEC_UNIT
27 | tUNUMBER . tMONTH_UNIT
tMERIDIAN shift, and go to state 15
tMONTH shift, and go to state 16
tMONTH_UNIT shift, and go to state 17
tSEC_UNIT shift, and go to state 18
':' shift, and go to state 19
'/' shift, and go to state 20
tMONTH [reduce using rule 28 (o_merid)]
$default reduce using rule 28 (o_merid)
o_merid go to state 21
state 7
2 spec: spec item .
$default reduce using rule 2 (spec)
state 8
3 item: time .
4 | time . zone
tDAYZONE shift, and go to state 22
tSNUMBER shift, and go to state 23
tZONE shift, and go to state 24
tSNUMBER [reduce using rule 3 (item)]
$default reduce using rule 3 (item)
zone go to state 25
numzone go to state 26
state 9
5 item: date .
$default reduce using rule 5 (item)
state 10
6 item: rel .
$default reduce using rule 6 (item)
state 11
23 date: tDAY ',' . tUNUMBER tMONTH tUNUMBER
tUNUMBER shift, and go to state 27
state 12
19 date: tMONTH tUNUMBER .
20 | tMONTH tUNUMBER . ',' tUNUMBER
',' shift, and go to state 28
$default reduce using rule 19 (date)
state 13
26 rel: tSNUMBER tMONTH_UNIT .
$default reduce using rule 26 (rel)
state 14
24 rel: tSNUMBER tSEC_UNIT .
$default reduce using rule 24 (rel)
state 15
29 o_merid: tMERIDIAN .
$default reduce using rule 29 (o_merid)
state 16
21 date: tUNUMBER tMONTH .
22 | tUNUMBER tMONTH . tUNUMBER
tUNUMBER shift, and go to state 29
tUNUMBER [reduce using rule 21 (date)]
$default reduce using rule 21 (date)
state 17
27 rel: tUNUMBER tMONTH_UNIT .
$default reduce using rule 27 (rel)
state 18
25 rel: tUNUMBER tSEC_UNIT .
$default reduce using rule 25 (rel)
state 19
8 time: tUNUMBER ':' . tUNUMBER o_merid
9 | tUNUMBER ':' . tUNUMBER numzone
10 | tUNUMBER ':' . tUNUMBER ':' tUNUMBER o_merid
11 | tUNUMBER ':' . tUNUMBER ':' tUNUMBER numzone
tUNUMBER shift, and go to state 30
state 20
17 date: tUNUMBER '/' . tUNUMBER
18 | tUNUMBER '/' . tUNUMBER '/' tUNUMBER
tUNUMBER shift, and go to state 31
state 21
7 time: tUNUMBER o_merid .
$default reduce using rule 7 (time)
state 22
13 zone: tDAYZONE .
$default reduce using rule 13 (zone)
state 23
16 numzone: tSNUMBER .
$default reduce using rule 16 (numzone)
state 24
12 zone: tZONE .
14 | tZONE . numzone
tSNUMBER shift, and go to state 23
tSNUMBER [reduce using rule 12 (zone)]
$default reduce using rule 12 (zone)
numzone go to state 32
state 25
4 item: time zone .
$default reduce using rule 4 (item)
state 26
15 zone: numzone .
$default reduce using rule 15 (zone)
state 27
23 date: tDAY ',' tUNUMBER . tMONTH tUNUMBER
tMONTH shift, and go to state 33
state 28
20 date: tMONTH tUNUMBER ',' . tUNUMBER
tUNUMBER shift, and go to state 34
state 29
22 date: tUNUMBER tMONTH tUNUMBER .
$default reduce using rule 22 (date)
state 30
8 time: tUNUMBER ':' tUNUMBER . o_merid
9 | tUNUMBER ':' tUNUMBER . numzone
10 | tUNUMBER ':' tUNUMBER . ':' tUNUMBER o_merid
11 | tUNUMBER ':' tUNUMBER . ':' tUNUMBER numzone
tMERIDIAN shift, and go to state 15
tSNUMBER shift, and go to state 23
':' shift, and go to state 35
tSNUMBER [reduce using rule 28 (o_merid)]
$default reduce using rule 28 (o_merid)
numzone go to state 36
o_merid go to state 37
state 31
17 date: tUNUMBER '/' tUNUMBER .
18 | tUNUMBER '/' tUNUMBER . '/' tUNUMBER
'/' shift, and go to state 38
$default reduce using rule 17 (date)
state 32
14 zone: tZONE numzone .
$default reduce using rule 14 (zone)
state 33
23 date: tDAY ',' tUNUMBER tMONTH . tUNUMBER
tUNUMBER shift, and go to state 39
state 34
20 date: tMONTH tUNUMBER ',' tUNUMBER .
$default reduce using rule 20 (date)
state 35
10 time: tUNUMBER ':' tUNUMBER ':' . tUNUMBER o_merid
11 | tUNUMBER ':' tUNUMBER ':' . tUNUMBER numzone
tUNUMBER shift, and go to state 40
state 36
9 time: tUNUMBER ':' tUNUMBER numzone .
$default reduce using rule 9 (time)
state 37
8 time: tUNUMBER ':' tUNUMBER o_merid .
$default reduce using rule 8 (time)
state 38
18 date: tUNUMBER '/' tUNUMBER '/' . tUNUMBER
tUNUMBER shift, and go to state 41
state 39
23 date: tDAY ',' tUNUMBER tMONTH tUNUMBER .
$default reduce using rule 23 (date)
state 40
10 time: tUNUMBER ':' tUNUMBER ':' tUNUMBER . o_merid
11 | tUNUMBER ':' tUNUMBER ':' tUNUMBER . numzone
tMERIDIAN shift, and go to state 15
tSNUMBER shift, and go to state 23
tSNUMBER [reduce using rule 28 (o_merid)]
$default reduce using rule 28 (o_merid)
numzone go to state 42
o_merid go to state 43
state 41
18 date: tUNUMBER '/' tUNUMBER '/' tUNUMBER .
$default reduce using rule 18 (date)
state 42
11 time: tUNUMBER ':' tUNUMBER ':' tUNUMBER numzone .
$default reduce using rule 11 (time)
state 43
10 time: tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid .
$default reduce using rule 10 (time)
--
Thanks for looking into this.
Tris Nefzger
tnefzger at earthlink.net
More information about the inn-bugs
mailing list