/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
[7/424] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestP4.cxx.o
FAILED: Source/CMakeFiles/CTestLib.dir/CTest/cmCTestP4.cxx.o
/home/cristian/Projects/cosmopolitan/repo/cosmocc/bin/cosmoc++ -DCURL_STATICLIB -DLIBARCHIVE_STATIC -I/home/cristian/Projects/cmake/build-cosmo/Utilities -I/home/cristian/Projects/cmake/repo/Source/CTest -I/home/cristian/Projects/cmake/build-cosmo/Source -I/home/cristian/Projects/cmake/repo/Source -I/home/cristian/Projects/cmake/repo/Source/LexerParser -isystem /home/cristian/Projects/cmake/repo/Utilities/std -isystem /home/cristian/Projects/cmake/repo/Utilities -fexceptions -frtti -Wnon-virtual-dtor -Wcast-align -Wchar-subscripts -Wall -W -Wshadow -Wpointer-arith -Wformat-security -Wundef -O3 -DNDEBUG -std=c++17 -MD -MT Source/CMakeFiles/CTestLib.dir/CTest/cmCTestP4.cxx.o -MF Source/CMakeFiles/CTestLib.dir/CTest/cmCTestP4.cxx.o.d -o Source/CMakeFiles/CTestLib.dir/CTest/cmCTestP4.cxx.o -c /home/cristian/Projects/cmake/repo/Source/CTest/cmCTestP4.cxx
In file included from /home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:58,
                 from /home/cristian/Projects/cmake/repo/Utilities/cm3p/uv.h:10,
                 from /home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.h:16,
                 from /home/cristian/Projects/cmake/repo/Source/cmProcessTools.h:13,
                 from /home/cristian/Projects/cmake/repo/Source/CTest/cmCTestVC.h:12,
                 from /home/cristian/Projects/cmake/repo/Source/CTest/cmCTestGlobalVC.h:13,
                 from /home/cristian/Projects/cmake/repo/Source/CTest/cmCTestP4.h:12,
                 from /home/cristian/Projects/cmake/repo/Source/CTest/cmCTestP4.cxx:3:
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h: In function 'int uv_tty_set_mode(uv_tty_t*, int)':
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
[8/424] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestSVN.cxx.o
FAILED: Source/CMakeFiles/CTestLib.dir/CTest/cmCTestSVN.cxx.o
/home/cristian/Projects/cosmopolitan/repo/cosmocc/bin/cosmoc++ -DCURL_STATICLIB -DLIBARCHIVE_STATIC -I/home/cristian/Projects/cmake/build-cosmo/Utilities -I/home/cristian/Projects/cmake/repo/Source/CTest -I/home/cristian/Projects/cmake/build-cosmo/Source -I/home/cristian/Projects/cmake/repo/Source -I/home/cristian/Projects/cmake/repo/Source/LexerParser -isystem /home/cristian/Projects/cmake/repo/Utilities/std -isystem /home/cristian/Projects/cmake/repo/Utilities -fexceptions -frtti -Wnon-virtual-dtor -Wcast-align -Wchar-subscripts -Wall -W -Wshadow -Wpointer-arith -Wformat-security -Wundef -O3 -DNDEBUG -std=c++17 -MD -MT Source/CMakeFiles/CTestLib.dir/CTest/cmCTestSVN.cxx.o -MF Source/CMakeFiles/CTestLib.dir/CTest/cmCTestSVN.cxx.o.d -o Source/CMakeFiles/CTestLib.dir/CTest/cmCTestSVN.cxx.o -c /home/cristian/Projects/cmake/repo/Source/CTest/cmCTestSVN.cxx
In file included from /home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:58,
                 from /home/cristian/Projects/cmake/repo/Utilities/cm3p/uv.h:10,
                 from /home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.h:16,
                 from /home/cristian/Projects/cmake/repo/Source/cmProcessTools.h:13,
                 from /home/cristian/Projects/cmake/repo/Source/CTest/cmCTestVC.h:12,
                 from /home/cristian/Projects/cmake/repo/Source/CTest/cmCTestGlobalVC.h:13,
                 from /home/cristian/Projects/cmake/repo/Source/CTest/cmCTestSVN.h:12,
                 from /home/cristian/Projects/cmake/repo/Source/CTest/cmCTestSVN.cxx:3:
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h: In function 'int uv_tty_set_mode(uv_tty_t*, int)':
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
[9/424] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestGIT.cxx.o
FAILED: Source/CMakeFiles/CTestLib.dir/CTest/cmCTestGIT.cxx.o
/home/cristian/Projects/cosmopolitan/repo/cosmocc/bin/cosmoc++ -DCURL_STATICLIB -DLIBARCHIVE_STATIC -I/home/cristian/Projects/cmake/build-cosmo/Utilities -I/home/cristian/Projects/cmake/repo/Source/CTest -I/home/cristian/Projects/cmake/build-cosmo/Source -I/home/cristian/Projects/cmake/repo/Source -I/home/cristian/Projects/cmake/repo/Source/LexerParser -isystem /home/cristian/Projects/cmake/repo/Utilities/std -isystem /home/cristian/Projects/cmake/repo/Utilities -fexceptions -frtti -Wnon-virtual-dtor -Wcast-align -Wchar-subscripts -Wall -W -Wshadow -Wpointer-arith -Wformat-security -Wundef -O3 -DNDEBUG -std=c++17 -MD -MT Source/CMakeFiles/CTestLib.dir/CTest/cmCTestGIT.cxx.o -MF Source/CMakeFiles/CTestLib.dir/CTest/cmCTestGIT.cxx.o.d -o Source/CMakeFiles/CTestLib.dir/CTest/cmCTestGIT.cxx.o -c /home/cristian/Projects/cmake/repo/Source/CTest/cmCTestGIT.cxx
In file included from /home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:58,
                 from /home/cristian/Projects/cmake/repo/Utilities/cm3p/uv.h:10,
                 from /home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.h:16,
                 from /home/cristian/Projects/cmake/repo/Source/cmProcessTools.h:13,
                 from /home/cristian/Projects/cmake/repo/Source/CTest/cmCTestVC.h:12,
                 from /home/cristian/Projects/cmake/repo/Source/CTest/cmCTestGlobalVC.h:13,
                 from /home/cristian/Projects/cmake/repo/Source/CTest/cmCTestGIT.h:10,
                 from /home/cristian/Projects/cmake/repo/Source/CTest/cmCTestGIT.cxx:3:
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h: In function 'int uv_tty_set_mode(uv_tty_t*, int)':
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
[10/424] Building CXX object Source/CMakeFiles/CMakeLib.dir/cmEvaluatedTargetProperty.cxx.o
FAILED: Source/CMakeFiles/CMakeLib.dir/cmEvaluatedTargetProperty.cxx.o
/home/cristian/Projects/cosmopolitan/repo/cosmocc/bin/cosmoc++ -DCURL_STATICLIB -DLIBARCHIVE_STATIC -I/home/cristian/Projects/cmake/build-cosmo/Utilities -I/home/cristian/Projects/cmake/build-cosmo/Source -I/home/cristian/Projects/cmake/repo/Source -I/home/cristian/Projects/cmake/repo/Source/LexerParser -isystem /home/cristian/Projects/cmake/repo/Utilities/std -isystem /home/cristian/Projects/cmake/repo/Utilities -fexceptions -frtti -Wnon-virtual-dtor -Wcast-align -Wchar-subscripts -Wall -W -Wshadow -Wpointer-arith -Wformat-security -Wundef -O3 -DNDEBUG -std=c++17 -MD -MT Source/CMakeFiles/CMakeLib.dir/cmEvaluatedTargetProperty.cxx.o -MF Source/CMakeFiles/CMakeLib.dir/cmEvaluatedTargetProperty.cxx.o.d -o Source/CMakeFiles/CMakeLib.dir/cmEvaluatedTargetProperty.cxx.o -c /home/cristian/Projects/cmake/repo/Source/cmEvaluatedTargetProperty.cxx
In file included from /home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:58,
                 from /home/cristian/Projects/cmake/repo/Utilities/cm3p/uv.h:10,
                 from /home/cristian/Projects/cmake/repo/Source/cmSystemTools.h:21,
                 from /home/cristian/Projects/cmake/repo/Source/cmListFileCache.h:17,
                 from /home/cristian/Projects/cmake/repo/Source/cmLinkItem.h:16,
                 from /home/cristian/Projects/cmake/repo/Source/cmGeneratorTarget.h:21,
                 from /home/cristian/Projects/cmake/repo/Source/cmEvaluatedTargetProperty.h:9,
                 from /home/cristian/Projects/cmake/repo/Source/cmEvaluatedTargetProperty.cxx:3:
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h: In function 'int uv_tty_set_mode(uv_tty_t*, int)':
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:192:3: error: unable to substitute constant

  192 |   UV_ERRNO_MAP(XX)
      |   ^~~~~~~~~~~~

