laverdet / node-fibers

Fiber/coroutine support for v8 and node.
MIT License
3.56k stars 224 forks source link

C++ compile errors trying to install fibers @3.1.1 #452

Open roblucas opened 3 years ago

roblucas commented 3 years ago

I've just installed a new laptop with a fresh copy of all tools (node, npm, etc). I've tried to run npm install for my work software project and am getting C++ compile errors while trying to install fibers @3.1.1 - I don't know what transitive dependency is trying to use this. Has not been a problem before on my old laptop so I don't know if something has gone wrong with the tooling installation,

I've tried reinstalling npm and followed the setup steps on the node-gyp page. Seems like there are syntax errors in the files but they get deleted after the errors show so I can't explore. "npm install fibers" gets the same error

Versions: fibers: npm = 6.14.13 node = v14.17.0 visual studio build tools 2017 - 15.9.36 node-gyp=8.1.0

First part of output:

fibers@3.1.1 install C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers node build.js || nodejs build.js

C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js" rebuild --release ) else (node "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild --release ) Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch. fibers.cc coroutine.cc win_delay_load_hook.cc c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(68): error C2143: syntax error: missing ';' before '<' [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibe rs.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(68): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\Workspace\QuotaTerritory\git\ter ritory-ui\node_modules\fibers\build\fibers.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(68): error C2143: syntax error: missing ';' before '{' [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibe rs.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(68): error C2447: '{': missing function header (old-style formal list?) [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\ fibers\build\fibers.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(72): error C2143: syntax error: missing ';' before '<' [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibe rs.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(72): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\Workspace\QuotaTerritory\git\ter ritory-ui\node_modules\fibers\build\fibers.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(72): error C2086: 'int uni::Handle': redefinition [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibers.vc xproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(68): note: see declaration of 'uni::Handle' c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(72): error C2143: syntax error: missing ';' before '{' [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibe rs.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(72): error C2447: '{': missing function header (old-style formal list?) [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\ fibers\build\fibers.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(94): error C2143: syntax error: missing ';' before '<' [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibe rs.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(94): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\Workspace\QuotaTerritory\git\ter ritory-ui\node_modules\fibers\build\fibers.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(94): error C2086: 'int uni::Handle': redefinition [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibers.vc xproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(68): note: see declaration of 'uni::Handle' c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(94): error C2143: syntax error: missing ';' before '{' [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibe rs.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(94): error C2447: '{': missing function header (old-style formal list?) [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\ fibers\build\fibers.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(104): error C2143: syntax error: missing ';' before '<' [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fib ers.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(104): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\Workspace\QuotaTerritory\git\te rritory-ui\node_modules\fibers\build\fibers.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(104): error C2086: 'int uni::Handle': redefinition [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibers.v cxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(68): note: see declaration of 'uni::Handle' c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(104): error C2143: syntax error: missing ';' before '{' [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fib ers.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(104): error C2447: '{': missing function header (old-style formal list?) [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules \fibers\build\fibers.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(114): error C2061: syntax error: identifier 'Handle' [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibers .vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(115): error C2065: 'context': undeclared identifier [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibers. vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(127): error C2061: syntax error: identifier 'Handle' [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibers .vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(128): error C2065: 'context': undeclared identifier [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibers. vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(128): error C2039: 'NewLatin1String': is not a member of 'uni' [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\bu ild\fibers.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(23): note: see declaration of 'uni' c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(128): error C3861: 'NewLatin1String': identifier not found [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\ fibers.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(149): error C2061: syntax error: identifier 'Handle' [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibers .vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(162): error C2065: 'handle': undeclared identifier [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibers.v cxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(162): error C2062: type 'int' unexpected [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibers.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(162): error C2143: syntax error: missing ';' before '{' [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fib ers.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(162): error C2447: '{': missing function header (old-style formal list?) [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules \fibers\build\fibers.vcxproj] c:\workspace\quotaterritory\git\territory-ui\node_modules\fibers\src\fibers.cc(166): error C2065: 'handle': undeclared identifier [C:\Workspace\QuotaTerritory\git\territory-ui\node_modules\fibers\build\fibers.v cxproj]

towards the bottom of the error output I get several of the following: c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\ostream(508): note: could be 'std::basic_ostream<char,std::char_traits> &std::basic_ostream<char,std::cha r_traits>::operator <<(std::basic_streambuf<char,std::char_traits> )' (compiling source file ..\src\fibers.cc) c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\ostream(480): note: or 'std::basic_ostream<char,std::char_traits> &std::basic_ostream<char,std::cha r_traits>::operator <<(const void )' (compiling source file ..\src\fibers.cc) c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\ostream(460): note: or 'std::basic_ostream<char,std::char_traits> &std::basic_ostream<char,std::cha r_traits>::operator <<(long double)' (compiling source file ..\src\fibers.cc)

robrez commented 2 years ago

Same frustrating problem here, except w/ visual studio 2019

andrewslavin commented 2 years ago

I'm having the same issue when running npm install fibers. Windows 10, node 14.17.6, npm 6.14.15. Can someone help please?!

tlecoz commented 1 year ago

same here (win 11 64bit , nodejs v18.16.0)

antoine10245 commented 1 year ago

+1