Opened 2 years ago

Closed 2 years ago

#29453 closed enhancement (fixed)

Detect and use the system fflas-ffpack

Reported by: mjo Owned by:
Priority: major Milestone: sage-9.1
Component: build: configure Keywords:
Cc: embray, dimpase, mkoeppe, fbissey Merged in:
Authors: Michael Orlitzky Reviewers: Matthias Koeppe
Report Upstream: N/A Work issues:
Branch: bdac4ba (Commits, GitHub, GitLab) Commit: bdac4baa6598b8078d6ca2c8c6a6394290a668cb
Dependencies: Stopgaps:

Status badges

Description

This package already has an spkg-configure.m4 file and some distro information, but we can't yet detect and use the system copy. Here's hoping everyone ships the pkg-config file.

Change History (19)

comment:1 Changed 2 years ago by mjo

  • Branch set to u/mjo/ticket/29453
  • Cc embray dimpase mkoeppe fbissey added
  • Commit set to 5ce84981359826a88eed3f3c15db59d34954d1d7
  • Status changed from new to needs_review

Here's a go at this. I picked the lower version bound based on what Debian has on repology.


New commits:

4cada3fTrac #29453: use PKG_CHECK_MODULES to find a system fflas-ffpack.
5ce8498Trac #29453: add Gentoo package information for fflas-ffpack.

comment:2 Changed 2 years ago by mjo

  • Status changed from needs_review to needs_work

Eh, I see what's going on with the MP library stuff. Sage is installing MPIR but with everything named "gmp", so having the mpir SPKG installed does satisfy a "gmp" dependency. I'll have to add mpir to the DEPCHECK.

comment:3 Changed 2 years ago by mjo

  • Status changed from needs_work to needs_review

Oh, I accidentally got this one right.

comment:4 follow-up: Changed 2 years ago by mkoeppe

"Warning: this doesn't get executed with --without-system-fflas-ffpack" ... can this be fixed?

comment:5 in reply to: ↑ 4 Changed 2 years ago by mjo

Replying to mkoeppe:

"Warning: this doesn't get executed with --without-system-fflas-ffpack" ... can this be fixed?

The issue is already addressed upstream (but not in a release) by detecting support for -march=native and using that instead of a million individual flags. So reporting it upstream isn't going to do any good.

Option 1: I could move that code to the top-level configure.ac. I think it will serve its purpose there, although it will be a bit out of place.

Option 2: we could just disable those flags in spkg-install, and use #27122 to add back -march=native.

Option 3: leave it where it is, and count on the fact that nobody will want to build an extra copy of fflas-ffpack.

comment:6 follow-up: Changed 2 years ago by mkoeppe

Maybe just move to the PRE or POST argument of SAGE_SPKG_CONFIGURE(PACKAGE-NAME,[CHECK],[REQUIRED-CHECK],[PRE],[POST])

comment:7 Changed 2 years ago by git

  • Commit changed from 5ce84981359826a88eed3f3c15db59d34954d1d7 to 88c17179df3e8b6774dfe4dfb4c8659c019b35bc

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

88c1717Trac #29453: detect compiler flags in spkg-configure's POST phase.

comment:8 in reply to: ↑ 6 Changed 2 years ago by mjo

Replying to mkoeppe:

Maybe just move to the PRE or POST argument of SAGE_SPKG_CONFIGURE(PACKAGE-NAME,[CHECK],[REQUIRED-CHECK],[PRE],[POST])

Good idea, done.

comment:10 follow-up: Changed 2 years ago by mkoeppe

debian, fedora seem to work

Should add arch: fflas-ffpack and conda: fflas-ffpack

comment:11 in reply to: ↑ 10 Changed 2 years ago by mjo

Replying to mkoeppe:

Should add arch: fflas-ffpack and conda: fflas-ffpack

Can you just add them? I really don't want to sit through another rebuild after git checkout to add two lines of text =)

comment:12 Changed 2 years ago by mkoeppe

Sure, will do

comment:13 Changed 2 years ago by mkoeppe

  • Branch changed from u/mjo/ticket/29453 to u/mkoeppe/ticket/29453

comment:14 Changed 2 years ago by mkoeppe

  • Commit changed from 88c17179df3e8b6774dfe4dfb4c8659c019b35bc to a917baad301c8e20f39b1efc2cbcd6609a9c97cf

Tests at https://github.com/mkoeppe/sage/actions/runs/73955490


New commits:

a917baabuild/pkgs/fflas_ffpack/distros: Add more distributions

comment:15 follow-up: Changed 2 years ago by dimpase

  • Status changed from needs_review to needs_work

This does not work on Debian buster, as linbox needs a fresher fflas-ffpack:

checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for FFLAS_FFPACK... no
configure: error: Package requirements (fflas-ffpack >= 2.4.0) were not met:

Requested 'fflas-ffpack >= 2.4.0' but version of fflas-ffpack is 2.3.2
You may find new versions of fflas-ffpack at http://github.com/linbox-team/fflas-ffpack

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables FFLAS_FFPACK_CFLAGS
and FFLAS_FFPACK_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
****************************************************************************************************************************************************
Error configuring linbox-1.6.3

comment:16 in reply to: ↑ 15 Changed 2 years ago by mjo

Replying to dimpase:

This does not work on Debian buster, as linbox needs a fresher fflas-ffpack:

I guess I'll have to update the minimum version for now. When we're able to use the system linbox, we might be able to accept an older fflas-ffpack again. I'll open the linbox ticket now so we don't forget.

comment:17 Changed 2 years ago by mjo

  • Branch changed from u/mkoeppe/ticket/29453 to u/mjo/ticket/29453
  • Commit changed from a917baad301c8e20f39b1efc2cbcd6609a9c97cf to bdac4baa6598b8078d6ca2c8c6a6394290a668cb
  • Status changed from needs_work to needs_review

I opened #29484 for linbox, and set the bound on fflas-ffpack to 2.4.0 for now.


New commits:

56567acTrac #29453: require at least fflas-ffpack-2.4.0.
bdac4babuild/pkgs/fflas_ffpack/distros: Add more distributions

comment:18 Changed 2 years ago by mkoeppe

  • Authors set to Michael Orlitzky
  • Reviewers set to Matthias Koeppe
  • Status changed from needs_review to positive_review

This seems to work well (https://github.com/mkoeppe/sage/actions/runs/75739694). Only very new distributions have a sufficiently new version, of course.

By the way, on debian-buster-standard system fflas_ffpack is already not used because its dependency givaro is too old.

comment:19 Changed 2 years ago by vbraun

  • Branch changed from u/mjo/ticket/29453 to bdac4baa6598b8078d6ca2c8c6a6394290a668cb
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.