By applying the following patch, the errors above are gone.
diff --git a/Utilities/cmlibuv/include/uv.h b/Utilities/cmlibuv/include/uv.h
index 42e34467ef..16ff9bcc3c 100644
--- a/Utilities/cmlibuv/include/uv.h
+++ b/Utilities/cmlibuv/include/uv.h
@@ -188,7 +188,7 @@ extern "C" {
   XX(RANDOM, random)                                                          \

 typedef enum {
-#define XX(code, _) UV_ ## code = UV__ ## code,
+#define XX(code, not_used) UV_ ## code = UV__ ## code,
   UV_ERRNO_MAP(XX)
 #undef XX
   UV_ERRNO_MAX = UV__EOF - 1
diff --git a/Utilities/cmlibuv/include/uv/errno.h b/Utilities/cmlibuv/include/uv/errno.h
index 71906b3f5e..87e18ab6aa 100644
--- a/Utilities/cmlibuv/include/uv/errno.h
+++ b/Utilities/cmlibuv/include/uv/errno.h
@@ -50,355 +50,355 @@
 /* Only map to the system errno on non-Windows platforms. It's apparently
  * a fairly common practice for Windows programmers to redefine errno codes.
  */
-#if defined(E2BIG) && !defined(_WIN32)
+#if defined(E2BIG) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__E2BIG UV__ERR(E2BIG)
 #else
 # define UV__E2BIG (-4093)
 #endif

-#if defined(EACCES) && !defined(_WIN32)
+#if defined(EACCES) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EACCES UV__ERR(EACCES)
 #else
 # define UV__EACCES (-4092)
 #endif

-#if defined(EADDRINUSE) && !defined(_WIN32)
+#if defined(EADDRINUSE) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EADDRINUSE UV__ERR(EADDRINUSE)
 #else
 # define UV__EADDRINUSE (-4091)
 #endif

-#if defined(EADDRNOTAVAIL) && !defined(_WIN32)
+#if defined(EADDRNOTAVAIL) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EADDRNOTAVAIL UV__ERR(EADDRNOTAVAIL)
 #else
 # define UV__EADDRNOTAVAIL (-4090)
 #endif

-#if defined(EAFNOSUPPORT) && !defined(_WIN32)
+#if defined(EAFNOSUPPORT) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EAFNOSUPPORT UV__ERR(EAFNOSUPPORT)
 #else
 # define UV__EAFNOSUPPORT (-4089)
 #endif

-#if defined(EAGAIN) && !defined(_WIN32)
+#if defined(EAGAIN) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EAGAIN UV__ERR(EAGAIN)
 #else
 # define UV__EAGAIN (-4088)
 #endif

-#if defined(EALREADY) && !defined(_WIN32)
+#if defined(EALREADY) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EALREADY UV__ERR(EALREADY)
 #else
 # define UV__EALREADY (-4084)
 #endif

-#if defined(EBADF) && !defined(_WIN32)
+#if defined(EBADF) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EBADF UV__ERR(EBADF)
 #else
 # define UV__EBADF (-4083)
 #endif

-#if defined(EBUSY) && !defined(_WIN32)
+#if defined(EBUSY) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EBUSY UV__ERR(EBUSY)
 #else
 # define UV__EBUSY (-4082)
 #endif

-#if defined(ECANCELED) && !defined(_WIN32)
+#if defined(ECANCELED) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ECANCELED UV__ERR(ECANCELED)
 #else
 # define UV__ECANCELED (-4081)
 #endif

-#if defined(ECHARSET) && !defined(_WIN32)
+#if defined(ECHARSET) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ECHARSET UV__ERR(ECHARSET)
 #else
 # define UV__ECHARSET (-4080)
 #endif

-#if defined(ECONNABORTED) && !defined(_WIN32)
+#if defined(ECONNABORTED) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ECONNABORTED UV__ERR(ECONNABORTED)
 #else
 # define UV__ECONNABORTED (-4079)
 #endif

-#if defined(ECONNREFUSED) && !defined(_WIN32)
+#if defined(ECONNREFUSED) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ECONNREFUSED UV__ERR(ECONNREFUSED)
 #else
 # define UV__ECONNREFUSED (-4078)
 #endif

-#if defined(ECONNRESET) && !defined(_WIN32)
+#if defined(ECONNRESET) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ECONNRESET UV__ERR(ECONNRESET)
 #else
 # define UV__ECONNRESET (-4077)
 #endif

-#if defined(EDESTADDRREQ) && !defined(_WIN32)
+#if defined(EDESTADDRREQ) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EDESTADDRREQ UV__ERR(EDESTADDRREQ)
 #else
 # define UV__EDESTADDRREQ (-4076)
 #endif

-#if defined(EEXIST) && !defined(_WIN32)
+#if defined(EEXIST) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EEXIST UV__ERR(EEXIST)
 #else
 # define UV__EEXIST (-4075)
 #endif

-#if defined(EFAULT) && !defined(_WIN32)
+#if defined(EFAULT) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EFAULT UV__ERR(EFAULT)
 #else
 # define UV__EFAULT (-4074)
 #endif

-#if defined(EHOSTUNREACH) && !defined(_WIN32)
+#if defined(EHOSTUNREACH) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EHOSTUNREACH UV__ERR(EHOSTUNREACH)
 #else
 # define UV__EHOSTUNREACH (-4073)
 #endif

-#if defined(EINTR) && !defined(_WIN32)
+#if defined(EINTR) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EINTR UV__ERR(EINTR)
 #else
 # define UV__EINTR (-4072)
 #endif

-#if defined(EINVAL) && !defined(_WIN32)
+#if defined(EINVAL) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EINVAL UV__ERR(EINVAL)
 #else
 # define UV__EINVAL (-4071)
 #endif

-#if defined(EIO) && !defined(_WIN32)
+#if defined(EIO) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EIO UV__ERR(EIO)
 #else
 # define UV__EIO (-4070)
 #endif

-#if defined(EISCONN) && !defined(_WIN32)
+#if defined(EISCONN) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EISCONN UV__ERR(EISCONN)
 #else
 # define UV__EISCONN (-4069)
 #endif

-#if defined(EISDIR) && !defined(_WIN32)
+#if defined(EISDIR) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EISDIR UV__ERR(EISDIR)
 #else
 # define UV__EISDIR (-4068)
 #endif

-#if defined(ELOOP) && !defined(_WIN32)
+#if defined(ELOOP) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ELOOP UV__ERR(ELOOP)
 #else
 # define UV__ELOOP (-4067)
 #endif

-#if defined(EMFILE) && !defined(_WIN32)
+#if defined(EMFILE) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EMFILE UV__ERR(EMFILE)
 #else
 # define UV__EMFILE (-4066)
 #endif

-#if defined(EMSGSIZE) && !defined(_WIN32)
+#if defined(EMSGSIZE) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EMSGSIZE UV__ERR(EMSGSIZE)
 #else
 # define UV__EMSGSIZE (-4065)
 #endif

-#if defined(ENAMETOOLONG) && !defined(_WIN32)
+#if defined(ENAMETOOLONG) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENAMETOOLONG UV__ERR(ENAMETOOLONG)
 #else
 # define UV__ENAMETOOLONG (-4064)
 #endif

-#if defined(ENETDOWN) && !defined(_WIN32)
+#if defined(ENETDOWN) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENETDOWN UV__ERR(ENETDOWN)
 #else
 # define UV__ENETDOWN (-4063)
 #endif

-#if defined(ENETUNREACH) && !defined(_WIN32)
+#if defined(ENETUNREACH) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENETUNREACH UV__ERR(ENETUNREACH)
 #else
 # define UV__ENETUNREACH (-4062)
 #endif

-#if defined(ENFILE) && !defined(_WIN32)
+#if defined(ENFILE) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENFILE UV__ERR(ENFILE)
 #else
 # define UV__ENFILE (-4061)
 #endif

-#if defined(ENOBUFS) && !defined(_WIN32)
+#if defined(ENOBUFS) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENOBUFS UV__ERR(ENOBUFS)
 #else
 # define UV__ENOBUFS (-4060)
 #endif

-#if defined(ENODEV) && !defined(_WIN32)
+#if defined(ENODEV) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENODEV UV__ERR(ENODEV)
 #else
 # define UV__ENODEV (-4059)
 #endif

-#if defined(ENOENT) && !defined(_WIN32)
+#if defined(ENOENT) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENOENT UV__ERR(ENOENT)
 #else
 # define UV__ENOENT (-4058)
 #endif

-#if defined(ENOMEM) && !defined(_WIN32)
+#if defined(ENOMEM) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENOMEM UV__ERR(ENOMEM)
 #else
 # define UV__ENOMEM (-4057)
 #endif

-#if defined(ENONET) && !defined(_WIN32)
+#if defined(ENONET) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENONET UV__ERR(ENONET)
 #else
 # define UV__ENONET (-4056)
 #endif

-#if defined(ENOSPC) && !defined(_WIN32)
+#if defined(ENOSPC) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENOSPC UV__ERR(ENOSPC)
 #else
 # define UV__ENOSPC (-4055)
 #endif

-#if defined(ENOSYS) && !defined(_WIN32)
+#if defined(ENOSYS) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENOSYS UV__ERR(ENOSYS)
 #else
 # define UV__ENOSYS (-4054)
 #endif

-#if defined(ENOTCONN) && !defined(_WIN32)
+#if defined(ENOTCONN) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENOTCONN UV__ERR(ENOTCONN)
 #else
 # define UV__ENOTCONN (-4053)
 #endif

-#if defined(ENOTDIR) && !defined(_WIN32)
+#if defined(ENOTDIR) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENOTDIR UV__ERR(ENOTDIR)
 #else
 # define UV__ENOTDIR (-4052)
 #endif

-#if defined(ENOTEMPTY) && !defined(_WIN32)
+#if defined(ENOTEMPTY) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENOTEMPTY UV__ERR(ENOTEMPTY)
 #else
 # define UV__ENOTEMPTY (-4051)
 #endif

-#if defined(ENOTSOCK) && !defined(_WIN32)
+#if defined(ENOTSOCK) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENOTSOCK UV__ERR(ENOTSOCK)
 #else
 # define UV__ENOTSOCK (-4050)
 #endif

-#if defined(ENOTSUP) && !defined(_WIN32)
+#if defined(ENOTSUP) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENOTSUP UV__ERR(ENOTSUP)
 #else
 # define UV__ENOTSUP (-4049)
 #endif

-#if defined(EPERM) && !defined(_WIN32)
+#if defined(EPERM) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EPERM UV__ERR(EPERM)
 #else
 # define UV__EPERM (-4048)
 #endif

-#if defined(EPIPE) && !defined(_WIN32)
+#if defined(EPIPE) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EPIPE UV__ERR(EPIPE)
 #else
 # define UV__EPIPE (-4047)
 #endif

-#if defined(EPROTO) && !defined(_WIN32)
+#if defined(EPROTO) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EPROTO UV__ERR(EPROTO)
 #else
 # define UV__EPROTO (-4046)
 #endif

-#if defined(EPROTONOSUPPORT) && !defined(_WIN32)
+#if defined(EPROTONOSUPPORT) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EPROTONOSUPPORT UV__ERR(EPROTONOSUPPORT)
 #else
 # define UV__EPROTONOSUPPORT (-4045)
 #endif

-#if defined(EPROTOTYPE) && !defined(_WIN32)
+#if defined(EPROTOTYPE) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EPROTOTYPE UV__ERR(EPROTOTYPE)
 #else
 # define UV__EPROTOTYPE (-4044)
 #endif

-#if defined(EROFS) && !defined(_WIN32)
+#if defined(EROFS) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EROFS UV__ERR(EROFS)
 #else
 # define UV__EROFS (-4043)
 #endif

-#if defined(ESHUTDOWN) && !defined(_WIN32)
+#if defined(ESHUTDOWN) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ESHUTDOWN UV__ERR(ESHUTDOWN)
 #else
 # define UV__ESHUTDOWN (-4042)
 #endif

-#if defined(ESPIPE) && !defined(_WIN32)
+#if defined(ESPIPE) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ESPIPE UV__ERR(ESPIPE)
 #else
 # define UV__ESPIPE (-4041)
 #endif

-#if defined(ESRCH) && !defined(_WIN32)
+#if defined(ESRCH) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ESRCH UV__ERR(ESRCH)
 #else
 # define UV__ESRCH (-4040)
 #endif

-#if defined(ETIMEDOUT) && !defined(_WIN32)
+#if defined(ETIMEDOUT) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ETIMEDOUT UV__ERR(ETIMEDOUT)
 #else
 # define UV__ETIMEDOUT (-4039)
 #endif

-#if defined(ETXTBSY) && !defined(_WIN32)
+#if defined(ETXTBSY) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ETXTBSY UV__ERR(ETXTBSY)
 #else
 # define UV__ETXTBSY (-4038)
 #endif

-#if defined(EXDEV) && !defined(_WIN32)
+#if defined(EXDEV) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EXDEV UV__ERR(EXDEV)
 #else
 # define UV__EXDEV (-4037)
 #endif

-#if defined(EFBIG) && !defined(_WIN32)
+#if defined(EFBIG) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EFBIG UV__ERR(EFBIG)
 #else
 # define UV__EFBIG (-4036)
 #endif

-#if defined(ENOPROTOOPT) && !defined(_WIN32)
+#if defined(ENOPROTOOPT) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENOPROTOOPT UV__ERR(ENOPROTOOPT)
 #else
 # define UV__ENOPROTOOPT (-4035)
 #endif

-#if defined(ERANGE) && !defined(_WIN32)
+#if defined(ERANGE) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ERANGE UV__ERR(ERANGE)
 #else
 # define UV__ERANGE (-4034)
 #endif

-#if defined(ENXIO) && !defined(_WIN32)
+#if defined(ENXIO) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENXIO UV__ERR(ENXIO)
 #else
 # define UV__ENXIO (-4033)
 #endif

-#if defined(EMLINK) && !defined(_WIN32)
+#if defined(EMLINK) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EMLINK UV__ERR(EMLINK)
 #else
 # define UV__EMLINK (-4032)
@@ -408,7 +408,7 @@
  * defined. Fortunately, its value is always 64 so it's possible albeit
  * icky to hard-code it.
  */
-#if defined(EHOSTDOWN) && !defined(_WIN32)
+#if defined(EHOSTDOWN) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EHOSTDOWN UV__ERR(EHOSTDOWN)
 #elif defined(__APPLE__) || \
       defined(__DragonFly__) || \
@@ -421,37 +421,37 @@
 # define UV__EHOSTDOWN (-4031)
 #endif

-#if defined(EREMOTEIO) && !defined(_WIN32)
+#if defined(EREMOTEIO) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EREMOTEIO UV__ERR(EREMOTEIO)
 #else
 # define UV__EREMOTEIO (-4030)
 #endif

-#if defined(ENOTTY) && !defined(_WIN32)
+#if defined(ENOTTY) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ENOTTY UV__ERR(ENOTTY)
 #else
 # define UV__ENOTTY (-4029)
 #endif

-#if defined(EFTYPE) && !defined(_WIN32)
+#if defined(EFTYPE) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EFTYPE UV__ERR(EFTYPE)
 #else
 # define UV__EFTYPE (-4028)
 #endif

-#if defined(EILSEQ) && !defined(_WIN32)
+#if defined(EILSEQ) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EILSEQ UV__ERR(EILSEQ)
 #else
 # define UV__EILSEQ (-4027)
 #endif

-#if defined(EOVERFLOW) && !defined(_WIN32)
+#if defined(EOVERFLOW) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__EOVERFLOW UV__ERR(EOVERFLOW)
 #else
 # define UV__EOVERFLOW (-4026)
 #endif

-#if defined(ESOCKTNOSUPPORT) && !defined(_WIN32)
+#if defined(ESOCKTNOSUPPORT) && !defined(_WIN32) && !defined(__COSMOPOLITAN__)
 # define UV__ESOCKTNOSUPPORT UV__ERR(ESOCKTNOSUPPORT)
 #else
 # define UV__ESOCKTNOSUPPORT (-4025)

and one new batch of errors showed up:
[1/22] Building C object Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/unix/getaddrinfo.c.o
FAILED: Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/unix/getaddrinfo.c.o
/home/cristian/Projects/cosmopolitan/repo/cosmocc/bin/cosmocc  -I/home/cristian/Projects/cmake/build-cosmo/Utilities -I/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include -I/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src -I/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/unix -I/home/cristian/Projects/cmake/build-cosmo/Source -isystem /home/cristian/Projects/cmake/repo/Utilities/std -isystem /home/cristian/Projects/cmake/repo/Utilities -w -O3 -DNDEBUG -std=gnu11 -MD -MT Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/unix/getaddrinfo.c.o -MF Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/unix/getaddrinfo.c.o.d -o Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/unix/getaddrinfo.c.o -c /home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/unix/getaddrinfo.c
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/unix/getaddrinfo.c: In function 'uv_if_indextoname':
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/unix/getaddrinfo.c:233:7: error: implicit declaration of function 'if_indextoname'; did you mean 'uv_if_indextoname'? [-Wimplicit-function-declaration]
  233 |   if (if_indextoname(ifindex, ifname_buf) == NULL)
      |       ^~~~~~~~~~~~~~
      |       uv_if_indextoname
[2/22] Building C object Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/unix/udp.c.o
FAILED: Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/unix/udp.c.o
/home/cristian/Projects/cosmopolitan/repo/cosmocc/bin/cosmocc  -I/home/cristian/Projects/cmake/build-cosmo/Utilities -I/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include -I/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src -I/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/unix -I/home/cristian/Projects/cmake/build-cosmo/Source -isystem /home/cristian/Projects/cmake/repo/Utilities/std -isystem /home/cristian/Projects/cmake/repo/Utilities -w -O3 -DNDEBUG -std=gnu11 -MD -MT Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/unix/udp.c.o -MF Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/unix/udp.c.o.d -o Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/unix/udp.c.o -c /home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/unix/udp.c
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/unix/udp.c: In function 'uv__udp_set_source_membership4':
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/unix/udp.c:953:25: error: storage size of 'mreq' isn't known
  953 |   struct ip_mreq_source mreq;
      |                         ^~~~
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/unix/udp.c: In function 'uv__udp_set_source_membership6':
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/unix/udp.c:998:27: error: storage size of 'mreq' isn't known
  998 |   struct group_source_req mreq;
      |                           ^~~~
At top level:
cc1: note: rewrote 1 switch statements
[3/22] Building C object Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/unix/thread.c.o
FAILED: Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/unix/thread.c.o
/home/cristian/Projects/cosmopolitan/repo/cosmocc/bin/cosmocc  -I/home/cristian/Projects/cmake/build-cosmo/Utilities -I/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include -I/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src -I/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/unix -I/home/cristian/Projects/cmake/build-cosmo/Source -isystem /home/cristian/Projects/cmake/repo/Utilities/std -isystem /home/cristian/Projects/cmake/repo/Utilities -w -O3 -DNDEBUG -std=gnu11 -MD -MT Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/unix/thread.c.o -MF Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/unix/thread.c.o.d -o Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/unix/thread.c.o -c /home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/unix/thread.c
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/unix/thread.c: In function 'uv_cond_init':
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/unix/thread.c:733:9: error: implicit declaration of function 'pthread_condattr_setclock'; did you mean 'pthread_condattr_destroy'? [-Wimplicit-function-declaration]
  733 |   err = pthread_condattr_setclock(&attr, CLOCK_MONOTONIC);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
      |         pthread_condattr_destroy
[4/22] Building C object Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/uv-common.c.o
FAILED: Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/uv-common.c.o
/home/cristian/Projects/cosmopolitan/repo/cosmocc/bin/cosmocc  -I/home/cristian/Projects/cmake/build-cosmo/Utilities -I/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include -I/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src -I/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/unix -I/home/cristian/Projects/cmake/build-cosmo/Source -isystem /home/cristian/Projects/cmake/repo/Utilities/std -isystem /home/cristian/Projects/cmake/repo/Utilities -w -O3 -DNDEBUG -std=gnu11 -MD -MT Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/uv-common.c.o -MF Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/uv-common.c.o.d -o Utilities/cmlibuv/CMakeFiles/cmlibuv.dir/src/uv-common.c.o -c /home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/uv-common.c
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/uv-common.c: In function 'uv_ip6_addr':
/home/cristian/Projects/cmake/repo/Utilities/cmlibuv/src/uv-common.c:260:27: error: implicit declaration of function 'if_nametoindex' [-Wimplicit-function-declaration]
  260 |     addr->sin6_scope_id = if_nametoindex(zone_index);
      |                           ^~~~~~~~~~~~~~
At top level:
cc1: note: rewrote 1 switch statements
[5/22] Building CXX object Source/CMakeFiles/CMakeLib.dir/cmUVProcessChain.cxx.o
FAILED: Source/CMakeFiles/CMakeLib.dir/cmUVProcessChain.cxx.o
/home/cristian/Projects/cosmopolitan/repo/cosmocc/bin/cosmoc++ -DCURL_STATICLIB -DLIBARCHIVE_STATIC -I/home/cristian/Projects/cmake/build-cosmo/Utilities -I/home/cristian/Projects/cmake/build-cosmo/Source -I/home/cristian/Projects/cmake/repo/Source -I/home/cristian/Projects/cmake/repo/Source/LexerParser -isystem /home/cristian/Projects/cmake/repo/Utilities/std -isystem /home/cristian/Projects/cmake/repo/Utilities -fexceptions -frtti -Wnon-virtual-dtor -Wcast-align -Wchar-subscripts -Wall -W -Wshadow -Wpointer-arith -Wformat-security -Wundef -O3 -DNDEBUG -std=c++17 -MD -MT Source/CMakeFiles/CMakeLib.dir/cmUVProcessChain.cxx.o -MF Source/CMakeFiles/CMakeLib.dir/cmUVProcessChain.cxx.o.d -o Source/CMakeFiles/CMakeLib.dir/cmUVProcessChain.cxx.o -c /home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.cxx
In file included from /home/cristian/Projects/cosmopolitan/repo/cosmocc/include/signal.h:10,
                 from /home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv/unix.h:44,
                 from /home/cristian/Projects/cmake/repo/Utilities/cmlibuv/include/uv.h:72,
                 from /home/cristian/Projects/cmake/repo/Utilities/cm3p/uv.h:10,
                 from /home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.h:16,
                 from /home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.cxx:3:
/home/cristian/Projects/cosmopolitan/repo/cosmocc/include/third_party/libcxx/__utility/pair.h: In instantiation of 'static constexpr bool std::__1::pair< <template-parameter-1-1>, <template-parameter-1-2> >::_CheckArgs::__is_pair_constructible() [with _U1 = const cmUVProcessChain::ExceptionCode&; _U2 = char* const&; _T1 = cmUVProcessChain::ExceptionCode; _T2 = std::__1::basic_string<char>]':
/home/cristian/Projects/cosmopolitan/repo/cosmocc/include/third_party/libcxx/__utility/pair.h:208:95:   required by substitution of 'template<class _U1, class _U2, typename std::__1::enable_if<__is_pair_constructible<const _U1&, const _U2&>(), int>::type <anonymous> > constexpr std::__1::pair<cmUVProcessChain::ExceptionCode, std::__1::basic_string<char> >::pair(const std::__1::pair<_T1, _T2>&) [with _U1 = cmUVProcessChain::ExceptionCode; _U2 = char*; typename std::__1::enable_if<__is_pair_constructible<const _U1&, const _U2&>(), int>::type <anonymous> = <missing>]'
  208 |             __enable_if_t<_CheckArgs::template __is_pair_constructible<_U1 const&, _U2 const&>(), int> = 0>
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.cxx:712:56:   required from here
  712 |         return std::make_pair(ExceptionCode::Other, buf);
      |                                                        ^
/home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.cxx:567:12: error: unable to substitute constant

  567 |       case SIGBUS:
      |            ^~~~~~
/home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.cxx:615:12: error: unable to substitute constant

  615 |       case SIGUSR1:
      |            ^~~~~~~
/home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.cxx:619:12: error: unable to substitute constant

  619 |       case SIGUSR2:
      |            ^~~~~~~
/home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.cxx:635:12: error: unable to substitute constant

  635 |       case SIGCHLD:
      |            ^~~~~~~
/home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.cxx:642:12: error: unable to substitute constant

  642 |       case SIGCONT:
      |            ^~~~~~~
/home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.cxx:646:12: error: unable to substitute constant

  646 |       case SIGSTOP:
      |            ^~~~~~~
/home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.cxx:650:12: error: unable to substitute constant

  650 |       case SIGTSTP:
      |            ^~~~~~~
/home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.cxx:662:12: error: unable to substitute constant

  662 |       case SIGURG:
      |            ^~~~~~
/home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.cxx:696:12: error: unable to substitute constant

  696 |       case SIGPWR:
      |            ^~~~~~
/home/cristian/Projects/cmake/repo/Source/cmUVProcessChain.cxx:700:12: error: unable to substitute constant

  700 |       case SIGSYS:
      |            ^~~~~~
ninja: build stopped: cannot make progress due to previous errors.

for now, a fix would be to replace the enum declaration with
typedef int uv_errno_t;
#define XX(code, not_used) static int UV_ ## code = UV__ ## code;

it also seems like a if_indextoname is being called in an impl of getaddrinfo?

With the patch below I was able to compile CMake with Cosmopolitan 🎉
cmake-cosmopolitan.patch
diff --git a/Source/CTest/cmProcess.cxx b/Source/CTest/cmProcess.cxx
index 2c809b6e97..d1a55826ad 100644
--- a/Source/CTest/cmProcess.cxx
+++ b/Source/CTest/cmProcess.cxx
@@ -534,6 +534,76 @@ std::string cmProcess::GetExitExceptionString() const
       snprintf(buf, sizeof(buf), fmt, this->ExitValue);
       exception_str.assign(buf);
   }
+#elif defined(__COSMOPOLITAN__)
+  if (this->Signal == SIGSEGV) {
+      exception_str = "Segmentation fault";
+  } else if (this->Signal == SIGBUS) {
+      exception_str = "Bus error";
+  } else if (this->Signal == SIGFPE) {
+      exception_str = "Floating-point exception";
+  } else if (this->Signal == SIGILL) {
+      exception_str = "Illegal instruction";
+  } else if (this->Signal == SIGILL) {
+      exception_str = "User interrupt";
+  } else if (this->Signal == SIGABRT) {
+      exception_str = "Subprocess aborted";
+  } else if (this->Signal == SIGKILL) {
+      exception_str = "Subprocess killed";
+  } else if (this->Signal == SIGTERM) {
+      exception_str = "Subprocess terminated";
+  } else if (this->Signal == SIGHUP) {
+      exception_str = "SIGHUP";
+  } else if (this->Signal == SIGQUIT) {
+      exception_str = "SIGQUIT";
+  } else if (this->Signal == SIGTRAP) {
+      exception_str = "SIGTRAP";
+  } else if (this->Signal == SIGIOT) {
+      exception_str = "SIGIOT";
+  } else if (this->Signal == SIGUSR1) {
+      exception_str = "SIGUSR1";
+  } else if (this->Signal == SIGUSR2) {
+      exception_str = "SIGUSR2";
+  } else if (this->Signal == SIGPIPE) {
+      exception_str = "SIGPIPE";
+  } else if (this->Signal == SIGALRM) {
+      exception_str = "SIGALRM";
+  } else if (this->Signal == SIGSTKFLT) {
+      exception_str = "SIGSTKFLT";
+  } else if (this->Signal == SIGCHLD) {
+      exception_str = "SIGCHLD";
+  } else if (this->Signal == SIGCONT) {
+      exception_str = "SIGCONT";
+  } else if (this->Signal == SIGSTOP) {
+      exception_str = "SIGSTOP";
+  } else if (this->Signal == SIGTSTP) {
+      exception_str = "SIGTSTP";
+  } else if (this->Signal == SIGTTIN) {
+      exception_str = "SIGTTIN";
+  } else if (this->Signal == SIGTTOU) {
+      exception_str = "SIGTTOU";
+  } else if (this->Signal == SIGURG) {
+      exception_str = "SIGURG";
+  } else if (this->Signal == SIGXCPU) {
+      exception_str = "SIGXCPU";
+  } else if (this->Signal == SIGXFSZ) {
+      exception_str = "SIGXFSZ";
+  } else if (this->Signal == SIGVTALRM) {
+      exception_str = "SIGVTALRM";
+  } else if (this->Signal == SIGPROF) {
+      exception_str = "SIGPROF";
+  } else if (this->Signal == SIGWINCH) {
+      exception_str = "SIGWINCH";
+  } else if (this->Signal == SIGPOLL) {
+      exception_str = "SIGPOLL";
+  } else if (this->Signal == SIGIO) {
+      exception_str = "SIGIO";
+  } else if (this->Signal == SIGPWR) {
+      exception_str = "SIGPWR";
+  } else if (this->Signal == SIGSYS) {
+      exception_str = "SIGSYS";
+  } else {
+      exception_str = cmStrCat("Signal ", this->Signal);
+  }
 #else
   switch (this->Signal) {
 #  ifdef SIGSEGV
diff --git a/Source/cmUVProcessChain.cxx b/Source/cmUVProcessChain.cxx
index b787f19943..0e7f6db672 100644
--- a/Source/cmUVProcessChain.cxx
+++ b/Source/cmUVProcessChain.cxx
@@ -555,6 +555,84 @@ cmUVProcessChain::Status::GetException() const
       }
     }
   }
