Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 0.4.2 fails to build on Windows/appveyor #62

Open
pombredanne opened this issue Sep 29, 2018 · 2 comments
Open

Version 0.4.2 fails to build on Windows/appveyor #62

pombredanne opened this issue Sep 29, 2018 · 2 comments

Comments

@pombredanne
Copy link
Contributor

I am using this repo to build wheels on multiple OSes (since this runs on Linux/Windows/macOS).
I added the 0.4.2 to the build and it fails to build on Python 2 on windows:
https://ci.appveyor.com/project/pombreda/thirdparty/build/1.0.54/job/q7bl8hnx5idl95wp#L99
with the failure trace below.
It could be that the Visual Studio compiler that must be used for building extension for Python 2.7 is too old? and may be this cannot be solved? Or may be this is just a matter of a tiny C++ syntax adjustment?

%PYTHON%\python.exe -m pip wheel --wheel-dir=wheels url
Collecting url
  Downloading https://files.pythonhosted.org/packages/58/1d/492737ab1ed4ed33ce5bc00a54e92b6ad26aa793cceed097a7af389c22b3/url-0.4.2.tar.gz (140kB)
Collecting six (from url)
  File was already downloaded c:\projects\thirdparty\wheels\six-1.11.0-py2.py3-none-any.whl
Skipping six, due to already being wheel.
Building wheels for collected packages: url
  Running setup.py bdist_wheel for url: started
  Running setup.py bdist_wheel for url: finished with status 'error'
  Complete output from command C:\Python27-x64\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\appveyor\\appdata\\local\\temp\\1\\pip-wheel-6v50ql\\url\\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 c:\users\appveyor\appdata\local\temp\1\pip-wheel-3eusha:
  Building from C++
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-2.7
  creating build\lib.win-amd64-2.7\url
  copying url\__init__.py -> build\lib.win-amd64-2.7\url
  creating build\lib.win-amd64-2.7\url\psl
  copying url\psl\2016-08-16.psl -> build\lib.win-amd64-2.7\url\psl
  running build_ext
  building 'url.url' extension
  creating build\temp.win-amd64-2.7
  creating build\temp.win-amd64-2.7\Release
  creating build\temp.win-amd64-2.7\Release\url
  creating build\temp.win-amd64-2.7\Release\url\url-cpp
  creating build\temp.win-amd64-2.7\Release\url\url-cpp\src
  C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Iurl/url-cpp/include -IC:\Python27-x64\include -IC:\Python27-x64\PC /Tpurl/url-cpp/src/url.cpp /Fobuild\temp.win-amd64-2.7\Release\url/url-cpp/src/url.obj -std=c++11
  cl : Command line warning D9002 : ignoring unknown option '-std=c++11'
  url.cpp
  C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\xlocale(342) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
  url/url-cpp/include\url.h(23) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  url/url-cpp/include\url.h(23) : error C2440: 'initializing' : cannot convert from 'std::_String_iterator<_Elem,_Traits,_Alloc>' to 'int'
          with
          [
              _Elem=char,
              _Traits=std::char_traits<char>,
              _Alloc=std::allocator<char>
          ]
          No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
  url/url-cpp/include\url.h(23) : error C2784: 'bool std::operator !=(const std::vector<_Ty,_Alloc> &,const std::vector<_Ty,_Alloc> &)' : could not deduce template argument for 'const std::vector<_Ty,_Alloc> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\vector(1314) : see declaration of 'std::operator !='
  url/url-cpp/include\url.h(23) : error C2784: 'bool std::operator !=(const std::list<_Ty,_Ax> &,const std::list<_Ty,_Ax> &)' : could not deduce template argument for 'const std::list<_Ty,_Ax> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\list(1302) : see declaration of 'std::operator !='
  url/url-cpp/include\url.h(23) : error C2784: 'bool std::operator !=(const std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem *)' : could not deduce template argument for 'const std::basic_string<_Elem,_Traits,_Alloc> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\string(120) : see declaration of 'std::operator !='
  url/url-cpp/include\url.h(23) : error C2784: 'bool std::operator !=(const _Elem *,const std::basic_string<_Elem,_Traits,_Alloc> &)' : could not deduce template argument for 'const _Elem *' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\string(110) : see declaration of 'std::operator !='
  url/url-cpp/include\url.h(23) : error C2784: 'bool std::operator !=(const std::basic_string<_Elem,_Traits,_Alloc> &,const std::basic_string<_Elem,_Traits,_Alloc> &)' : could not deduce template argument for 'const std::basic_string<_Elem,_Traits,_Alloc> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\string(100) : see declaration of 'std::operator !='
  url/url-cpp/include\url.h(23) : error C2784: 'bool std::operator !=(const std::istreambuf_iterator<_Elem,_Traits> &,const std::istreambuf_iterator<_Elem,_Traits> &)' : could not deduce template argument for 'const std::istreambuf_iterator<_Elem,_Traits> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\streambuf(557) : see declaration of 'std::operator !='
  url/url-cpp/include\url.h(23) : error C2784: 'bool std::operator !=(const std::allocator<_Ty> &,const std::allocator<_Other> &) throw()' : could not deduce template argument for 'const std::allocator<_Ty> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\xmemory(180) : see declaration of 'std::operator !='
  url/url-cpp/include\url.h(23) : error C2784: 'bool std::operator !=(const std::istream_iterator<_Ty,_Elem,_Traits,_Diff> &,const std::istream_iterator<_Ty,_Elem,_Traits,_Diff> &)' : could not deduce template argument for 'const std::istream_iterator<_Ty,_Elem,_Traits,_Diff> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\iterator(277) : see declaration of 'std::operator !='
  url/url-cpp/include\url.h(23) : error C2784: 'bool std::operator !=(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)' : could not deduce template argument for 'const std::reverse_iterator<_RanIt> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\xutility(2254) : see declaration of 'std::operator !='
  url/url-cpp/include\url.h(23) : error C2784: 'bool std::operator !=(const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &)' : could not deduce template argument for 'const std::_Revranit<_RanIt,_Base> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\xutility(2061) : see declaration of 'std::operator !='
  url/url-cpp/include\url.h(23) : error C2784: 'bool std::operator !=(const std::pair<_Ty1,_Ty2> &,const std::pair<_Ty1,_Ty2> &)' : could not deduce template argument for 'const std::pair<_Ty1,_Ty2> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\utility(91) : see declaration of 'std::operator !='
  url/url-cpp/include\url.h(23) : error C2677: binary '!=' : no global operator found which takes type 'std::_String_iterator<_Elem,_Traits,_Alloc>' (or there is no acceptable conversion)
          with
          [
              _Elem=char,
              _Traits=std::char_traits<char>,
              _Alloc=std::allocator<char>
          ]
  url/url-cpp/include\url.h(25) : error C2100: illegal indirection
  url/url-cpp/include\url.h(65) : error C2039: 'unordered_map' : is not a member of 'std'
  url/url-cpp/include\url.h(65) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  url/url-cpp/include\url.h(65) : error C2143: syntax error : missing ';' before '<'
  url/url-cpp/include\url.h(65) : error C2238: unexpected token(s) preceding ';'
  url/url-cpp/include\url.h(66) : error C2039: 'unordered_set' : is not a member of 'std'
  url/url-cpp/include\url.h(66) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  url/url-cpp/include\url.h(66) : error C2143: syntax error : missing ';' before '<'
  url/url-cpp/include\url.h(66) : error C2238: unexpected token(s) preceding ';'
  url/url-cpp/include\url.h(67) : error C2039: 'unordered_set' : is not a member of 'std'
  url/url-cpp/include\url.h(67) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  url/url-cpp/include\url.h(67) : error C2143: syntax error : missing ';' before '<'
  url/url-cpp/include\url.h(67) : error C2086: 'const int Url::Url::unordered_set' : redefinition
          url/url-cpp/include\url.h(66) : see declaration of 'Url::Url::unordered_set'
  url/url-cpp/include\url.h(67) : error C2238: unexpected token(s) preceding ';'
  url/url-cpp/include\url.h(68) : error C2039: 'unordered_set' : is not a member of 'std'
  url/url-cpp/include\url.h(68) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  url/url-cpp/include\url.h(68) : error C2143: syntax error : missing ';' before '<'
  url/url-cpp/include\url.h(68) : error C2086: 'const int Url::Url::unordered_set' : redefinition
          url/url-cpp/include\url.h(66) : see declaration of 'Url::Url::unordered_set'
  url/url-cpp/include\url.h(68) : error C2238: unexpected token(s) preceding ';'
  url/url-cpp/include\url.h(69) : error C2039: 'unordered_set' : is not a member of 'std'
  url/url-cpp/include\url.h(69) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  url/url-cpp/include\url.h(69) : error C2143: syntax error : missing ';' before '<'
  url/url-cpp/include\url.h(69) : error C2086: 'const int Url::Url::unordered_set' : redefinition
          url/url-cpp/include\url.h(66) : see declaration of 'Url::Url::unordered_set'
  url/url-cpp/include\url.h(69) : error C2238: unexpected token(s) preceding ';'
  url/url-cpp/include\url.h(72) : error C2039: 'function' : is not a member of 'std'
  url/url-cpp/include\url.h(72) : error C2143: syntax error : missing ';' before '<'
  url/url-cpp/include\url.h(72) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  url/url-cpp/include\url.h(72) : error C2238: unexpected token(s) preceding ';'
  url/url-cpp/include\url.h(226) : error C2039: 'unordered_set' : is not a member of 'std'
  url/url-cpp/include\url.h(226) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  url/url-cpp/include\url.h(226) : error C2143: syntax error : missing ',' before '<'
  url/url-cpp/include\url.h(235) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  url/url-cpp/include\url.h(235) : error C2143: syntax error : missing ',' before '&'
  url/url-cpp/include\url.h(235) : error C2535: 'Url::Url &Url::Url::deparam(const int)' : member function already defined or declared
          url/url-cpp/include\url.h(226) : see declaration of 'Url::Url::deparam'
  url/url-cpp/include\url.h(297) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  url/url-cpp/include\url.h(297) : error C2143: syntax error : missing ',' before '&'
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(19) : error C2146: syntax error : missing ';' before identifier 'codepoint_t'
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(19) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(19) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(29) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(29) : error C2146: syntax error : missing ';' before identifier 'MAX_CODEPOINT'
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(29) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(29) : error C2864: 'Url::Utf8::MAX_CODEPOINT' : only static const integral data members can be initialized within a class
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(34) : error C2146: syntax error : missing ';' before identifier 'readCodepoint'
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(34) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(34) : error C2373: 'Url::Utf8::codepoint_t' : redefinition; different type modifiers
          c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(29) : see declaration of 'Url::Utf8::codepoint_t'
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(34) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(35) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(35) : warning C4183: 'readCodepoint': missing return type; assumed to be a member function returning 'int'
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(40) : error C2061: syntax error : identifier 'codepoint_t'
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(45) : error C2146: syntax error : missing ';' before identifier 'toCodepoint'
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(45) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(45) : error C2373: 'Url::Utf8::codepoint_t' : redefinition; different type modifiers
          c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(29) : see declaration of 'Url::Utf8::codepoint_t'
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(45) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(46) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(49) : warning C4183: 'toCodepoint': missing return type; assumed to be a member function returning 'int'
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(54) : error C2061: syntax error : identifier 'codepoint_t'
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(64) : error C2923: 'std::vector' : 'codepoint_t' is not a valid template type argument for parameter '_Ty'
          c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(29) : see declaration of 'codepoint_t'
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(77) : error C2923: 'std::vector' : 'codepoint_t' is not a valid template type argument for parameter '_Ty'
          c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(29) : see declaration of 'codepoint_t'
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(47) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(47) : error C2440: 'initializing' : cannot convert from 'std::_String_const_iterator<_Elem,_Traits,_Alloc>' to 'int'
          with
          [
              _Elem=char,
              _Traits=std::char_traits<char>,
              _Alloc=std::allocator<char>
          ]
          No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(48) : error C2664: 'Url::Utf8::readCodepoint' : cannot convert parameter 1 from 'int' to 'std::_String_const_iterator<_Elem,_Traits,_Alloc> &'
          with
          [
              _Elem=char,
              _Traits=std::char_traits<char>,
              _Alloc=std::allocator<char>
          ]
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(57) : error C2065: 'value' : undeclared identifier
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(66) : error C2923: 'std::vector' : 'codepoint_t' is not a valid template type argument for parameter '_Ty'
          c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(29) : see declaration of 'codepoint_t'
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(67) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(67) : error C2440: 'initializing' : cannot convert from 'std::_String_const_iterator<_Elem,_Traits,_Alloc>' to 'int'
          with
          [
              _Elem=char,
              _Traits=std::char_traits<char>,
              _Alloc=std::allocator<char>
          ]
          No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(67) : error C2784: 'bool std::operator !=(const std::vector<_Ty,_Alloc> &,const std::vector<_Ty,_Alloc> &)' : could not deduce template argument for 'const std::vector<_Ty,_Alloc> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\vector(1314) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(67) : error C2784: 'bool std::operator !=(const std::list<_Ty,_Ax> &,const std::list<_Ty,_Ax> &)' : could not deduce template argument for 'const std::list<_Ty,_Ax> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\list(1302) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(67) : error C2784: 'bool std::operator !=(const std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem *)' : could not deduce template argument for 'const std::basic_string<_Elem,_Traits,_Alloc> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\string(120) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(67) : error C2784: 'bool std::operator !=(const _Elem *,const std::basic_string<_Elem,_Traits,_Alloc> &)' : could not deduce template argument for 'const _Elem *' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\string(110) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(67) : error C2784: 'bool std::operator !=(const std::basic_string<_Elem,_Traits,_Alloc> &,const std::basic_string<_Elem,_Traits,_Alloc> &)' : could not deduce template argument for 'const std::basic_string<_Elem,_Traits,_Alloc> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\string(100) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(67) : error C2784: 'bool std::operator !=(const std::istreambuf_iterator<_Elem,_Traits> &,const std::istreambuf_iterator<_Elem,_Traits> &)' : could not deduce template argument for 'const std::istreambuf_iterator<_Elem,_Traits> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\streambuf(557) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(67) : error C2784: 'bool std::operator !=(const std::allocator<_Ty> &,const std::allocator<_Other> &) throw()' : could not deduce template argument for 'const std::allocator<_Ty> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\xmemory(180) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(67) : error C2784: 'bool std::operator !=(const std::istream_iterator<_Ty,_Elem,_Traits,_Diff> &,const std::istream_iterator<_Ty,_Elem,_Traits,_Diff> &)' : could not deduce template argument for 'const std::istream_iterator<_Ty,_Elem,_Traits,_Diff> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\iterator(277) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(67) : error C2784: 'bool std::operator !=(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)' : could not deduce template argument for 'const std::reverse_iterator<_RanIt> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\xutility(2254) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(67) : error C2784: 'bool std::operator !=(const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &)' : could not deduce template argument for 'const std::_Revranit<_RanIt,_Base> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\xutility(2061) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(67) : error C2784: 'bool std::operator !=(const std::pair<_Ty1,_Ty2> &,const std::pair<_Ty1,_Ty2> &)' : could not deduce template argument for 'const std::pair<_Ty1,_Ty2> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\utility(91) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(67) : error C2677: binary '!=' : no global operator found which takes type 'std::_String_const_iterator<_Elem,_Traits,_Alloc>' (or there is no acceptable conversion)
          with
          [
              _Elem=char,
              _Traits=std::char_traits<char>,
              _Alloc=std::allocator<char>
          ]
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(69) : error C2664: 'Url::Utf8::readCodepoint' : cannot convert parameter 1 from 'int' to 'std::_String_const_iterator<_Elem,_Traits,_Alloc> &'
          with
          [
              _Elem=char,
              _Traits=std::char_traits<char>,
              _Alloc=std::allocator<char>
          ]
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(80) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(80) : error C2440: 'initializing' : cannot convert from 'std::_Vector_const_iterator<_Ty,_Alloc>' to 'int'
          with
          [
              _Ty=int,
              _Alloc=std::allocator<int>
          ]
          No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(80) : error C2784: 'bool std::operator !=(const std::vector<_Ty,_Alloc> &,const std::vector<_Ty,_Alloc> &)' : could not deduce template argument for 'const std::vector<_Ty,_Alloc> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\vector(1314) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(80) : error C2784: 'bool std::operator !=(const std::list<_Ty,_Ax> &,const std::list<_Ty,_Ax> &)' : could not deduce template argument for 'const std::list<_Ty,_Ax> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\list(1302) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(80) : error C2784: 'bool std::operator !=(const std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem *)' : could not deduce template argument for 'const std::basic_string<_Elem,_Traits,_Alloc> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\string(120) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(80) : error C2784: 'bool std::operator !=(const _Elem *,const std::basic_string<_Elem,_Traits,_Alloc> &)' : could not deduce template argument for 'const _Elem *' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\string(110) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(80) : error C2784: 'bool std::operator !=(const std::basic_string<_Elem,_Traits,_Alloc> &,const std::basic_string<_Elem,_Traits,_Alloc> &)' : could not deduce template argument for 'const std::basic_string<_Elem,_Traits,_Alloc> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\string(100) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(80) : error C2784: 'bool std::operator !=(const std::istreambuf_iterator<_Elem,_Traits> &,const std::istreambuf_iterator<_Elem,_Traits> &)' : could not deduce template argument for 'const std::istreambuf_iterator<_Elem,_Traits> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\streambuf(557) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(80) : error C2784: 'bool std::operator !=(const std::allocator<_Ty> &,const std::allocator<_Other> &) throw()' : could not deduce template argument for 'const std::allocator<_Ty> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\xmemory(180) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(80) : error C2784: 'bool std::operator !=(const std::istream_iterator<_Ty,_Elem,_Traits,_Diff> &,const std::istream_iterator<_Ty,_Elem,_Traits,_Diff> &)' : could not deduce template argument for 'const std::istream_iterator<_Ty,_Elem,_Traits,_Diff> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\iterator(277) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(80) : error C2784: 'bool std::operator !=(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)' : could not deduce template argument for 'const std::reverse_iterator<_RanIt> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\xutility(2254) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(80) : error C2784: 'bool std::operator !=(const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &)' : could not deduce template argument for 'const std::_Revranit<_RanIt,_Base> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\xutility(2061) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(80) : error C2784: 'bool std::operator !=(const std::pair<_Ty1,_Ty2> &,const std::pair<_Ty1,_Ty2> &)' : could not deduce template argument for 'const std::pair<_Ty1,_Ty2> &' from 'int'
          C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\utility(91) : see declaration of 'std::operator !='
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(80) : error C2677: binary '!=' : no global operator found which takes type 'std::_Vector_const_iterator<_Ty,_Alloc>' (or there is no acceptable conversion)
          with
          [
              _Ty=int,
              _Alloc=std::allocator<int>
          ]
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(82) : error C2100: illegal indirection
  c:\users\appveyor\appdata\local\temp\1\pip-wheel-6v50ql\url\url\url-cpp\include\utf8.h(82) : error C2660: 'Url::Utf8::writeCodepoint' : function does not take 2 arguments
  url/url-cpp/include\punycode.h(17) : error C2146: syntax error : missing ';' before identifier 'punycode_uint'
  url/url-cpp/include\punycode.h(17) : error C2720: 'Url::Utf8::codepoint_t' : 'typedef ' storage-class specifier illegal on members
  url/url-cpp/include\punycode.h(17) : error C2888: 'const int Url::Utf8::codepoint_t' : symbol cannot be defined within namespace 'Punycode'
  url/url-cpp/include\punycode.h(17) : error C2734: 'Url::Utf8::codepoint_t' : const object must be initialized if not extern
  url/url-cpp/include\punycode.h(17) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  url/url-cpp/include\punycode.h(28) : error C2065: 'int8_t' : undeclared identifier
  url/url-cpp/include\punycode.h(28) : error C2552: 'Url::Punycode::BASIC_TO_DIGIT' : non-aggregates cannot be initialized with initializer list
          'std::vector' : Types with a base are not aggregate
  url/url-cpp/include\punycode.h(56) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  url/url-cpp/include\punycode.h(56) : error C2146: syntax error : missing ';' before identifier 'MAX_PUNYCODE_UINT'
  url/url-cpp/include\punycode.h(56) : error C2373: 'Url::Punycode::punycode_uint' : redefinition; different type modifiers
          url/url-cpp/include\punycode.h(17) : see declaration of 'Url::Punycode::punycode_uint'
  url/url-cpp/include\punycode.h(56) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  url/url-cpp/include\punycode.h(56) : error C2039: 'numeric_limits' : is not a member of 'std'
  url/url-cpp/include\punycode.h(56) : error C2065: 'numeric_limits' : undeclared identifier
  url/url-cpp/include\punycode.h(56) : error C2039: 'max' : is not a member of '`global namespace''
  url/url-cpp/include\punycode.h(56) : error C3861: 'max': identifier not found
  url/url-cpp/include\punycode.h(98) : error C2146: syntax error : missing ';' before identifier 'adapt'
  url/url-cpp/include\punycode.h(98) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  url/url-cpp/include\punycode.h(98) : error C2086: 'int Url::Punycode::punycode_uint' : redefinition
          url/url-cpp/include\punycode.h(17) : see declaration of 'Url::Punycode::punycode_uint'
  url/url-cpp/include\punycode.h(99) : error C2146: syntax error : missing ')' before identifier 'delta'
  url/url-cpp/include\punycode.h(99) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  url/url-cpp/include\punycode.h(99) : error C2059: syntax error : ')'
  url/url-cpp/include\punycode.h(99) : fatal error C1003: error count exceeds 100; stopping compilation
  error: command 'C:\\Users\\appveyor\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\cl.exe' failed with exit status 2
  
  ----------------------------------------
  Failed building wheel for url
  Running setup.py clean for url
