Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 880133 - dev-cpp/muParser-2.3.3-r1: USE="wide" causes multiple build failures
Summary: dev-cpp/muParser-2.3.3-r1: USE="wide" causes multiple build failures
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Science Mathematics related packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 877107
  Show dependency tree
 
Reported: 2022-11-07 07:28 UTC by Fat-Zer
Modified: 2023-01-23 02:11 UTC (History)
0 users

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 Fat-Zer 2022-11-07 07:28:52 UTC
Emergeing dev-cpp/muParser-2.3.3-r1 with USE="wide" causes builds of several downstream packages to fail. 

As muParser's documentation[1] suggests, building muParser lib with `-DENABLE_WIDE_CHAR=ON` results in creation of wide character-only version of the 
library, which is incapable of linking with binaries designed for non-wide character version.

A try to build such binaries will result it errors like: 

    undefined reference to `mu::ParserBase::SetExpr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)`

For an example of a complete build.log see Bug #877107.

Affected packages (at least):

- media-gfx/librecad (Bug #877107)
- games-server/monopd-0.10.2-r1
- media-gfx/meshlab-2020.12-r1
- sci-vizualization/scidavis

* Probably some others, I haven't tested all the dependent .

[1]: https://beltoforion.de/en/muparser/building.php

Reproducible: Always

Steps to Reproduce:
1. USE="wide" emerge =dev-cpp/muParser-2.3.3-r1 
2. try to merge one of affected packages linking to it

Actual Results:  
Build failures with undefined reference

Expected Results:  
Build succeeds
Comment 1 Fat-Zer 2022-11-07 07:30:55 UTC
As a resolution I would suggest to mask the USE.
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-11-08 06:27:47 UTC
Yeah, it changes ABI and there's no way to correctly handle that with subslots right now (bug 680496).

Does anything need it on? If not, we should mask or remove the flag.
Comment 3 Larry the Git Cow gentoo-dev 2023-01-23 02:11:15 UTC
The bug has been closed via the following commit(s):

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

commit f191cdee2c217ad2a0af7f37459c438614650472
Author:     Matthias Maier <tamiko@gentoo.org>
AuthorDate: 2023-01-23 02:06:16 +0000
Commit:     Matthias Maier <tamiko@gentoo.org>
CommitDate: 2023-01-23 02:06:16 +0000

    dev-cpp/muParser: Remove USE=wchar
    
    Unfortunately, this innocent looking USE flag incurs a silent ABI change
    that let's all its reverse dependencies fail. A number of the reverse
    dependencies of muParser already set muParser[-wchar] explicitly and the
    rest is probably also not compiling.
    
    Thus, remove the use flag.
    
    If someone wants to have wchar_t support in muParser then a proper
    solution would be to slot the package and install both ABI variants
    simultaneously.
    
    Closes: https://bugs.gentoo.org/880133
    Signed-off-by: Matthias Maier <tamiko@gentoo.org>

 dev-cpp/muParser/metadata.xml                                          | 3 ---
 .../muParser/{muParser-2.3.3-r1.ebuild => muParser-2.3.3-r2.ebuild}    | 3 +--
 dev-cpp/muParser/{muParser-2.3.4.ebuild => muParser-2.3.4-r1.ebuild}   | 3 +--
 3 files changed, 2 insertions(+), 7 deletions(-)