+#elif defined(__COSMOPOLITAN__)
+  if (this->Finished && this->TermSignal) {
+    if (this->TermSignal == SIGSEGV) {
+        return std::make_pair(ExceptionCode::Fault, "Segmentation fault");
+    } else if (this->TermSignal == SIGBUS) {
+        return std::make_pair(ExceptionCode::Fault, "Bus error");
+    } else if (this->TermSignal == SIGFPE) {
+        return std::make_pair(ExceptionCode::Numerical,
+                              "Floating-point exception");
+    } else if (this->TermSignal == SIGILL) {
+        return std::make_pair(ExceptionCode::Illegal, "Illegal instruction");
+    } else if (this->TermSignal == SIGINT) {
+        return std::make_pair(ExceptionCode::Interrupt, "User interrupt");
+    } else if (this->TermSignal == SIGABRT) {
+        return std::make_pair(ExceptionCode::Other, "Subprocess aborted");
+    } else if (this->TermSignal == SIGKILL) {
+        return std::make_pair(ExceptionCode::Other, "Subprocess killed");
+    } else if (this->TermSignal == SIGTERM) {
+        return std::make_pair(ExceptionCode::Other, "Subprocess terminated");
+    } else if (this->TermSignal == SIGHUP) {
+        return std::make_pair(ExceptionCode::Other, "SIGHUP");
+    } else if (this->TermSignal == SIGQUIT) {
+        return std::make_pair(ExceptionCode::Other, "SIGQUIT");
+    } else if (this->TermSignal == SIGTRAP) {
+        return std::make_pair(ExceptionCode::Other, "SIGTRAP");
+    } else if (this->TermSignal == SIGIOT) {
+        return std::make_pair(ExceptionCode::Other, "SIGIOT");
+    } else if (this->TermSignal == SIGUSR1) {
+        return std::make_pair(ExceptionCode::Other, "SIGUSR1");
+    } else if (this->TermSignal == SIGUSR2) {
+        return std::make_pair(ExceptionCode::Other, "SIGUSR2");
+    } else if (this->TermSignal == SIGPIPE) {
+        return std::make_pair(ExceptionCode::Other, "SIGPIPE");
+    } else if (this->TermSignal == SIGALRM) {
+        return std::make_pair(ExceptionCode::Other, "SIGALRM");
+    } else if (this->TermSignal == SIGSTKFLT) {
+        return std::make_pair(ExceptionCode::Other, "SIGSTKFLT");
+    } else if (this->TermSignal == SIGCHLD) {
+        return std::make_pair(ExceptionCode::Other, "SIGCHLD");
+    } else if (this->TermSignal == SIGFPE) {
+        return std::make_pair(ExceptionCode::Other, "SIGCLD");
+    } else if (this->TermSignal == SIGCONT) {
+        return std::make_pair(ExceptionCode::Other, "SIGCONT");
+    } else if (this->TermSignal == SIGSTOP) {
+        return std::make_pair(ExceptionCode::Other, "SIGSTOP");
+    } else if (this->TermSignal == SIGTSTP) {
+        return std::make_pair(ExceptionCode::Other, "SIGTSTP");
+    } else if (this->TermSignal == SIGTTIN) {
+        return std::make_pair(ExceptionCode::Other, "SIGTTIN");
+    } else if (this->TermSignal == SIGTTOU) {
+        return std::make_pair(ExceptionCode::Other, "SIGTTOU");
+    } else if (this->TermSignal == SIGURG) {
+        return std::make_pair(ExceptionCode::Other, "SIGURG");
+    } else if (this->TermSignal == SIGXCPU) {
+        return std::make_pair(ExceptionCode::Other, "SIGXCPU");
+    } else if (this->TermSignal == SIGXFSZ) {
+        return std::make_pair(ExceptionCode::Other, "SIGXFSZ");
+    } else if (this->TermSignal == SIGVTALRM) {
+        return std::make_pair(ExceptionCode::Other, "SIGVTALRM");
+    } else if (this->TermSignal == SIGPROF) {
+        return std::make_pair(ExceptionCode::Other, "SIGPROF");
+    } else if (this->TermSignal == SIGWINCH) {
+        return std::make_pair(ExceptionCode::Other, "SIGWINCH");
+    } else if (this->TermSignal == SIGPOLL) {
+        return std::make_pair(ExceptionCode::Other, "SIGPOLL");
+    } else if (this->TermSignal == SIGIO) {
+        return std::make_pair(ExceptionCode::Other, "SIGIO");
+    } else if (this->TermSignal == SIGPWR) {
+        return std::make_pair(ExceptionCode::Other, "SIGPWR");
+    } else if (this->TermSignal == SIGSYS) {
+        return std::make_pair(ExceptionCode::Other, "SIGSYS");
+    } else {
+        char buf[256];
+        snprintf(buf, sizeof(buf), "Signal %d", this->TermSignal);
+        return std::make_pair(ExceptionCode::Other, buf);
+    }
+  }
+
 #else
   if (this->Finished && this->TermSignal) {
     switch (this->TermSignal) {
diff --git a/Utilities/cmlibuv/CMakeLists.txt b/Utilities/cmlibuv/CMakeLists.txt
index a0b161b5c0..ef379260b2 100644
--- a/Utilities/cmlibuv/CMakeLists.txt
+++ b/Utilities/cmlibuv/CMakeLists.txt
@@ -343,6 +343,18 @@ if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
     )
 endif()

+if(COSMOPOLITAN)
+    list(APPEND uv_headers
+      include/uv/posix.h
+      )
+    list(APPEND uv_sources
+      src/unix/posix-hrtime.c
+      src/unix/posix-poll.c
+      src/unix/no-fsevents.c
+      src/unix/no-proctitle.c
+      )
+endif()
+
 include_directories(
   ${uv_includes}
   ${KWSYS_HEADER_ROOT}
diff --git a/Utilities/cmlibuv/include/uv/errno.h b/Utilities/cmlibuv/include/uv/errno.h
index 71906b3f5e..8ba3b75221 100644
--- a/Utilities/cmlibuv/include/uv/errno.h
+++ b/Utilities/cmlibuv/include/uv/errno.h
@@ -50,6 +50,14 @@
 /* Only map to the system errno on non-Windows platforms. It's apparently
  * a fairly common practice for Windows programmers to redefine errno codes.
  */
+
+#if defined(__COSMOPOLITAN__)
+/* Cosmo hass isuess with the libuv macro magic for errno. Therfore use
+ * the _WIN32 code path.
+ */
+#define _WIN32
+#endif
+
 #if defined(E2BIG) && !defined(_WIN32)
 # define UV__E2BIG UV__ERR(E2BIG)
 #else
@@ -457,4 +465,8 @@
 # define UV__ESOCKTNOSUPPORT (-4025)
 #endif

+#if defined(__COSMOPOLITAN__)
+#undef _WIN32
+#endif
+
 #endif /* UV_ERRNO_H_ */
diff --git a/Utilities/cmlibuv/include/uv/unix.h b/Utilities/cmlibuv/include/uv/unix.h
index 7a5a3cb54b..61e4ccd1a1 100644
--- a/Utilities/cmlibuv/include/uv/unix.h
+++ b/Utilities/cmlibuv/include/uv/unix.h
@@ -74,7 +74,8 @@
       defined(__MSYS__)   || \
       defined(__HAIKU__)  || \
       defined(__QNX__)    || \
-      defined(__GNU__)
+      defined(__GNU__)    || \
+      defined(__COSMOPOLITAN__)
 # include "posix.h"
 #endif

diff --git a/Utilities/cmlibuv/src/unix/getaddrinfo.c b/Utilities/cmlibuv/src/unix/getaddrinfo.c
index 77337ace94..40cfc9c26e 100644
--- a/Utilities/cmlibuv/src/unix/getaddrinfo.c
+++ b/Utilities/cmlibuv/src/unix/getaddrinfo.c
@@ -32,6 +32,10 @@
 #include <string.h>
 #include <net/if.h> /* if_indextoname() */

+#ifdef __COSMOPOLITAN__
+#include <sys/ioctl.h>
+#endif
+
 /* EAI_* constants. */
 #include <netdb.h>

@@ -222,7 +226,7 @@ void uv_freeaddrinfo(struct addrinfo* ai) {
     freeaddrinfo(ai);
 }

-
+#if !defined(__COSMOPOLITAN__)
 int uv_if_indextoname(unsigned int ifindex, char* buffer, size_t* size) {
   char ifname_buf[UV_IF_NAMESIZE];
   size_t len;
@@ -246,6 +250,36 @@ int uv_if_indextoname(unsigned int ifindex, char* buffer, size_t* size) {

   return 0;
 }
+#else
+int uv_if_indextoname(unsigned int index, char *name, size_t* size) {
+  int fd = socket(AF_UNIX, SOCK_DGRAM | SOCK_CLOEXEC, AF_UNSPEC);
+
+  if (fd == -1)
+    return ENXIO;
+
+  struct ifreq ifr;
+  ifr.ifr_ifindex = index;
+
+  int res = 0;
+  int ret = ioctl(fd, SIOCGIFNAME, &ifr, &res);
+  close(fd);
+
+  if (ret) {
+    if(ret == ENODEV)
+      return ENXIO;
+    return ret;
+  }
+
+  if (*size <= IF_NAMESIZE) {
+    *size = IF_NAMESIZE + 1;
+    return UV_ENOBUFS;
+  }
+
+  strncpy(name, ifr.ifr_name, IF_NAMESIZE);
+
+  return 0;
+}
+#endif

 int uv_if_indextoiid(unsigned int ifindex, char* buffer, size_t* size) {
   return uv_if_indextoname(ifindex, buffer, size);
diff --git a/Utilities/cmlibuv/src/unix/thread.c b/Utilities/cmlibuv/src/unix/thread.c
index 5a07b027ea..9a47703f1c 100644
--- a/Utilities/cmlibuv/src/unix/thread.c
+++ b/Utilities/cmlibuv/src/unix/thread.c
@@ -729,7 +729,7 @@ int uv_cond_init(uv_cond_t* cond) {
   if (err)
     return UV__ERR(err);

-#if !defined(__hpux)
+#if !defined(__hpux) && !defined(__COSMOPOLITAN__)
   err = pthread_condattr_setclock(&attr, CLOCK_MONOTONIC);
   if (err)
     goto error2;
diff --git a/Utilities/cmlibuv/src/unix/udp.c b/Utilities/cmlibuv/src/unix/udp.c
index 83acf13e5b..72f735d0b0 100644
--- a/Utilities/cmlibuv/src/unix/udp.c
+++ b/Utilities/cmlibuv/src/unix/udp.c
@@ -944,7 +944,8 @@ static int uv__udp_set_membership6(uv_udp_t* handle,
     !defined(__ANDROID__) &&                                        \
     !defined(__DragonFly__) &&                                      \
     !defined(__QNX__) &&                                            \
-    !defined(__GNU__)
+    !defined(__GNU__) &&                                            \
+    !defined(__COSMOPOLITAN__)
 static int uv__udp_set_source_membership4(uv_udp_t* handle,
                                           const struct sockaddr_in* multicast_addr,
                                           const char* interface_addr,
@@ -1137,7 +1138,8 @@ int uv_udp_set_source_membership(uv_udp_t* handle,
     !defined(__ANDROID__) &&                                        \
     !defined(__DragonFly__) &&                                      \
     !defined(__QNX__) &&                                            \
-    !defined(__GNU__)
+    !defined(__GNU__) &&                                            \
+    !defined(__COSMOPOLITAN__)
   int err;
   union uv__sockaddr mcast_addr;
   union uv__sockaddr src_addr;
diff --git a/Utilities/cmlibuv/src/uv-common.c b/Utilities/cmlibuv/src/uv-common.c
index d8f7b0e487..a9147992ba 100644
--- a/Utilities/cmlibuv/src/uv-common.c
+++ b/Utilities/cmlibuv/src/uv-common.c
@@ -254,7 +254,7 @@ int uv_ip6_addr(const char* ip, int port, struct sockaddr_in6* addr) {

     zone_index++; /* skip '%' */
     /* NOTE: unknown interface (id=0) is silently ignored */
-#ifdef _WIN32
+#if defined(_WIN32) || defined(__COSMOPOLITAN__)
     addr->sin6_scope_id = atoi(zone_index);
 #else
     addr->sin6_scope_id = if_nametoindex(zone_index);


CSV file import

Environment

Python version: 3.8.10
Nautobot version: v1.1.4b1

Proposed Functionality
Allows users to upload a csv file in addition to the current text input for bulk import.

Use Case
Import of data that is available in csv format without copy paste.

Database Changes
None

External Dependencies
None

The pull request requires a review ...


Document how people can benefit from observable spec interop

PR #1632 introduced observable spec to the store.
I'd be very interested in how I can use or benefit from that feature in my code, but I can't find any kind of documentation or example.

As I understand it, it's literally just to make a Redux store act as an observable source if you already happen to be using observables in your project.  If you're not using RxJS or Bacon or similar, it's irrelevant for you.

Parts of my app are pulling in RxJS so I'm interested if I could get away with react-redux and just use rx instead and have a cleaner implementation. Or should I better stick with react-redux?
I'm familiar with Rx, but I don't know how to efficiently mix it with Redux.

react-redux has some non-trivial optimizations but you can use Rx just fine with a right combination of distinctUntilChanged, etc, I think. Give both a try and see what sticks? 😉

React Redux does more than you might think. Just for fun, here's a back-of-the-envelope (in other words, I scribbled this down without actually running it, so there are probably some mistakes) implementation of connect() using observables and rx-recompose:
import { PropTypes } from 'react'
import compose from 'recompose/compose'
import getContext from 'recompose/getContext'
import shallowEqual from 'recompose/shallowEqual'
import mapPropsStream from 'rx-recompose/mapPropsStream'
import { bindActionCreators } from 'redux'

const defaultMergeProps = (stateProps, dispatchProps, ownProps) => ({
  ...ownProps,
  ...stateProps,
  ...dispatchProps
})

const connect = (mapStateToProps, mapDispatchToProps, mergeProps = defaultMergeProps) =>
  compose(
    // Get store from context
    getContext('store', { PropTypes.object }),
    mapPropsStream(ownProps$ => {
      const store$ = ownProps$.pluck('store')

      // Select state
      const stateProps$ = store$
        .first()
        .flatMap(state => state)
        .withLatestFrom(ownProps$, mapStateToProps)
        .distinctUntilChanged(null, shallowEqual) // Compare props to prevent unnecessary re-renders

      // Bind action creators
      const dispatch$ = store$.pluck('dispatch')
      let dispatchProps$
      if (typeof mapDispatchToProps === 'function') {
        dispatchProps$ = ownProps$
          .withLatestFrom(dispatch$, (props, dispatch) =>
            mapDispatchToProps(dispatch, props)
          )
      } else {
        const actionCreators = mapDispatchToProps
        dispatchProps$ = dispatch$
          .map(dispatch => bindActionCreators(actionCreators, dispatch))
      }

      // Combine into single stream of props
      return ownProps$.combineLatest(
        stateProps$, dispatchProps$, dispatch$
        (ownProps, stateProps, dispatchProps, dispatch$) => ({
          ...mergeProps(stateProps, dispatchProps, ownProps)
          dispatch
        })
      )
    })
  )

And this is only a partial implementation :)
In most React apps, I'd say you're better off sticking with React Redux and dealing with the props as a stream instead:
const enhance = compose(
  connect(selector, actionCreators) // React Redux,
  mapPropsToStream(props$ => {
    // Selected state is part of props. Go crazy.
    return childProps$
  }
)

const EnhancedComponent = enhance(BaseComponent)

If anyone actually does want to add a docs section on this, please comment here and let me know.  Until then, closing due to inactivity.


HillasIntersection produces error on badly reconstructed events

Describe the bug
When using the HillasIntersection algorithm, the direction reconstruction in the nominal frame can lead to reconstructed values of src_fov_lat with an absolute value greater than 90 degrees. This occurs when there are few telescope images (i.e. usually 2) in the reconstruction which have very close values of hillas_psi . The ellipses are then almost parallel and the major axes intersect at great distances from the camera center.
When this results in src_fov_lat with an absolute value greater than 90 degrees, SkyCoord here
https://github.com/cta-observatory/ctapipe/blob/6c4bd9cc73d0845feb7f8abd08dcc45993edb67f/ctapipe/reco/hillas_intersection.py#L228-L230
throws a corresponding error. In ctapipe-process, the processing will be aborted.
Expected behavior
Since these events are so badly reconstructed that they will be thrown away for any analysis anyway, this case may as well result in an invalid reconstruction for the event. This would allow processing to continue. I'm open to better solutions, that just seems like the easiest.
Additional context
For the HillasReconstructor, this is only a problem if all reconstructed major axes are exactly aligned.

If the fix suggested above is ok, I could open a pull request very quickly. Is this something that should also go in a unit test?

, this case may as well result in an invalid reconstruction for the event.

Yes, that's the right thing to do. Check the value of src_fov_lat and if it is larger than 90 degrees return the invalid result container.
The actual threshold could probably be even lower than the threshold that triggers the error in astropy and fov_lon and fov_lat aren't really different in this regard.
Maybe check for 45 degrees in both?

Yes, sounds good

This looks related to #1200 as well


post related with post.tags.similar_objects() show empty django 3

tried to get post related with post.tags.similar.objects() show empty
it my code
model.py
class Article(models.Model):
    STATUS_CHOICES = (
        ("draf", "Draft"),
        ("published", "Published"),
    )
    title = models.CharField(max_length=250)
    slug = models.SlugField(max_length=250, unique_for_date="publish")
    author = models.ForeignKey(
        User, on_delete=models.CASCADE, related_name="blog_article"
    )
    body = RichTextUploadingField()
    publish = models.DateTimeField(default=timezone.now)
    created = models.DateTimeField(auto_now_add=True)
    Updated = models.DateTimeField(auto_now=True)
    status = models.CharField(max_length=10, choices=STATUS_CHOICES, default="draft")
    objects = models.Manager()  # The default manager.
    published = PublishedManager()  # Our custom manager.
    tags = TaggableManager()

    class Meta:
        ordering = ("-publish",)

    # canonical url
    def get_absolute_url(self):
        return reverse("blog:article_detail", args=[(self.slug)])

    def __str__(self):
        return self.title

views.py

def article_detail(request, post):
    post = get_object_or_404(Article, slug=post, status="published",)
    post_related = post.tags.similar_objects()
    return render(
        request,
        "blog/post/article_detail.html",
        {"post": post, "post_related": post_related},
    )

in article_detail.hteml

{% extends "blog/base.html" %}
{% block content %}

{{ post.title }}

    Published {{ post.publish }} by {{ post.author }}

  {{ post.body|safe|linebreaks }}
  {% for tag in post.tags.all %}
      {{ tag.name }}
  {% endfor %}
  {% for post in post_related %}

{{ post.post_title }}

  {% endfor %}

{% endblock %}

Does this issue only appear when using Django 3 for you? And what version of django taggit are you using? similar_objects is some tricky code, so something might be busted here in newer releases, but some more details would be very helpful


GA Tag inserter module

This PR adds another module in django that allows for the configuration of the Google Analytics V4 tag from the admin interface.  This was done to ensure that only the production site had the proper Google Analytics property ID setup.  The Content Security Policy was also updated to include the usage of a nonce to enhance security for injected scripts (aka Google Analytics).

Looks good!