Opened 2 years ago

Closed 2 years ago

Last modified 17 months ago

#22800 closed defect (fixed)

Cygwin patches for libfplll 5.1.0 / fpylll 0.2.4dev

Reported by: embray Owned by: embray
Priority: blocker Milestone: sage-8.0
Component: porting: Cygwin Keywords: windows cygwin fplll fpylll
Cc: Merged in:
Authors: Erik Bray Reviewers: Travis Scrimshaw
Report Upstream: Fixed upstream, but not in a stable release. Work issues:
Branch: 0b1961d (Commits) Commit:
Dependencies: Stopgaps:

Description (last modified by embray)

Two issues with fplll on Cygwin:

1) Build blocker detailed at https://github.com/fplll/fplll/pull/243

2) Minor fixes needed for make check to pass on Cygwin: https://github.com/fplll/fplll/pull/242

3) Build blocker for fpylll, due to a few missed cases regarding long double support: https://github.com/fplll/fpylll/pull/64

Change History (16)

comment:1 Changed 2 years ago by embray

  • Keywords windows cygwin fplll added
  • Owner changed from (none) to embray

comment:2 Changed 2 years ago by embray

  • Description modified (diff)
  • Keywords fpylll added
  • Summary changed from Cygwin patches for libfplll 5.1.0 to Cygwin patches for libfplll 5.1.0 / fpylll 0.2.4dev

comment:3 Changed 2 years ago by embray

  • Authors set to Erik Bray
  • Branch set to u/embray/defect/cygwin/libfplll-5.1.0
  • Commit set to 9d99d78028ac1c47a2a60e09b0812f5a673f6ee1
  • Description modified (diff)
  • Status changed from new to needs_review

Attached patches to fix the fplll and fpylll builds on Cygwin.


New commits:

2fd76c9Fix building libfplll 5.1.0 on Cygwin
9d99d78Adds patch for the current version of fpylll to build / pass tests on Cygwin

comment:4 Changed 2 years ago by tscrim

  • Reviewers set to Travis Scrimshaw

Since all patches are accepted upstream, I am willing to set this to a positive review. However, I am unable to build this (both Cygwin 32 and 64):

/home/Travis/sage/local/var/tmp/sage/build/libfplll-5.1.0.p0/src/missing: line 81: aclocal-1.14: command not found

Although I suspect this is an issue with my setup. Any thoughts?

comment:5 Changed 2 years ago by embray

  • Status changed from needs_review to needs_work

No, I think that might be a real issue--I've made this mistake before. My patch modifies configure before configure.ac, so then it thinks my configure.ac is newer than my configure and tries to re-run autoconf. If you don't have the right autoconf installed then you'll get this error. Thanks for testing that.

comment:6 Changed 2 years ago by git

  • Commit changed from 9d99d78028ac1c47a2a60e09b0812f5a673f6ee1 to 3a5b000527841a04824fa26ffd11e707e438cad3

Branch pushed to git repo; I updated commit sha1. New commits:

3a5b000Re-order patch so that configure.ac is modified before configure

comment:7 Changed 2 years ago by embray

  • Status changed from needs_work to needs_review

Now the patch shouldn't cause autoconf to be invoked.

Last edited 2 years ago by embray (previous) (diff)

comment:8 Changed 2 years ago by tscrim

Still doesn't work. I also have a large offset in my configure patching:

[libfplll-5.1.0.p0] Applying ../patches/disable-recursive-enum.patch
[libfplll-5.1.0.p0] patching file configure.ac
[libfplll-5.1.0.p0] patching file configure
[libfplll-5.1.0.p0] Hunk #1 succeeded at 774 (offset -2 lines).
[libfplll-5.1.0.p0] Hunk #2 succeeded at 1418 (offset -3 lines).
[libfplll-5.1.0.p0] Hunk #3 succeeded at 17628 (offset -595 lines).

Here is the last part of the log:

