non-POSIX use in yacc with getdate.y

Osipov, Michael michael.osipov at siemens.com
Thu Sep 27 03:53:54 EDT 2018



Am 2018-09-26 um 18:43 schrieb Robbie Harwood:
> "Osipov, Michael" <michael.osipov at siemens.com> writes:
> 
>> 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.
> 
> Sounds reasonable; updated.

The commit looks perfect, thank you guys!


More information about the Kerberos mailing list