Error in building wheel phase when using pip to install programs

There are two programs that I would like to download onto my computer and both require using pip install. They are called PyContact (Installation · PyContact) and COMMA2 (COMmunication MApping v2.0). I believe that they are both only compatible with Linux and I am using a Windows 10 computer, so I have tried to install them in WSL2. However, when I get to the pip install stage, there seems to be an error at the building wheel phase:

(base) christos-efthymiou@LAPTOP-xxxxxx:~/COMMA2$ conda activate comma
(comma) christos-efthymiou@LAPTOP-xxxxxx:~/COMMA2$ pip install .
DEPRECATION: Python 3.5 reached the end of its life on September 13th, 2020. Please upgrade your Python as Python 3.5 is no longer maintained. pip 21.0 will drop support for Python 3.5 in January 2021. pip 21.0 will remove support for this functionality.
Processing /home/christos-efthymiou/COMMA2
Building wheels for collected packages: COMMA
  Building wheel for COMMA (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/christos-efthymiou/anaconda3/envs/comma/bin/python3.5 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-mraumj0n/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-mraumj0n/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-vqloc4t1
       cwd: /tmp/pip-req-build-mraumj0n/
  Complete output (226 lines):
  running bdist_wheel
  running build
  running build_ext
  building 'comma_defpathways_nogap' extension
  creating build
  creating build/temp.linux-x86_64-3.5
  creating build/temp.linux-x86_64-3.5/src
  gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -m64 -fPIC -fPIC -I/usr/include -I/usr/include/python3.5 -I/home/christos-efthymiou/anaconda3/envs/comma/include/python3.5m -c src/comma_defpathways_nogap.cpp -o build/temp.linux-x86_64-3.5/src/comma_defpathways_nogap.o
  cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
  src/comma_defpathways_nogap.cpp: In constructor ‘DefineThresholds::DefineThresholds(int, int, int, int, int, std::string, std::string, double&, double&)’:
  src/comma_defpathways_nogap.cpp:160:22: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [47]’ to binary ‘operator<<’
    160 |             std:endl << "Invalide parameter threshold_CP and PSR setup " << std::cerr;
        |                 ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:161:13: error: duplicate label ‘std’
    161 |             std:endl << "threshold_CP must be set automatically (value -1) if PSR is manually fixed " << std::cerr;
        |             ^~~
  src/comma_defpathways_nogap.cpp:161:22: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [76]’ to binary ‘operator<<’
    161 |             std:endl << "threshold_CP must be set automatically (value -1) if PSR is manually fixed " << std::cerr;
        |                 ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:162:13: error: duplicate label ‘std’
    162 |             std:endl << "Current values, threshold_CP "<< threshold_CP << " PSR " << PSR << std::cerr;
        |             ^~~
  src/comma_defpathways_nogap.cpp:162:22: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [30]’ to binary ‘operator<<’
    162 |             std:endl << "Current values, threshold_CP "<< threshold_CP << " PSR " << PSR << std::cerr;
        |                 ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:160:13: warning: label ‘std’ defined but not used [-Wunused-label]
    160 |             std:endl << "Invalide parameter threshold_CP and PSR setup " << std::cerr;
        |             ^~~
  src/comma_defpathways_nogap.cpp: In member function ‘void DefineThresholds::DefineINTthreshold(int, int, std::string, std::string, double&)’:
  src/comma_defpathways_nogap.cpp:177:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [62]’ to binary ‘operator<<’
    177 |   std:endl << "Null pointer assignment for INTthreshold (DefineINTthreshold)" << std::cerr;
        |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:183:3: error: duplicate label ‘std’
    183 |   std:endl << "Null pointer assignment for ClustSize (DefineINTthreshold)" << std::cerr;
        |   ^~~
  src/comma_defpathways_nogap.cpp:183:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [59]’ to binary ‘operator<<’
    183 |   std:endl << "Null pointer assignment for ClustSize (DefineINTthreshold)" << std::cerr;
        |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:177:3: warning: label ‘std’ defined but not used [-Wunused-label]
    177 |   std:endl << "Null pointer assignment for INTthreshold (DefineINTthreshold)" << std::cerr;
        |   ^~~
  src/comma_defpathways_nogap.cpp: In member function ‘void DefineThresholds::MaxCompSize(int, int, double, std::string, std::string, int&)’:
  src/comma_defpathways_nogap.cpp:223:11: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [12]’ to binary ‘operator<<’
    223 |   std:endl<<"Opening of "<< Name << " failed " << std::cerr;
        |       ~~~~^~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:223:3: warning: label ‘std’ defined but not used [-Wunused-label]
    223 |   std:endl<<"Opening of "<< Name << " failed " << std::cerr;
        |   ^~~
  src/comma_defpathways_nogap.cpp: In member function ‘void DefineThresholds::DefineCPthreshold(int, int, int, std::string, std::string, int, double&)’:
  src/comma_defpathways_nogap.cpp:295:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [53]’ to binary ‘operator<<’
    295 |   std:endl << "Null pointer assignment in CPmat (DefineCPThreshold)" << std:endl;
        |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:295:76: error: found ‘:’ in nested-name-specifier, expected ‘::’
    295 |   std:endl << "Null pointer assignment in CPmat (DefineCPThreshold)" << std:endl;
        |                                                                            ^
        |                                                                            ::
  src/comma_defpathways_nogap.cpp:300:3: error: duplicate label ‘std’
    300 |   std:endl << "Null pointer assignment in SSmat (DefineCPThreshold)" << std:endl;
        |   ^~~
  src/comma_defpathways_nogap.cpp:300:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [53]’ to binary ‘operator<<’
    300 |   std:endl << "Null pointer assignment in SSmat (DefineCPThreshold)" << std:endl;
        |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:300:76: error: found ‘:’ in nested-name-specifier, expected ‘::’
    300 |   std:endl << "Null pointer assignment in SSmat (DefineCPThreshold)" << std:endl;
        |                                                                            ^
        |                                                                            ::
  src/comma_defpathways_nogap.cpp:305:3: error: duplicate label ‘std’
    305 |   std:endl << "Null pointer assignment in MCP (DefineCPThreshold)" << std:endl;
        |   ^~~
  src/comma_defpathways_nogap.cpp:305:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [51]’ to binary ‘operator<<’
    305 |   std:endl << "Null pointer assignment in MCP (DefineCPThreshold)" << std:endl;
        |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:305:74: error: found ‘:’ in nested-name-specifier, expected ‘::’
    305 |   std:endl << "Null pointer assignment in MCP (DefineCPThreshold)" << std:endl;
        |                                                                          ^
        |                                                                          ::
  src/comma_defpathways_nogap.cpp:310:3: error: duplicate label ‘std’
    310 |   std:endl << "Null pointer assignment in MCP2 (DefineCPThreshold)" << std:endl;
        |   ^~~
  src/comma_defpathways_nogap.cpp:310:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [52]’ to binary ‘operator<<’
    310 |   std:endl << "Null pointer assignment in MCP2 (DefineCPThreshold)" << std:endl;
        |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:310:75: error: found ‘:’ in nested-name-specifier, expected ‘::’
    310 |   std:endl << "Null pointer assignment in MCP2 (DefineCPThreshold)" << std:endl;
        |                                                                           ^
        |                                                                           ::
  src/comma_defpathways_nogap.cpp:316:4: error: duplicate label ‘std’
    316 |    std:endl << "Null pointer assignment in CPmat[i] (DefineCPThreshold)" << std:endl;
        |    ^~~
  src/comma_defpathways_nogap.cpp:316:13: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [56]’ to binary ‘operator<<’
    316 |    std:endl << "Null pointer assignment in CPmat[i] (DefineCPThreshold)" << std:endl;
        |        ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:316:80: error: found ‘:’ in nested-name-specifier, expected ‘::’
    316 |    std:endl << "Null pointer assignment in CPmat[i] (DefineCPThreshold)" << std:endl;
        |                                                                                ^
        |                                                                                ::
  src/comma_defpathways_nogap.cpp:323:4: error: duplicate label ‘std’
    323 |    std:endl << "Null pointer assignment in SSmat[i] (DefineCPThreshold)" << std:endl;
        |    ^~~
  src/comma_defpathways_nogap.cpp:323:13: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [56]’ to binary ‘operator<<’
    323 |    std:endl << "Null pointer assignment in SSmat[i] (DefineCPThreshold)" << std:endl;
        |        ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:323:80: error: found ‘:’ in nested-name-specifier, expected ‘::’
    323 |    std:endl << "Null pointer assignment in SSmat[i] (DefineCPThreshold)" << std:endl;
        |                                                                                ^
        |                                                                                ::
  src/comma_defpathways_nogap.cpp:409:9: warning: unused variable ‘threshold_CPext’ [-Wunused-variable]
    409 |  double threshold_CPext=(int(thresholdExt*100)*0.01);
        |         ^~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:422:9: warning: unused variable ‘threshold_CPbig’ [-Wunused-variable]
    422 |  double threshold_CPbig=(int(thresholdBig*100)*0.01);
        |         ^~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:295:3: warning: label ‘std’ defined but not used [-Wunused-label]
    295 |   std:endl << "Null pointer assignment in CPmat (DefineCPThreshold)" << std:endl;
        |   ^~~
  src/comma_defpathways_nogap.cpp: In member function ‘void DefineThresholds::readFile(std::string, double**, int&, int&)’:
  src/comma_defpathways_nogap.cpp:465:17: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [12]’ to binary ‘operator<<’
    465 |         std:endl<<"Opening of "<< fileName << " failed" << std::cerr;
        |             ~~~~^~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:465:9: warning: label ‘std’ defined but not used [-Wunused-label]
    465 |         std:endl<<"Opening of "<< fileName << " failed" << std::cerr;
        |         ^~~
  src/comma_defpathways_nogap.cpp: In constructor ‘DefinePathways::DefinePathways(int, int, double, double, int, std::string, std::string)’:
  src/comma_defpathways_nogap.cpp:518:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [28]’ to binary ‘operator<<’
    518 |   std:endl << "Error, unable to open file " << Name.c_str() << std::cerr;
        |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:536:3: error: duplicate label ‘std’
    536 |   std:endl << "Error, unable to open file " << Name2.c_str() << std::cerr;
        |   ^~~
  src/comma_defpathways_nogap.cpp:536:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [28]’ to binary ‘operator<<’
    536 |   std:endl << "Error, unable to open file " << Name2.c_str() << std::cerr;
        |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:553:3: error: duplicate label ‘std’
    553 |   std:endl << "Error, unable to open file " << fileName2.c_str() << std::cerr;
        |   ^~~
  src/comma_defpathways_nogap.cpp:553:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [28]’ to binary ‘operator<<’
    553 |   std:endl << "Error, unable to open file " << fileName2.c_str() << std::cerr;
        |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:518:3: warning: label ‘std’ defined but not used [-Wunused-label]
    518 |   std:endl << "Error, unable to open file " << Name.c_str() << std::cerr;
        |   ^~~
  src/comma_defpathways_nogap.cpp: In member function ‘void DefinePathways::ExtendNeighbour(int, double, double, int, int, int&)’:
  src/comma_defpathways_nogap.cpp:688:18: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [58]’ to binary ‘operator<<’
    688 |         std:endl << "Null pointer assignment for neighbours (ExtendNeighbour) " << std::cerr;
        |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:702:17: error: duplicate label ‘std’
    702 |                 std:endl << "Null pointer assignment for Pathss (ExtendNeighbour) " << std::cerr;
        |                 ^~~
  src/comma_defpathways_nogap.cpp:702:26: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [54]’ to binary ‘operator<<’
    702 |                 std:endl << "Null pointer assignment for Pathss (ExtendNeighbour) " << std::cerr;
        |                     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:688:9: warning: label ‘std’ defined but not used [-Wunused-label]
    688 |         std:endl << "Null pointer assignment for neighbours (ExtendNeighbour) " << std::cerr;
        |         ^~~
  src/comma_defpathways_nogap.cpp: In member function ‘void DefinePathways::Neighbour(int*, int, double, double, int, int, int*, int&)’:
  src/comma_defpathways_nogap.cpp:798:18: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [56]’ to binary ‘operator<<’
    798 |         std:endl << "Null pointer assignment for TempNeighbours (Neighbour) " << std::cerr;
        |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:803:9: error: duplicate label ‘std’
    803 |         std:endl << "Null pointer assignment for notSel (Neighbour) " << std::cerr;
        |         ^~~
  src/comma_defpathways_nogap.cpp:803:18: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [48]’ to binary ‘operator<<’
    803 |         std:endl << "Null pointer assignment for notSel (Neighbour) " << std::cerr;
        |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:798:9: warning: label ‘std’ defined but not used [-Wunused-label]
    798 |         std:endl << "Null pointer assignment for TempNeighbours (Neighbour) " << std::cerr;
        |         ^~~
  src/comma_defpathways_nogap.cpp: In member function ‘void DefinePathways::RemoveRedundancy(std::string, std::string)’:
  src/comma_defpathways_nogap.cpp:910:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [28]’ to binary ‘operator<<’
    910 |   std:endl << "Error, unable to open file " << Name.c_str() << std::cerr;
        |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:978:3: error: duplicate label ‘std’
    978 |   std:endl << "Error, unable to open file " << fileName2.c_str() << std::cerr;
        |   ^~~
  src/comma_defpathways_nogap.cpp:978:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [28]’ to binary ‘operator<<’
    978 |   std:endl << "Error, unable to open file " << fileName2.c_str() << std::cerr;
        |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:910:3: warning: label ‘std’ defined but not used [-Wunused-label]
    910 |   std:endl << "Error, unable to open file " << Name.c_str() << std::cerr;
        |   ^~~
  src/comma_defpathways_nogap.cpp: In member function ‘void DefinePathways::writeFile(int, std::string, std::string, int)’:
  src/comma_defpathways_nogap.cpp:1004:18: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [28]’ to binary ‘operator<<’
   1004 |         std:endl << "Error, unable to open file " << fileName.c_str() << std::cerr;
        |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:1004:9: warning: label ‘std’ defined but not used [-Wunused-label]
   1004 |         std:endl << "Error, unable to open file " << fileName.c_str() << std::cerr;
        |         ^~~
  src/comma_defpathways_nogap.cpp: In member function ‘void DefinePathways::writeFileEmpty(std::string, std::string, int)’:
  src/comma_defpathways_nogap.cpp:1049:18: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [28]’ to binary ‘operator<<’
   1049 |         std:endl << "Error, unable to open file " << fileName.c_str() << std::cerr;
        |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:1049:9: warning: label ‘std’ defined but not used [-Wunused-label]
   1049 |         std:endl << "Error, unable to open file " << fileName.c_str() << std::cerr;
        |         ^~~
  src/comma_defpathways_nogap.cpp: In function ‘PyObject* define_pathways(PyObject*, PyObject*, PyObject*)’:
  src/comma_defpathways_nogap.cpp:1066:30: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
   1066 |     static char *kwlist[] = {"path", "protein", "nbres", "nbres2",
        |                              ^~~~~~
  src/comma_defpathways_nogap.cpp:1066:38: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
   1066 |     static char *kwlist[] = {"path", "protein", "nbres", "nbres2",
        |                                      ^~~~~~~~~
  src/comma_defpathways_nogap.cpp:1066:49: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
   1066 |     static char *kwlist[] = {"path", "protein", "nbres", "nbres2",
        |                                                 ^~~~~~~
  src/comma_defpathways_nogap.cpp:1066:58: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
   1066 |     static char *kwlist[] = {"path", "protein", "nbres", "nbres2",
        |                                                          ^~~~~~~~
  src/comma_defpathways_nogap.cpp:1067:30: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
   1067 |                              "gap", "threshold_cp", "threshold_int", "psr", NULL};
        |                              ^~~~~
  src/comma_defpathways_nogap.cpp:1067:37: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
   1067 |                              "gap", "threshold_cp", "threshold_int", "psr", NULL};
        |                                     ^~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:1067:53: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
   1067 |                              "gap", "threshold_cp", "threshold_int", "psr", NULL};
        |                                                     ^~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:1067:70: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
   1067 |                              "gap", "threshold_cp", "threshold_int", "psr", NULL};
        |                                                                      ^~~~~
  src/comma_defpathways_nogap.cpp:1089:18: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [22]’ to binary ‘operator<<’
   1089 |         std:endl << "Manual argument PSR ("<< PSR <<")must be between 0 and 100" << nbRes << std::cerr;
        |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  src/comma_defpathways_nogap.cpp:1089:9: warning: label ‘std’ defined but not used [-Wunused-label]
   1089 |         std:endl << "Manual argument PSR ("<< PSR <<")must be between 0 and 100" << nbRes << std::cerr;
        |         ^~~
  error: command 'gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for COMMA
  Running setup.py clean for COMMA
Failed to build COMMA
Installing collected packages: COMMA
    Running setup.py install for COMMA ... error
    ERROR: Command errored out with exit status 1:
     command: /home/christos-efthymiou/anaconda3/envs/comma/bin/python3.5 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-mraumj0n/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-mraumj0n/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-skibzzut/install-record.txt --single-version-externally-managed --compile --install-headers /home/christos-efthymiou/anaconda3/envs/comma/include/python3.5m/COMMA
         cwd: /tmp/pip-req-build-mraumj0n/
    Complete output (226 lines):
    running install
    running build
    running build_ext
    building 'comma_defpathways_nogap' extension
    creating build
    creating build/temp.linux-x86_64-3.5
    creating build/temp.linux-x86_64-3.5/src
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -m64 -fPIC -fPIC -I/usr/include -I/usr/include/python3.5 -I/home/christos-efthymiou/anaconda3/envs/comma/include/python3.5m -c src/comma_defpathways_nogap.cpp -o build/temp.linux-x86_64-3.5/src/comma_defpathways_nogap.o
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    src/comma_defpathways_nogap.cpp: In constructor ‘DefineThresholds::DefineThresholds(int, int, int, int, int, std::string, std::string, double&, double&)’:
    src/comma_defpathways_nogap.cpp:160:22: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [47]’ to binary ‘operator<<’
      160 |             std:endl << "Invalide parameter threshold_CP and PSR setup " << std::cerr;
          |                 ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:161:13: error: duplicate label ‘std’
      161 |             std:endl << "threshold_CP must be set automatically (value -1) if PSR is manually fixed " << std::cerr;
          |             ^~~
    src/comma_defpathways_nogap.cpp:161:22: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [76]’ to binary ‘operator<<’
      161 |             std:endl << "threshold_CP must be set automatically (value -1) if PSR is manually fixed " << std::cerr;
          |                 ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:162:13: error: duplicate label ‘std’
      162 |             std:endl << "Current values, threshold_CP "<< threshold_CP << " PSR " << PSR << std::cerr;
          |             ^~~
    src/comma_defpathways_nogap.cpp:162:22: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [30]’ to binary ‘operator<<’
      162 |             std:endl << "Current values, threshold_CP "<< threshold_CP << " PSR " << PSR << std::cerr;
          |                 ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:160:13: warning: label ‘std’ defined but not used [-Wunused-label]
      160 |             std:endl << "Invalide parameter threshold_CP and PSR setup " << std::cerr;
          |             ^~~
    src/comma_defpathways_nogap.cpp: In member function ‘void DefineThresholds::DefineINTthreshold(int, int, std::string, std::string, double&)’:
    src/comma_defpathways_nogap.cpp:177:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [62]’ to binary ‘operator<<’
      177 |   std:endl << "Null pointer assignment for INTthreshold (DefineINTthreshold)" << std::cerr;
          |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:183:3: error: duplicate label ‘std’
      183 |   std:endl << "Null pointer assignment for ClustSize (DefineINTthreshold)" << std::cerr;
          |   ^~~
    src/comma_defpathways_nogap.cpp:183:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [59]’ to binary ‘operator<<’
      183 |   std:endl << "Null pointer assignment for ClustSize (DefineINTthreshold)" << std::cerr;
          |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:177:3: warning: label ‘std’ defined but not used [-Wunused-label]
      177 |   std:endl << "Null pointer assignment for INTthreshold (DefineINTthreshold)" << std::cerr;
          |   ^~~
    src/comma_defpathways_nogap.cpp: In member function ‘void DefineThresholds::MaxCompSize(int, int, double, std::string, std::string, int&)’:
    src/comma_defpathways_nogap.cpp:223:11: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [12]’ to binary ‘operator<<’
      223 |   std:endl<<"Opening of "<< Name << " failed " << std::cerr;
          |       ~~~~^~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:223:3: warning: label ‘std’ defined but not used [-Wunused-label]
      223 |   std:endl<<"Opening of "<< Name << " failed " << std::cerr;
          |   ^~~
    src/comma_defpathways_nogap.cpp: In member function ‘void DefineThresholds::DefineCPthreshold(int, int, int, std::string, std::string, int, double&)’:
    src/comma_defpathways_nogap.cpp:295:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [53]’ to binary ‘operator<<’
      295 |   std:endl << "Null pointer assignment in CPmat (DefineCPThreshold)" << std:endl;
          |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:295:76: error: found ‘:’ in nested-name-specifier, expected ‘::’
      295 |   std:endl << "Null pointer assignment in CPmat (DefineCPThreshold)" << std:endl;
          |                                                                            ^
          |                                                                            ::
    src/comma_defpathways_nogap.cpp:300:3: error: duplicate label ‘std’
      300 |   std:endl << "Null pointer assignment in SSmat (DefineCPThreshold)" << std:endl;
          |   ^~~
    src/comma_defpathways_nogap.cpp:300:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [53]’ to binary ‘operator<<’
      300 |   std:endl << "Null pointer assignment in SSmat (DefineCPThreshold)" << std:endl;
          |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:300:76: error: found ‘:’ in nested-name-specifier, expected ‘::’
      300 |   std:endl << "Null pointer assignment in SSmat (DefineCPThreshold)" << std:endl;
          |                                                                            ^
          |                                                                            ::
    src/comma_defpathways_nogap.cpp:305:3: error: duplicate label ‘std’
      305 |   std:endl << "Null pointer assignment in MCP (DefineCPThreshold)" << std:endl;
          |   ^~~
    src/comma_defpathways_nogap.cpp:305:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [51]’ to binary ‘operator<<’
      305 |   std:endl << "Null pointer assignment in MCP (DefineCPThreshold)" << std:endl;
          |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:305:74: error: found ‘:’ in nested-name-specifier, expected ‘::’
      305 |   std:endl << "Null pointer assignment in MCP (DefineCPThreshold)" << std:endl;
          |                                                                          ^
          |                                                                          ::
    src/comma_defpathways_nogap.cpp:310:3: error: duplicate label ‘std’
      310 |   std:endl << "Null pointer assignment in MCP2 (DefineCPThreshold)" << std:endl;
          |   ^~~
    src/comma_defpathways_nogap.cpp:310:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [52]’ to binary ‘operator<<’
      310 |   std:endl << "Null pointer assignment in MCP2 (DefineCPThreshold)" << std:endl;
          |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:310:75: error: found ‘:’ in nested-name-specifier, expected ‘::’
      310 |   std:endl << "Null pointer assignment in MCP2 (DefineCPThreshold)" << std:endl;
          |                                                                           ^
          |                                                                           ::
    src/comma_defpathways_nogap.cpp:316:4: error: duplicate label ‘std’
      316 |    std:endl << "Null pointer assignment in CPmat[i] (DefineCPThreshold)" << std:endl;
          |    ^~~
    src/comma_defpathways_nogap.cpp:316:13: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [56]’ to binary ‘operator<<’
      316 |    std:endl << "Null pointer assignment in CPmat[i] (DefineCPThreshold)" << std:endl;
          |        ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:316:80: error: found ‘:’ in nested-name-specifier, expected ‘::’
      316 |    std:endl << "Null pointer assignment in CPmat[i] (DefineCPThreshold)" << std:endl;
          |                                                                                ^
          |                                                                                ::
    src/comma_defpathways_nogap.cpp:323:4: error: duplicate label ‘std’
      323 |    std:endl << "Null pointer assignment in SSmat[i] (DefineCPThreshold)" << std:endl;
          |    ^~~
    src/comma_defpathways_nogap.cpp:323:13: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [56]’ to binary ‘operator<<’
      323 |    std:endl << "Null pointer assignment in SSmat[i] (DefineCPThreshold)" << std:endl;
          |        ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:323:80: error: found ‘:’ in nested-name-specifier, expected ‘::’
      323 |    std:endl << "Null pointer assignment in SSmat[i] (DefineCPThreshold)" << std:endl;
          |                                                                                ^
          |                                                                                ::
    src/comma_defpathways_nogap.cpp:409:9: warning: unused variable ‘threshold_CPext’ [-Wunused-variable]
      409 |  double threshold_CPext=(int(thresholdExt*100)*0.01);
          |         ^~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:422:9: warning: unused variable ‘threshold_CPbig’ [-Wunused-variable]
      422 |  double threshold_CPbig=(int(thresholdBig*100)*0.01);
          |         ^~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:295:3: warning: label ‘std’ defined but not used [-Wunused-label]
      295 |   std:endl << "Null pointer assignment in CPmat (DefineCPThreshold)" << std:endl;
          |   ^~~
    src/comma_defpathways_nogap.cpp: In member function ‘void DefineThresholds::readFile(std::string, double**, int&, int&)’:
    src/comma_defpathways_nogap.cpp:465:17: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [12]’ to binary ‘operator<<’
      465 |         std:endl<<"Opening of "<< fileName << " failed" << std::cerr;
          |             ~~~~^~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:465:9: warning: label ‘std’ defined but not used [-Wunused-label]
      465 |         std:endl<<"Opening of "<< fileName << " failed" << std::cerr;
          |         ^~~
    src/comma_defpathways_nogap.cpp: In constructor ‘DefinePathways::DefinePathways(int, int, double, double, int, std::string, std::string)’:
    src/comma_defpathways_nogap.cpp:518:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [28]’ to binary ‘operator<<’
      518 |   std:endl << "Error, unable to open file " << Name.c_str() << std::cerr;
          |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:536:3: error: duplicate label ‘std’
      536 |   std:endl << "Error, unable to open file " << Name2.c_str() << std::cerr;
          |   ^~~
    src/comma_defpathways_nogap.cpp:536:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [28]’ to binary ‘operator<<’
      536 |   std:endl << "Error, unable to open file " << Name2.c_str() << std::cerr;
          |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:553:3: error: duplicate label ‘std’
      553 |   std:endl << "Error, unable to open file " << fileName2.c_str() << std::cerr;
          |   ^~~
    src/comma_defpathways_nogap.cpp:553:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [28]’ to binary ‘operator<<’
      553 |   std:endl << "Error, unable to open file " << fileName2.c_str() << std::cerr;
          |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:518:3: warning: label ‘std’ defined but not used [-Wunused-label]
      518 |   std:endl << "Error, unable to open file " << Name.c_str() << std::cerr;
          |   ^~~
    src/comma_defpathways_nogap.cpp: In member function ‘void DefinePathways::ExtendNeighbour(int, double, double, int, int, int&)’:
    src/comma_defpathways_nogap.cpp:688:18: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [58]’ to binary ‘operator<<’
      688 |         std:endl << "Null pointer assignment for neighbours (ExtendNeighbour) " << std::cerr;
          |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:702:17: error: duplicate label ‘std’
      702 |                 std:endl << "Null pointer assignment for Pathss (ExtendNeighbour) " << std::cerr;
          |                 ^~~
    src/comma_defpathways_nogap.cpp:702:26: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [54]’ to binary ‘operator<<’
      702 |                 std:endl << "Null pointer assignment for Pathss (ExtendNeighbour) " << std::cerr;
          |                     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:688:9: warning: label ‘std’ defined but not used [-Wunused-label]
      688 |         std:endl << "Null pointer assignment for neighbours (ExtendNeighbour) " << std::cerr;
          |         ^~~
    src/comma_defpathways_nogap.cpp: In member function ‘void DefinePathways::Neighbour(int*, int, double, double, int, int, int*, int&)’:
    src/comma_defpathways_nogap.cpp:798:18: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [56]’ to binary ‘operator<<’
      798 |         std:endl << "Null pointer assignment for TempNeighbours (Neighbour) " << std::cerr;
          |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:803:9: error: duplicate label ‘std’
      803 |         std:endl << "Null pointer assignment for notSel (Neighbour) " << std::cerr;
          |         ^~~
    src/comma_defpathways_nogap.cpp:803:18: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [48]’ to binary ‘operator<<’
      803 |         std:endl << "Null pointer assignment for notSel (Neighbour) " << std::cerr;
          |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:798:9: warning: label ‘std’ defined but not used [-Wunused-label]
      798 |         std:endl << "Null pointer assignment for TempNeighbours (Neighbour) " << std::cerr;
          |         ^~~
    src/comma_defpathways_nogap.cpp: In member function ‘void DefinePathways::RemoveRedundancy(std::string, std::string)’:
    src/comma_defpathways_nogap.cpp:910:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [28]’ to binary ‘operator<<’
      910 |   std:endl << "Error, unable to open file " << Name.c_str() << std::cerr;
          |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:978:3: error: duplicate label ‘std’
      978 |   std:endl << "Error, unable to open file " << fileName2.c_str() << std::cerr;
          |   ^~~
    src/comma_defpathways_nogap.cpp:978:12: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [28]’ to binary ‘operator<<’
      978 |   std:endl << "Error, unable to open file " << fileName2.c_str() << std::cerr;
          |       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:910:3: warning: label ‘std’ defined but not used [-Wunused-label]
      910 |   std:endl << "Error, unable to open file " << Name.c_str() << std::cerr;
          |   ^~~
    src/comma_defpathways_nogap.cpp: In member function ‘void DefinePathways::writeFile(int, std::string, std::string, int)’:
    src/comma_defpathways_nogap.cpp:1004:18: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [28]’ to binary ‘operator<<’
     1004 |         std:endl << "Error, unable to open file " << fileName.c_str() << std::cerr;
          |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:1004:9: warning: label ‘std’ defined but not used [-Wunused-label]
     1004 |         std:endl << "Error, unable to open file " << fileName.c_str() << std::cerr;
          |         ^~~
    src/comma_defpathways_nogap.cpp: In member function ‘void DefinePathways::writeFileEmpty(std::string, std::string, int)’:
    src/comma_defpathways_nogap.cpp:1049:18: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [28]’ to binary ‘operator<<’
     1049 |         std:endl << "Error, unable to open file " << fileName.c_str() << std::cerr;
          |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:1049:9: warning: label ‘std’ defined but not used [-Wunused-label]
     1049 |         std:endl << "Error, unable to open file " << fileName.c_str() << std::cerr;
          |         ^~~
    src/comma_defpathways_nogap.cpp: In function ‘PyObject* define_pathways(PyObject*, PyObject*, PyObject*)’:
    src/comma_defpathways_nogap.cpp:1066:30: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
     1066 |     static char *kwlist[] = {"path", "protein", "nbres", "nbres2",
          |                              ^~~~~~
    src/comma_defpathways_nogap.cpp:1066:38: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
     1066 |     static char *kwlist[] = {"path", "protein", "nbres", "nbres2",
          |                                      ^~~~~~~~~
    src/comma_defpathways_nogap.cpp:1066:49: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
     1066 |     static char *kwlist[] = {"path", "protein", "nbres", "nbres2",
          |                                                 ^~~~~~~
    src/comma_defpathways_nogap.cpp:1066:58: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
     1066 |     static char *kwlist[] = {"path", "protein", "nbres", "nbres2",
          |                                                          ^~~~~~~~
    src/comma_defpathways_nogap.cpp:1067:30: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
     1067 |                              "gap", "threshold_cp", "threshold_int", "psr", NULL};
          |                              ^~~~~
    src/comma_defpathways_nogap.cpp:1067:37: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
     1067 |                              "gap", "threshold_cp", "threshold_int", "psr", NULL};
          |                                     ^~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:1067:53: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
     1067 |                              "gap", "threshold_cp", "threshold_int", "psr", NULL};
          |                                                     ^~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:1067:70: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
     1067 |                              "gap", "threshold_cp", "threshold_int", "psr", NULL};
          |                                                                      ^~~~~
    src/comma_defpathways_nogap.cpp:1089:18: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘const char [22]’ to binary ‘operator<<’
     1089 |         std:endl << "Manual argument PSR ("<< PSR <<")must be between 0 and 100" << nbRes << std::cerr;
          |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
    src/comma_defpathways_nogap.cpp:1089:9: warning: label ‘std’ defined but not used [-Wunused-label]
     1089 |         std:endl << "Manual argument PSR ("<< PSR <<")must be between 0 and 100" << nbRes << std::cerr;
          |         ^~~
    error: command 'gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /home/christos-efthymiou/anaconda3/envs/comma/bin/python3.5 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-mraumj0n/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-mraumj0n/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-skibzzut/install-record.txt --single-version-externally-managed --compile --install-headers /home/christos-efthymiou/anaconda3/envs/comma/include/python3.5m/COMMA Check the logs for full command output.

Is there a way to fix this error? Or do I need to run a virtual ubuntu desktop to be able to download such programs?

To note, both packages require building C extensions from source, which is quite non-trivial and almost certainly the source of the problems here, but if either package shipped either built wheels or conda packages, this wouldn’t be an issue; installation would be a breeze on any supported system. Unfortunately, that is not the case; PyContact ships a source distribution on PyPI, while COMMA2 is not on PyPI at all and only offers a download of a bespoke ZIP via their website, which is rather archaic. if you are in contact with them, I would suggest asking them to do so.

Also, to note, as the output states,

You are using a version of Python that has been EoL and unsupported for two years now; please upgrade. And to note, although it does not properly set python_requires, PyContact does imply in its Trove tags that it is compatible with only (?) Python 3.6.

In any case, I only see the commands, output and error message for COMMA2, so I don’t know if you’ve tried to build PyContact as well or what happened if you did. However, clearly, something is going wrong when trying to build the code Unfortunately, my knowledge of C extension building and these particular packages is limited enough that I cannot easily deduce from the compiler warnings and errors if there’s something you can easily do on your end to fix this, though it at least at a naive first look doesn’t appear like it has to do with WSL2.

While the authors of either package will be able to provide you with the best help most suited to their projects, its possible that experts here in this area, like @henryiii , might have some insight.