non-POSIX use in yacc with getdate.y

Osipov, Michael michael.osipov at siemens.com
Wed Sep 26 08:28:13 EDT 2018



Am 2018-09-25 um 19:25 schrieb Robbie Harwood:
> "Osipov, Michael" <michael.osipov at siemens.com> writes:
> 
>> Hi folks,
>>
>> I have recently compiled MIT Kerberos 1.16.1 on HP-UX and yacc failed with:
>>
>>> "./kadmin/cli/getdate.y", line 180: fatal error: invalid escape, or illegal reserved word: expect
>>
>> Change introduced in
>> https://github.com/krb5/krb5/commit/28fd0a934cdc7b3b42ce213c6d334d4edf1ab591#diff-db7f4e6f3883dd26b97f7b3e10697846R180.
>>
>> I contacted HPE about this and it turned out that their yacc
>> implementation does not support extensions as the GNU or BSD
>> counterparts do.
>>
>> I'd like to have this fixed somehow and there are several ways to do this:
>>
>> * Remove this line manually before compiling on the platform which does
>> not support this "%expect" extension
>> * Revert the commit and live with the verbose output
>> * Test for this extension in the configure.ac script
>> * Require GNU bison if yacc is POSIX only. Note I am reluctant to this
>> because this is merely one line for less verbose output?
>>
>> Any comments from the devs?
> 
> As the author of the change, it wasn't my intent to mandate GNU bison
> here.  Platform checking/configure tests seem like overkill for just a
> warning.  The intent was to get the codebase to be warning-free on clang
> on Travis to help with code reviews.

Hi Robbie,

I never assumed anything else ;-) Bison also has a YACC mode with '-y', 
but I do not know whether extensions will be disabled.

> I've opened https://github.com/krb5/krb5/pull/849 to revert this change.

Looks promising, but I would leave the %expect as a comment and add a 
comment above why we cannot enable this.

Thank you for the quick response,

Michael


More information about the Kerberos mailing list