Skip to content

Unable to build Node 23.11 with LLVM 15, Clang 15 and libc++ 15 #57822

@etna

Description

@etna

Hi, attempting to build Node 23.11 with LLVM 15, Clang 15 and libc++ 15 returns the following error:

[2621/2841] CXX obj/gen/libnode.node_javascript.o
FAILED: obj/gen/libnode.node_javascript.o 
In file included from gen/node_javascript.cc:2:
In file included from ../../src/env-inl.h:27:
In file included from ../../src/aliased_buffer-inl.h:7:
In file included from ../../src/memory_tracker-inl.h:7:
In file included from ../../src/util-inl.h:33:
../../src/util.h:743:24: error: no template named 'elements_view' in namespace 'std::ranges'
    const std::ranges::elements_view<T, U>& vec,
          ~~~~~~~~~~~~~^
In file included from gen/node_javascript.cc:2:
In file included from ../../src/env-inl.h:27:
In file included from ../../src/aliased_buffer-inl.h:7:
In file included from ../../src/memory_tracker-inl.h:7:
../../src/util-inl.h:385:56: error: no template named 'elements_view' in namespace 'std::ranges'
                                    const std::ranges::elements_view<T, U>& vec,
                                          ~~~~~~~~~~~~~^
In file included from gen/node_javascript.cc:2:
In file included from ../../src/env-inl.h:29:
In file included from ../../src/env.h:40:
../../src/node_builtins.h:131:24: error: no member named 'keys' in namespace 'std::__1::ranges::views'
    return std::views::keys(*source_.read());
           ~~~~~~~~~~~~^
3 errors generated.
[2622/2841] CXX obj/deps/ada/ada.ada.o

I thought it was a matter of libc++ 15 not supporting std::ranges and so appended -fexperimental-library to Clang but these errors still persist.

Able to advise, please? Thank you.
Note: last succeessful build version of Node with Clang 15 and libc++15 is 23.6.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateIssues and PRs that are duplicates of other issues or PRs.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions