Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 740754 - sys-devel/bison: automagic sys-devel/gettext (libtextstyle) dependency (was: media-libs/gstreamer-1.16.2: undefined symbol: styled_ostream_set_hyperlink)
Summary: sys-devel/bison: automagic sys-devel/gettext (libtextstyle) dependency (was: ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: bison-3.7
  Show dependency tree
 
Reported: 2020-09-06 22:49 UTC by Thomas Deutschmann (RETIRED)
Modified: 2024-02-20 18:55 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Deutschmann (RETIRED) gentoo-dev 2020-09-06 22:49:48 UTC
> /usr/bin/bison -d -v -ppriv_gst_parse_yy /var/tmp/portage/media-libs/gstreamer-1.16.2/work/gstreamer-1.16.2/gst/parse/grammar.y -o grammar.tab.c && \
> mv grammar.tab.c grammar.tab_tmp.c && \
> echo '#ifdef HAVE_CONFIG_H' > grammar.tab_tmp2.c && \
> echo '#include <config.h>' >> grammar.tab_tmp2.c && \
> echo '#endif' >> grammar.tab_tmp2.c && \
> cat grammar.tab_tmp.c >> grammar.tab_tmp2.c && \
> rm grammar.tab_tmp.c && \
> mv grammar.tab_tmp2.c grammar.tab.c
> /var/tmp/portage/media-libs/gstreamer-1.16.2/work/gstreamer-1.16.2/gst/parse/grammar.y:799.1-12: warning: deprecated directive: ‘%pure-parser’, use ‘%define api.pure’ [/usr/bin/bison: symbol lookup error: /usr/bin/bison: undefined symbol: styled_ostream_set_hyperlink
> make[4]: *** [Makefile:842: grammar.tab.h] Error 127
> make[4]: Leaving directory '/var/tmp/portage/media-libs/gstreamer-1.16.2/work/gstreamer-1.16.2-abi_x86_32.x86/gst/parse'
> make[3]: *** [Makefile:1813: all-recursive] Error 1
> make[3]: Leaving directory '/var/tmp/portage/media-libs/gstreamer-1.16.2/work/gstreamer-1.16.2-abi_x86_32.x86/gst'
> make[2]: *** [Makefile:1011: all] Error 2
> make[2]: Leaving directory '/var/tmp/portage/media-libs/gstreamer-1.16.2/work/gstreamer-1.16.2-abi_x86_32.x86/gst'
> make[1]: *** [Makefile:742: all-recursive] Error 1
> make[1]: Leaving directory '/var/tmp/portage/media-libs/gstreamer-1.16.2/work/gstreamer-1.16.2-abi_x86_32.x86'
> make: *** [Makefile:648: all] Error 2
>  * ERROR: media-libs/gstreamer-1.16.2::gentoo failed (compile phase):
>  *   


# bison -V
bison (GNU Bison) 3.7.1
Comment 1 Ionen Wolkens gentoo-dev 2020-09-07 00:42:47 UTC
I can only reproduce if I downgrade gettext to 0.20.2, works with 0.21

bison-3.7.1 already has a BDEPEND for >=0.21 gettext, but that didn't stop me from downgrading and reproducing the issue during RDEPEND as it uses the libtextstyle.so library
Comment 2 Ionen Wolkens gentoo-dev 2020-09-07 00:49:57 UTC
To be clearer, this isn't a gstreamer bug, but should rather be forwarded to bison to add appropriate RDEPEND.
Comment 3 Thomas Deutschmann (RETIRED) gentoo-dev 2020-09-07 15:39:39 UTC
Right, was caused by a manually downgrade of gettext to test something else for a different bug.
Comment 4 Ionen Wolkens gentoo-dev 2020-09-07 16:10:26 UTC
That bison uses a shared library that it doesn't have in RDEPEND (and needs a specific version for) still felt like a bug to me though, and could be a problem with binhosts. Portage would've complained and stopped this otherwise.
Comment 5 Larry the Git Cow gentoo-dev 2020-09-07 20:51:42 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b83990fef62d8b50fc1cc30aac7cbbdde9cdfa48

commit b83990fef62d8b50fc1cc30aac7cbbdde9cdfa48
Author:     Lars Wendler <polynomial-c@gentoo.org>
AuthorDate: 2020-09-07 20:51:22 +0000
Commit:     Lars Wendler <polynomial-c@gentoo.org>
CommitDate: 2020-09-07 20:51:38 +0000

    sys-devel/bison: Moved sys-devel/gettext to (R)DEPEND.
    
    Bug: https://bugs.gentoo.org/740754
    Package-Manager: Portage-3.0.5, Repoman-3.0.1
    Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>

 sys-devel/bison/{bison-3.7.1.ebuild => bison-3.7.1-r1.ebuild} | 10 +++++++---
 sys-devel/bison/bison-3.7.2.ebuild                            | 10 +++++++---
 2 files changed, 14 insertions(+), 6 deletions(-)
Comment 6 Raul Rangel 2024-02-16 18:09:43 UTC
Hrmm, libtextstyle seems to be optional for bison:
```
## Colored diagnostics                                                                              
As an experimental feature, diagnostics are now colored, controlled by the                          
`--color` and `--style` options.                                                                    
                                                                                                    
To use them, install the libtextstyle library, 0.20.5 or newer, before                              
configuring Bison.  It is available from https://alpha.gnu.org/gnu/gettext/,                        
for instance https://alpha.gnu.org/gnu/gettext/libtextstyle-0.20.5.tar.gz,                          
or as part of Gettext 0.21 or newer, for instance                                                   
https://ftp.gnu.org/gnu/gettext/gettext-0.21.tar.gz.     
```

I just tried building without gettext installed:

```
ephemeral / # lddtree /var/tmp/portage/sys-devel/bison-3.8.2-r2/image/usr/bin/bison 
/var/tmp/portage/sys-devel/bison-3.8.2-r2/image/usr/bin/bison (interpreter => /lib64/ld-linux-x86-64.so.2)
    libc.so.6 => /lib64/libc.so.6
```

and with gettext installed:

```
ephemeral / # lddtree /var/tmp/portage/sys-devel/bison-3.8.2-r2/image/usr/bin/bison 
/var/tmp/portage/sys-devel/bison-3.8.2-r2/image/usr/bin/bison (interpreter => /lib64/ld-linux-x86-64.so.2)
    libtextstyle.so.0 => /usr/lib64/libtextstyle.so.0
        libm.so.6 => /lib64/libm.so.6
    libc.so.6 => /lib64/libc.so.6
```

It looks like the proper fix is to guard this behind a USE flag.
Comment 7 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-02-17 01:57:50 UTC
Right, but someone has to do the build system work to add a proper toggle for it.
Comment 8 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-02-17 02:00:04 UTC
(In reply to Sam James from comment #7)
> Right, but someone has to do the build system work to add a proper toggle
> for it.

Note that an option (or cache var at least) may exist already, I just haven't looked.
Comment 9 Raul Rangel 2024-02-17 19:34:57 UTC
I pinged the mailing list: https://lists.gnu.org/archive/html/bug-bison/2024-02/msg00000.html

I also gave it a shot, but my autoconf skills are very primitive :/
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-02-18 06:35:23 UTC
(In reply to Raul Rangel from comment #9)
> I pinged the mailing list:
> https://lists.gnu.org/archive/html/bug-bison/2024-02/msg00000.html
> 
> I also gave it a shot, but my autoconf skills are very primitive :/

Would you mind filing a new Gentoo bug for it (and reference this one) and I can try to look at some point?
Comment 11 Raul Rangel 2024-02-20 18:55:55 UTC
(In reply to Sam James from comment #10)
> (In reply to Raul Rangel from comment #9)
> > I pinged the mailing list:
> > https://lists.gnu.org/archive/html/bug-bison/2024-02/msg00000.html
> > 
> > I also gave it a shot, but my autoconf skills are very primitive :/
> 
> Would you mind filing a new Gentoo bug for it (and reference this one) and I
> can try to look at some point?

I filed https://bugs.gentoo.org/925100. Thanks!