sagemath/sage

cygwin-standard: fpylll build fails

Closed this issue · 24 comments

https://github.com/kliem/sage/runs/1625789472

  building 'fpylll.config' extension
  gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wno-unused -O2 -g -march=native -O2 -g -march=native -Isrc/fpylll/fplll -I/opt/sage-255cf51a4f41b054d32a39562102877b0b18969f/include -I/opt/sage-255cf51a4f41b054d32a39562102877b0b18969f/lib/python3.8/site-packages/numpy/core/include -I/opt/sage-255cf51a4f41b054d32a39562102877b0b18969f/include/python3.8 -c build/src/fpylll/config.cpp -o build/temp.cygwin-3.1.7-x86_64-3.8/build/src/fpylll/config.o -std=c++11 -O2 -g -march=native
  build/src/fpylll/config.cpp: In function 'int __pyx_pymod_exec_config(PyObject*)':
  build/src/fpylll/config.cpp:1807:37: error: 'FPLLL_WITH_RECURSIVE_ENUM' was not declared in this scope
   1807 |   __pyx_t_4 = __Pyx_PyBool_FromLong(FPLLL_WITH_RECURSIVE_ENUM); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40, __pyx_L1_error)
        |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~
  error: command 'gcc' failed with exit status 1
  Building wheel for fpylll (setup.py): finished with status 'error'

Depends on #31127

Upstream: Fixed upstream, in a later stable release.

CC: @malb @kliem

Component: packages: standard

Author: Matthias Koeppe

Branch/Commit: 1d379f7

Reviewer: Martin Albrecht

Issue created by migration from https://trac.sagemath.org/ticket/31146

malb commented
comment:1

FPLLL_WITH_RECURISVE_ENUM is something that's set in fplll_config.h by configure. Is configure somehow not run on cygwin? Can I see fplll_config.h produced by this run somewhere?

comment:2

The sage-local artifact (huge!) generated by the build should contain it

malb commented
comment:3

Have you managed to download this? It is reportedly 7.4 GB but I'm only able to download 2.0GB.

comment:4

Yes, I could download it but it turns out that it does not contain the package build directory; I'll investigate

comment:5

Actually it's there, it is in sage-local-iv.tar

malb commented
comment:6

Attachment: fpylll-0.5.4.zip

Sorry, I need the fplll_config.h file in FPLLL (without the "y"), and perhaps config.log It should define FPLLL_WITH_RECURISVE_ENUM but reportedly it doesn't. Which is odd.

comment:7

Attachment: fplll_config.h.gz

Here you go. The config.log from the fplll build was not saved by the run - it only keeps the build trees of failing packages.

malb commented
comment:8

Ta, found the bug. Cutting a new release.

malb commented
comment:9

What branch should base mine on?

malb commented

Upstream: Fixed upstream, in a later stable release.

comment:11

Replying to @malb:

What branch should base mine on?

To test with the newest version of the GH Actions workflow, merge the branch of #31064 and push a tag to github

malb commented
comment:12

Sorry, I'll need a bit of handholding here:

  • I'd check out u/mkoeppe/ci_cygwin__yml__adjust_to_new_script_packages__bootstrap___prereq from git://trac.sagemath.org/sage.git
  • Do my update
  • Push to GitHub? Which branch? I also might not have push rights to the GitHub repo
comment:13

Our GH Actions workflows run on every tag and on every pull request. The procedure is documented here: https://doc.sagemath.org/html/en/developer/portability_testing.html#automatic-parallel-tox-runs-on-github-actions
Any fork of the Sage repository with GH Actions enabled works for this purpose. I am using my fork at https://github.com/mkoeppe/sage

Commit: 1d379f7

New commits:

a34250ecorrectly detect homebrew fplll
36c157ctrac #31127: correct version test
fb33fd5Merge commit '36c157c4986eaf8d81361c783b55b4e2412976ee' of git://trac.sagemath.org/sage into t/31146/cygwin_standard__fpylll_build_fails
1d379f7build/pkgs/fpylll: Upgrade to 0.5.5

Author: Matthias Koeppe

Dependencies: #31127

malb commented
comment:17

Looks good to me. Sorry for me not stepping up earlier, I had the patch prepared but apparently failed to push it.

comment:19

cygwin-standard - https://github.com/mkoeppe/sage/runs/1713927049

  [fpylll-0.5.5] successfully installed.