Open
Description
Version
24.0.0
Platform
Windows 11 x86_64
Subsystem
Windows 11
PowerShell
$ python --version
Python 3.10.6
$ clang --version
clang version 19.1.1
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin
git clone "https://github.com/nodejs/node" --branch "v24.0.0"
cd node
.\vcbuild.bat # works
.\vcbuild.bat dll # does not work
.\vcbuild.bat x64 dll openssl-no-asm # also does not work
$ .\vcbuild.bat dll
[vcvarsall.bat] Environment initialized for: 'x64'
Found MSVS version 17.0
Found Clang version 19.1.1
configure --shared --dest-cpu=x64 --openssl-no-asm --clang-cl=19.1.1
Node.js configure: Found Python 3.10.6...
How often does it reproduce? Is there a required condition?
Every time
What is the expected behavior? Why is that the expected behavior?
To produce a libnode.dll
file
What do you see instead?
Build error
C:\Users\dalsh\Development\alshdavid\libnode-prebuilt\node\deps\v8\include\v8-primitive.h(203,3):
message : 'Write' has been explicitly marked deprecated here [C:\Users\dalsh\Development\alshdav
id\libnode-prebuilt\node\libnode.vcxproj]
C:\Users\dalsh\Development\alshdavid\libnode-prebuilt\node\deps\v8\include\v8config.h(608,35): me
ssage : expanded from macro 'V8_DEPRECATED' [C:\Users\dalsh\Development\alshdavid\libnode-prebuil
t\node\libnode.vcxproj]
lld-link : error : undefined symbol: public: __cdecl node::ThreadsafeCopyOnWrite<class std::map<c
lass std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>, class no
de::UnionBytes, struct std::less<class std::basic_string<char, struct std::char_traits<char>, cla
ss std::allocator<char>>>, class std::allocator<struct std::pair<class std::basic_string<char, st
ruct std::char_traits<char>, class std::allocator<char>> const, class node::UnionBytes>>>>::Read:
:Read(class node::ThreadsafeCopyOnWrite<class std::map<class std::basic_string<char, struct std::
char_traits<char>, class std::allocator<char>>, class node::UnionBytes, struct std::less<class st
d::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>, class std::all
ocator<struct std::pair<class std::basic_string<char, struct std::char_traits<char>, class std::a
llocator<char>> const, class node::UnionBytes>>>> const *) [C:\Users\dalsh\Development\alshdavid\
libnode-prebuilt\node\libnode.vcxproj]
>>> referenced by C:\Users\dalsh\Development\alshdavid\libnode-prebuilt\node\src\node_builtins.
h:131
>>> out\Release\obj\libnode\\tools\msvs\pch\node_pch.obj:(public: <auto> __cdecl
node::builtins::BuiltinLoader::GetBuiltinIds(void) const)
lld-link : error : undefined symbol: public: class std::map<class std::basic_string<char, struct
std::char_traits<char>, class std::allocator<char>>, class node::UnionBytes, struct std::less<cla
ss std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>, class std
::allocator<struct std::pair<class std::basic_string<char, struct std::char_traits<char>, class s
td::allocator<char>> const, class node::UnionBytes>>> const & __cdecl node::ThreadsafeCopyOnWrite
<class std::map<class std::basic_string<char, struct std::char_traits<char>, class std::allocator
<char>>, class node::UnionBytes, struct std::less<class std::basic_string<char, struct std::char_
traits<char>, class std::allocator<char>>>, class std::allocator<struct std::pair<class std::basi
c_string<char, struct std::char_traits<char>, class std::allocator<char>> const, class node::Unio
nBytes>>>>::Read::operator*(void) const [C:\Users\dalsh\Development\alshdavid\libnode-prebuilt\no
de\libnode.vcxproj]
>>> referenced by C:\Users\dalsh\Development\alshdavid\libnode-prebuilt\node\src\node_builtins.
h:131
>>> out\Release\obj\libnode\\tools\msvs\pch\node_pch.obj:(public: <auto> __cdecl
node::builtins::BuiltinLoader::GetBuiltinIds(void) const)
Additional information
I have a repo that create prebuilt libnode
binaries and the pipeline fails on Windows x64 and MacOS x64
https://github.com/alshdavid/libnode-prebuilt/actions/runs/14870045413/job/41756186494