Failed to build url
ERROR: Failed to build one or more wheels
@pombredanne pombredanne changed the title Version 0.4.2 fails to buidl on Windows/appveyor Version 0.4.2 fails to build on Windows/appveyor Sep 29, 2018
@dlecocq
Copy link
Contributor

dlecocq commented Oct 1, 2018

On its face, it looks like it's upset about auto (https://github.com/seomoz/url-cpp/blob/e884eac2ab8ef3b4a93333dd79df97650fbb45bf/include/url.h#L23), and just prior it seems to not be able to consume the -std=c++11 (and this definitely needs C++11 as written). The types could be made more specific to make it easier for old compilers, but at this point I don't remember off hand if we're using any other C++11-specific features in url-cpp.

I have very little experience with Windows, but I would suspect either the version is too old or it needs an different flag. Based on this (https://msdn.microsoft.com/en-us/library/hh567368.aspx), I imagine you'd need at least VS2010

@pombredanne
Copy link
Contributor Author

I have little experience with Windows too but something I am sure of is that Python 2.x is very peculiar about the version of the compiler that must be used to compile a native extension... so it may not be easy to fix at all (short may be of using MinGW or else?)

So do not sweat this for now: I can use the older version 0.2.0 that is still pure Python for now until I migrate to Python 3 soon enough.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants