[Bug 293246] math/symengine: fix build with libc++ 21

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 17 Feb 2026 19:37:57 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293246

            Bug ID: 293246
           Summary: math/symengine: fix build with libc++ 21
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: yuri@freebsd.org
          Reporter: dim@FreeBSD.org
             Flags: maintainer-feedback?(yuri@freebsd.org)
          Assignee: yuri@freebsd.org

With libc++ 21 math/symengine fails to build, with errors similar to:

    In file included from
   
/wrkdirs/usr/ports/math/symengine/work/symengine-0.14.0/cmake/checkcxx11.cpp:1:
    In file included from /usr/include/c++/v1/unordered_map:589:
    In file included from /usr/include/c++/v1/__algorithm/is_permutation.h:13:
    In file included from /usr/include/c++/v1/__algorithm/comp.h:14:
    In file included from /usr/include/c++/v1/__type_traits/is_integral.h:14:
    /usr/include/c++/v1/__type_traits/remove_cv.h:22:32: error: unknown type
    name '__remove_cv'; did you mean 'remove_cv'?
      using type _LIBCPP_NODEBUG = __remove_cv(_Tp);
                                   ^
    /usr/include/c++/v1/__type_traits/remove_cv.h:21:35: note: 'remove_cv'
    declared here
    struct _LIBCPP_NO_SPECIALIZATIONS remove_cv {
                                      ^

This is because libc++ 21 does not officially support clang < 19, and
even though I added quite a few patches to libc++ 21 to non-officially
support older gcc and clang versions, I never managed to make it support
clang 15 or gcc 12.

It seems that either removing the USES=llvm:min=15,max=15 fixes this
problem, as it then compiles with the default llvm 19. Alternatively,
the minimum version could be bumped to at least 16.

-- 
You are receiving this mail because:
You are the assignee for the bug.