gmpy icon indicating copy to clipboard operation
gmpy copied to clipboard

Appveyor builds failing for Windows

Open casevh opened this issue 4 years ago • 10 comments

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 avatar Mar 01 '20 04:03 casevh

@casevh, do you have a log?

isuruf avatar Mar 01 '20 04:03 isuruf

https://ci.appveyor.com/project/casevh/gmpy-tw9io/builds/31156167/job/77v0ysiu2o6hdfmo

I'm currently pointing it to my fork....

casevh avatar Mar 01 '20 04:03 casevh

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+

casevh avatar Mar 01 '20 04:03 casevh

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.

casevh avatar Mar 01 '20 05:03 casevh

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.

isuruf avatar Mar 01 '20 05:03 isuruf

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?

casevh avatar Mar 02 '20 05:03 casevh

Sure. Would it be easier if you could RDP into appveyor server? They let you RDP for one hour after the job started.

isuruf avatar Mar 02 '20 06:03 isuruf

I found the RDP instructions. I'll try it tomorrow.

casevh avatar Mar 02 '20 06:03 casevh

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.

casevh avatar Mar 30 '20 18:03 casevh

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.

pkittenis avatar Oct 03 '20 15:10 pkittenis