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
As a resolution I would suggest to mask the USE.
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.
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(-)