Subject: pkg/31493: mit-krb5-1.4.2nb2 fails to build with bison-2.1
To: None <,,>
From: None <>
List: pkgsrc-bugs
Date: 10/06/2005 11:32:00
>Number:         31493
>Category:       pkg
>Synopsis:       mit-krb5-1.4.2nb2 fails to build with bison-2.1
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Oct 06 11:32:00 +0000 2005
>Originator:     Neil Hoggarth
>Release:        Solaris 9
Laboratory of Physiology, Oxford University
SunOS saros 5.9 Generic_118558-10 sun4u sparc SUNW,Ultra-30

I'm attempting to build package mit-krb5-1.4.2nb2 on Solaris. The compilation process makes use of bison as a yacc replacement, but for input file "foo.y" bison produces an output file "" rather than the traditional yacc fixed filename "". The mit-krb5 build seems to expect the traditional yacc fixed filename behaviour. Output from failed build:

/usr/pkg/bin/bison  getdate.y
getdate.y: conflicts: 4 shift/reduce
mv getdate.c
mv: cannot access
*** Error code 2

bmake: stopped in /export/scratch/pkgsrc/security/mit-krb5/work/krb5-1.4.2/src/kadmin/cli

There is a second instance of the problem with ftpcmd.y in pkgsrc/security/mit-krb5/work/krb5-1.4.2/src/appl/gssftp/ftpd.

Install bison-2.1 from pkgsrc.

cd /usr/pkgsrc/security/mit-krb5

(there is an unresolved information-disclosure vulnerability affecting the telnet client included in v1.4.2nb2, but it is better than the package version which I'm running currently, which has a DoS and remote-code-execution vulnerabilities in addition to the information-disclosure problem!).

I worked around by cd-ing into the appropriate work directories, making the appropriate objects by hand, then returning to the package's top level and restarting the make.

cd work/krb5-1.4.2/src/kadmin/cli
mv getdate.c
make getdate.o
cd -

According to the documentation, to get traditional yacc behaviour out of bison, one is supposed to run "bison -y", "bison --yacc".