Opened 2 years ago

Last modified 2 years ago

#29054 closed enhancement

polymake: Add system package lists for Perl prereqs, warn at sage ./configure time if missing — at Version 10

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.1
Component: packages: experimental Keywords:
Cc: dimpase, jhpalmieri, jipilab, arojas, isuruf, vdelecroix Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: u/mkoeppe/polymake__make_it_an_error_at_sage___configure_time_if_perl_prerequisites_are_missing (Commits, GitHub, GitLab) Commit: d4d832dc4f5fa3eee0d7ddf6ecac9717f1a17a9a
Dependencies: Stopgaps:

Status badges

Description (last modified by mkoeppe)

We do this by adding a script package perl_cpan_polymake_prereq (see #27763) with an spkg-configure.m4 that checks for the prerequisites and an spkg-install that always fails.

Simpler than #27763 and more reliable than depending on users reading build/pkgs/polymake/SPKG.txt

We also add lists of system packages in distros/.

Change History (10)

comment:1 Changed 2 years ago by mkoeppe

  • Branch set to u/mkoeppe/polymake__make_it_an_error_at_sage___configure_time_if_perl_prerequisites_are_missing

comment:2 Changed 2 years ago by jhpalmieri

  • Commit set to 12c2b2a793fda45f1df9c4522bd5f8c6ce04fa5a

Is this ready for review? Some comments, in any case: when I use this on OS X, perl_cpan_polymake_prereq fails to build, and its log file says:

.../sage-9.1.beta7/build/bin/sage-logger: line 91: .../sage-9.1.beta7/build/pkgs/perl_cpan_polymake_prereq/spkg-install: Permission denied

A key point is that it doesn't have a line matching the regular expression ^Error, so I see this:

The following package(s) may have failed to build (not necessarily
during this run of 'make polymake'):

It is safe to delete any log files and build directories, but they
contain information that is helpful for debugging build problems.
WARNING: If you now run 'make' again, the build directory of the
same version of the package will, by default, be deleted. Set the
environment variable SAGE_KEEP_BUILT_SPKGS=yes to prevent this.

I assume you're going to make spkg-install fail with a meaningful error message?


New commits:

fa4ec71bootstrap: Put SAGE_SPKG_ENABLE(...) before SAGE_SPKG_CONFIGURE_...
12c2b2aAdd script package perl_cpan_polymake_prereq

comment:3 Changed 2 years ago by mkoeppe

Thanks for the feedback. This ticket is not ready for review.

What it is missing (the same applies to the "libnauty" business on #27952) is a way for optional packages to signal configure-time errors ONLY if they are configured to be installed.

This is trickier than it sounds because optional packages may be dependencies of other optional packages. (See also #29363 At the end of configure, indicate which optional/experimental packages are configured to be installed)

comment:4 Changed 2 years ago by mkoeppe

See also - #29498 Do not check for system packages of disabled optional packages

comment:5 Changed 2 years ago by git

  • Commit changed from 12c2b2a793fda45f1df9c4522bd5f8c6ce04fa5a to e6b8e8092a47e960b7b565bf47f2f7afb05e5e7e

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

b1936c3bootstrap: Put SAGE_SPKG_ENABLE(...) before SAGE_SPKG_CONFIGURE_...
109b86dAdd script package perl_cpan_polymake_prereq
e6b8e80build/pkgs/perl_cpan_polymake_prereq: Rename spkg-install to spkg-install.in

comment:6 Changed 2 years ago by dimpase

+# known correct on Fedora 23 is a blast from the past. The names are still the same on Fedora 30.

comment:7 Changed 2 years ago by mkoeppe

  • Summary changed from polymake: Make it an error at sage ./configure time if Perl prerequisites are missing to polymake: Add system package lists for Perl prereqs, warn at sage ./configure time if missing

comment:8 Changed 2 years ago by git

  • Commit changed from e6b8e8092a47e960b7b565bf47f2f7afb05e5e7e to 41839e98ba24c75e2d3daf6b0d9c45b69cc77900

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

c02e263build/pkgs/perl_cpan_polymake_prereq/type: Change to optional
0958eb7build/pkgs/perl_cpan_polymake_prereq/spkg-configure.m4: Only warn when polymake is going to be installed
c19360ebuild/pkgs/perl_cpan_polymake_prereq/distros/fedora.txt: Remove outdated comment
41839e9Add #! to build/pkgs/perl_cpan_polymake_prereq/spkg-install (script package!)

comment:9 Changed 2 years ago by git

  • Commit changed from 41839e98ba24c75e2d3daf6b0d9c45b69cc77900 to d4d832dc4f5fa3eee0d7ddf6ecac9717f1a17a9a

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

d4d832dbuild/pkgs/perl_cpan_polymake_prereq/spkg-install: Better error message

comment:10 Changed 2 years ago by mkoeppe

  • Cc arojas isuruf added
  • Description modified (diff)
Note: See TracTickets for help on using tickets.