[libfplll-5.1.0.p0] checking that generated files are newer than configure... done
[libfplll-5.1.0.p0] configure: creating ./config.status
[libfplll-5.1.0.p0] config.status: creating Makefile
[libfplll-5.1.0.p0] config.status: creating fplll/Makefile
[libfplll-5.1.0.p0] config.status: creating tests/Makefile
[libfplll-5.1.0.p0] config.status: creating fplll.pc
[libfplll-5.1.0.p0] config.status: creating config.h
[libfplll-5.1.0.p0] config.status: creating fplll/fplll_config.h
[libfplll-5.1.0.p0] config.status: executing depfiles commands
[libfplll-5.1.0.p0] config.status: executing libtool commands
[libfplll-5.1.0.p0] Now building fplll...
[libfplll-5.1.0.p0] make[2]: Entering directory '/home/Travis/sage/local/var/tmp/sage/build/libfplll-5.1.0.p0/src'
[libfplll-5.1.0.p0] CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /home/Travis/sage/local/var/tmp/sage/build/libfplll-5.1.0.p0/src/missing aclocal-1.14 -I m4
[libfplll-5.1.0.p0] /home/Travis/sage/local/var/tmp/sage/build/libfplll-5.1.0.p0/src/missing: line 81: aclocal-1.14: command not found
[libfplll-5.1.0.p0] WARNING: 'aclocal-1.14' is missing on your system.
[libfplll-5.1.0.p0]          You should only need it if you modified 'acinclude.m4' or
[libfplll-5.1.0.p0]          'configure.ac' or m4 files included by 'configure.ac'.
[libfplll-5.1.0.p0]          The 'aclocal' program is part of the GNU Automake package:
[libfplll-5.1.0.p0]          <http://www.gnu.org/software/automake>
[libfplll-5.1.0.p0]          It also requires GNU Autoconf, GNU m4 and Perl in order to run:
[libfplll-5.1.0.p0]          <http://www.gnu.org/software/autoconf>
[libfplll-5.1.0.p0]          <http://www.gnu.org/software/m4/>
[libfplll-5.1.0.p0]          <http://www.perl.org/>
[libfplll-5.1.0.p0] make[2]: *** [Makefile:398: aclocal.m4] Error 127

comment:9 Changed 2 years ago by embray

The offsets aren't a big deal--I think it's just because of different versions of autoconf used to generate the original file versus the patch.

The fact that it's still not working for you could come down to granularity of mtimes still being too low such that the files look like they were modified simultaneously. Maybe this should just include the patch to configure and not to configure.ac, or at the very least touch configure before running it.

comment:10 Changed 2 years ago by embray

That said, I'm looking around and there are other patches in sage that patch configure.ac/configure.in before configure, so you should either have the same problem with those (try ecm, for example) or there's something else going on.

comment:11 Changed 2 years ago by git

  • Commit changed from 3a5b000527841a04824fa26ffd11e707e438cad3 to 0b1961d997d28d78e62fb1fcb3dfed3a407dcca3

Branch pushed to git repo; I updated commit sha1. New commits:

0b1961dRemoved configure.ac changes entirely from patch applied when building in Sage

comment:12 Changed 2 years ago by tscrim

  • Status changed from needs_review to positive_review

I didn't have any trouble with ecm (I just rebuilt it). This now builds with the latest branch. Thanks.

comment:13 Changed 2 years ago by embray

  • Priority changed from major to blocker

comment:14 Changed 2 years ago by vbraun

  • Branch changed from u/embray/defect/cygwin/libfplll-5.1.0 to 0b1961d997d28d78e62fb1fcb3dfed3a407dcca3
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:15 follow-up: Changed 17 months ago by jdemeyer

  • Commit 0b1961d997d28d78e62fb1fcb3dfed3a407dcca3 deleted

Meanwhile, there are new releases of these packages: #24042

comment:16 in reply to: ↑ 15 Changed 17 months ago by embray

Replying to jdemeyer:

Meanwhile, there are new releases of these packages: #24042

I assume that means these patches can be removed? :)

Note: See TracTickets for help on using tickets.