gmpy
gmpy copied to clipboard
Appveyor builds failing for Windows
The Appveyor builds are failing on Windows. It looks like the conda-forge recipe provide an old version of MPFR. Is it possible to specify the most recent version of MPFR (i.e.4.0.2)?
Note: the b1 release still defaulted to MPFR 3.1.5 but 4.0.2 is now the default. gmpy2 still supports MPFR 3.1.5 but the default is 4.0.2 and the logic doesn't recognize 3.1.5. I could make 3.1.5 the default but I'd rather use new versions if I could.
@isuruf
@casevh, do you have a log?
https://ci.appveyor.com/project/casevh/gmpy-tw9io/builds/31156167/job/77v0ysiu2o6hdfmo
I'm currently pointing it to my fork....
Here is the specific error:
Creating library build\temp.win32-3.5\Release\src\gmpy2.cp35-win32.lib and object build\temp.win32-3.5\Release\src\gmpy2.cp35-win32.exp gmpy2.obj : error LNK2001: unresolved external symbol _mpfr_rootn_ui build\lib.win32-3.5\gmpy2\gmpy2.cp35-win32.pyd : fatal error LNK1120: 1 unresolved externals error: command 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\link.exe' failed with exit status 1120 Command exited with code 1
_mpfr_rootn_ui is new function in MPFR 4+
Quick update...
The 32-bit builds are getting MPC 1.0.3 and gmpy2 defaults to 1.1.0. I'll try to update version requirements.
There appears to be another syntax issue. I'll try to track it down.
The 32-bit builds are getting MPC 1.0.3
conda-forge deprecated 32-bit builds a year ago. I'll try and get a build running.
I have fixed the compilation errors for 64-bit Python 2.7. The tests for the 64-bit builds don't seem to complete. Is it possible to get copies of the compiled extension for debugging?
Sure. Would it be easier if you could RDP into appveyor server? They let you RDP for one hour after the job started.
I found the RDP instructions. I'll try it tomorrow.
The runaway execution occurred in gmpy2.factorial(n). It took some time to track it down to the most likely cause - a bug in MPFR builds on Windows and 32-bit builds on Linux. I think it most likely related to systems with a 32-bit long. I'll work on a patch to make gmpy2 overflow to inf consistently.
IMO, not worth trying to build/test on 32-bit windows at all.
Also not worth doing Windows python 2.7 builds.
They are not used much at all and EOL in the case of 2.7, making the significant effort required not worth the time, speaking from experience on other projects.