byacc package does not have support for %destructor

Bug #1776270 reported by Rici Lake on 2018-06-11
This bug affects 1 person
Affects Status Importance Assigned to Milestone
byacc (Ubuntu)

Bug Description

This bug is the result of a StackOverflow question [1], in which the poster attempted to use the Ubuntu byacc package in order to manually build libxkbcommon [2]. The libxkbcommon source includes a version of the xkbcomp utility which in turn includes a grammar description (in src/xkbcomp/parser.y) which claims to be compatible with both bison and byacc. That grammar description uses custom %destructors, a bison extension also available in recent versions of byacc.

According to the byacc package Changelog [3], the package was modified on 10 May 2014 (version 20140422-1) to enable the btyacc extension. This extension is required to support the %destructor declarations. The extension is enabled by specifying --enable-btyacc on the ./configure command.

However, the subsequent package version 20140715-1 does not enable that extension. See below.



    $ dpkg -l byacc
    | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
    |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
    ||/ Name Version Architecture Description
    +++-===========================-==================-==================- ===========================================================
    ii byacc 20140715-1 amd64 public domain Berkeley LALR Yacc parser generator

    $ /usr/bin/byacc -B
    /usr/bin/byacc: w - -B flag unsupported, reconfigure with --enable-btyacc

Rici Lake (ricilake) wrote :

I also verified that this problem also applies to the latest (bionic+cosmic/amd64) build, 20140715-1build1.

I believe the problem is in the debian/rules file at line 32:

    30 dh_auto_configure -- $(shell dpkg-buildflags --export=configure) \
    31 --program-transform-name='s,^,b,' \
    32 --enable-byacc

The last line should read: --enable-btyacc

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers