Skip to content

CI: AppVeyor builds failing on PyPy #3284

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

Closed
hugovk opened this issue Aug 4, 2018 · 0 comments
Closed

CI: AppVeyor builds failing on PyPy #3284

hugovk opened this issue Aug 4, 2018 · 0 comments

Comments

@hugovk
Copy link
Member

hugovk commented Aug 4, 2018

What did you do?

Do an AppVeyor Windows build on PyPy.

What did you expect to happen?

Pass, as it did 6 days:

What actually happened?

It failed. Here's that same PR rebuilt:

Collecting coverage>=3.7.1 (from pytest-cov)
Collecting scandir; python_version < "3.5" (from pathlib2>=2.2.0; python_version < "3.6"->pytest)
  Downloading https://files.pythonhosted.org/packages/50/a4/141939a8d213b2cf1b1d6b2704c6f6c07d4f1903df532af887c8e64e6815/scandir-1.8.tar.gz
Building wheels for collected packages: scandir
  Running setup.py bdist_wheel for scandir: started
  Running setup.py bdist_wheel for scandir: finished with status 'error'
  Complete output from command c:\vp\pypy2\bin\pypy.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\appveyor\\appdata\\local\\temp\\1\\pip-install-tb8im8\\scandir\\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-7oh920 --python-tag pp260:
  c:\pypy2-v6.0.0-win32\lib-python\2.7\distutils\extension.py:133: UserWarning: Unknown Extension options: 'optional'
    warnings.warn(msg)
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win32-2.7
  copying scandir.py -> build\lib.win32-2.7
  running build_ext
  building '_scandir' extension
  creating build\temp.win32-2.7
  creating build\temp.win32-2.7\Release
  C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ic:\vp\pypy2\include /Tc_scandir.c /Fobuild\temp.win32-2.7\Release\_scandir.obj
  _scandir.c
  _scandir.c(589) : warning C4244: 'function' : conversion from '__int64' to 'Py_ssize_t', possible loss of data
  _scandir.c(663) : warning C4273: 'PyPyStructSequence_UnnamedField' : inconsistent dll linkage
          c:\vp\pypy2\include\structseq.h(22) : see previous definition of 'PyPyStructSequence_UnnamedField'
  _scandir.c(891) : warning C4013: 'PyErr_SetExcFromWindowsErrWithFilenameObject' undefined; assuming extern returning int
  _scandir.c(892) : warning C4047: 'return' : 'PyObject *' differs in levels of indirection from 'int'
  _scandir.c(996) : warning C4047: 'return' : 'PyObject *' differs in levels of indirection from 'int'
  _scandir.c(1204) : warning C4047: 'return' : 'PyObject *' differs in levels of indirection from 'int'
  _scandir.c(1378) : warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  _scandir.c(1383) : warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:c:\pypy2-v6.0.0-win32\Libs /LIBPATH:c:\vp\pypy2\libs /EXPORT:init_scandir build\temp.win32-2.7\Release\_scandir.obj /OUT:build\lib.win32-2.7\_scandir.pypy-41.pyd /IMPLIB:build\temp.win32-2.7\Release\_scandir.pypy-41.lib /MANIFEST /MANIFESTFILE:build\temp.win32-2.7\Release\_scandir.pypy-41.pyd.manifest
     Creating library build\temp.win32-2.7\Release\_scandir.pypy-41.lib and object build\temp.win32-2.7\Release\_scandir.pypy-41.exp
  _scandir.obj : error LNK2019: unresolved external symbol _PyErr_SetExcFromWindowsErrWithFilenameObject referenced in function _path_error
  build\lib.win32-2.7\_scandir.pypy-41.pyd : fatal error LNK1120: 1 unresolved externals
  error: command 'C:\\Users\\appveyor\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\link.exe' failed with exit status 1120
  
  ----------------------------------------
  Failed building wheel for scandir
  Running setup.py clean for scandir
Failed to build scandir
Installing collected packages: py, six, attrs, more-itertools, atomicwrites, pluggy, funcsigs, scandir, pathlib2, colorama, pytest, coverage, pytest-cov
  Running setup.py install for scandir: started
    Running setup.py install for scandir: finished with status 'error'
    Complete output from command c:\vp\pypy2\bin\pypy.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\appveyor\\appdata\\local\\temp\\1\\pip-install-tb8im8\\scandir\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record c:\users\appveyor\appdata\local\temp\1\pip-record-dddvvd\install-record.txt --single-version-externally-managed --compile --install-headers c:\vp\pypy2\include\site\python2.7\scandir:
    c:\pypy2-v6.0.0-win32\lib-python\2.7\distutils\extension.py:133: UserWarning: Unknown Extension options: 'optional'
      warnings.warn(msg)
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-2.7
    copying scandir.py -> build\lib.win32-2.7
    running build_ext
    building '_scandir' extension
    creating build\temp.win32-2.7
    creating build\temp.win32-2.7\Release
    C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ic:\vp\pypy2\include /Tc_scandir.c /Fobuild\temp.win32-2.7\Release\_scandir.obj
    _scandir.c
    _scandir.c(589) : warning C4244: 'function' : conversion from '__int64' to 'Py_ssize_t', possible loss of data
    _scandir.c(663) : warning C4273: 'PyPyStructSequence_UnnamedField' : inconsistent dll linkage
            c:\vp\pypy2\include\structseq.h(22) : see previous definition of 'PyPyStructSequence_UnnamedField'
    _scandir.c(891) : warning C4013: 'PyErr_SetExcFromWindowsErrWithFilenameObject' undefined; assuming extern returning int
    _scandir.c(892) : warning C4047: 'return' : 'PyObject *' differs in levels of indirection from 'int'
    _scandir.c(996) : warning C4047: 'return' : 'PyObject *' differs in levels of indirection from 'int'
    _scandir.c(1204) : warning C4047: 'return' : 'PyObject *' differs in levels of indirection from 'int'
    _scandir.c(1378) : warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    _scandir.c(1383) : warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:c:\pypy2-v6.0.0-win32\Libs /LIBPATH:c:\vp\pypy2\libs /EXPORT:init_scandir build\temp.win32-2.7\Release\_scandir.obj /OUT:build\lib.win32-2.7\_scandir.pypy-41.pyd /IMPLIB:build\temp.win32-2.7\Release\_scandir.pypy-41.lib /MANIFEST /MANIFESTFILE:build\temp.win32-2.7\Release\_scandir.pypy-41.pyd.manifest
       Creating library build\temp.win32-2.7\Release\_scandir.pypy-41.lib and object build\temp.win32-2.7\Release\_scandir.pypy-41.exp
    _scandir.obj : error LNK2019: unresolved external symbol _PyErr_SetExcFromWindowsErrWithFilenameObject referenced in function _path_error
    build\lib.win32-2.7\_scandir.pypy-41.pyd : fatal error LNK1120: 1 unresolved externals
    error: command 'C:\\Users\\appveyor\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\link.exe' failed with exit status 1120
    
    ----------------------------------------
Command "c:\vp\pypy2\bin\pypy.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\appveyor\\appdata\\local\\temp\\1\\pip-install-tb8im8\\scandir\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record c:\users\appveyor\appdata\local\temp\1\pip-record-dddvvd\install-record.txt --single-version-externally-managed --compile --install-headers c:\vp\pypy2\include\site\python2.7\scandir" failed with error code 1 in c:\users\appveyor\appdata\local\temp\1\pip-install-tb8im8\scandir\
Command exited with code 1

This is caused by a new pytest release.

The passing build used pytest 3.6.4. The new pytest 3.7.1 (and 3.7.0, released 5 days ago) now depends on pathlib2 for Python < 3.4, which depends upon scandir, which doesn't build for PyPy on Windows.

Refs:

Should be fixed by:

Workaround:

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

No branches or pull requests

1 participant