Opened 22 months ago

Closed 20 months ago

Last modified 20 months ago

#31575 closed enhancement (fixed)

Remove full boost package

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.4
Component: packages: optional Keywords:
Cc: dimpase, vbraun, jhpalmieri, charpent, fbissey Merged in:
Authors: John Palmieri Reviewers: Matthias Koeppe
Report Upstream: N/A Work issues:
Branch: 3044c82 (Commits, GitHub, GitLab) Commit:
Dependencies: Stopgaps:

Status badges

Description

(from #29620)

We propose to remove the full boost package, which was added in 2016 (#20754, #20776) and updated once in 2018 (#26597), and only offer our cropped version of boost, which is enough for all of our packages.

We argue that it's not Sage's job to provide a full boost installation.

Change History (20)

comment:1 Changed 22 months ago by jhpalmieri

I don't see boost listed as a dependency for any other package or any doctests that depend on it. Can we just delete build/pkgs/boost?

comment:2 Changed 22 months ago by fbissey

No doctests depend on it. It can be used instead of boost_cropped though. The point of it is that some people wanted the full boost rather than a little bit being available in sage. Either because they wanted to use it or install packages through pip that may need it.

Some optional packages could have undeclared dependency but chances are low.

As we move to use more and more system packages - including boost, I am OK with a move to remove it.

comment:3 in reply to:  2 ; Changed 22 months ago by jhpalmieri

Replying to fbissey:

Some optional packages could have undeclared dependency but chances are low.

Especially since our boost package has been around so long as an optional package.

As we move to use more and more system packages - including boost, I am OK with a move to remove it.

Right, and boost_cropped will skip installation and use the system boost if it's present.

comment:4 in reply to:  3 Changed 22 months ago by fbissey

Replying to jhpalmieri:

Replying to fbissey:

As we move to use more and more system packages - including boost, I am OK with a move to remove it.

Right, and boost_cropped will skip installation and use the system boost if it's present.

Exactly. boost is a somewhat high demand maintenance package. There are regular releases and the build system is highly unusual. Working on it has shown some interesting quirks. I won't be sorry to see it go.

comment:5 Changed 22 months ago by jhpalmieri

I think that the boost options in ./configure should be kept (so that users can specify non-standard locations for a boost library), but I'm not sure.

comment:6 Changed 22 months ago by fbissey

The boost option in configure is provided from build/pkgs/boost_cropped/spkg-configure.m4 if I am not mistaken. The stuff in the boost folder makes sure that boost and boost_cropped are not installed at the same time I think.

comment:7 Changed 22 months ago by jhpalmieri

There is also m4/ax_boost_base.m4.

comment:8 in reply to:  7 Changed 22 months ago by fbissey

Replying to jhpalmieri:

There is also m4/ax_boost_base.m4.

Yes, https://github.com/sagemath/sage/blob/develop/build/pkgs/boost_cropped/spkg-configure.m4's only job is to call it.

comment:9 Changed 22 months ago by jhpalmieri

Branch: u/jhpalmieri/crop-boost

comment:10 Changed 22 months ago by jhpalmieri

Authors: John Palmieri
Commit: 0c0caa2c63903a3a3aed83001672b8dc32c02abb
Status: newneeds_review

Here's a branch to consider.


New commits:

0c0caa2trac 31575: remove the full boost package

comment:11 Changed 22 months ago by mkoeppe

Distros information for boost for nix and void should be moved to boost_cropped. I haven't checked whether the other distro files are identical

comment:12 Changed 22 months ago by git

Commit: 0c0caa2c63903a3a3aed83001672b8dc32c02abb3044c82996c64f9bbbe5822f34449b653f0bfba9

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

3044c82trac 31575: keep distro files nix.txt, void.txt for boost,

comment:13 Changed 22 months ago by jhpalmieri

The other distro files are all identical.

comment:14 Changed 22 months ago by mkoeppe

Reviewers: Matthias Koeppe

LGTM.

This is for the Sage 9.4 series, right? Then I don't set it to positive review yet - Volker's merging scripts do not look at the Milestone field - https://groups.google.com/g/sage-devel/c/EN8IOtySC-w/m/l9dVq3_2CQAJ

comment:15 Changed 22 months ago by jhpalmieri

Okay, sounds good.

comment:16 Changed 21 months ago by mkoeppe

Status: needs_reviewpositive_review

comment:17 Changed 20 months ago by vbraun

Branch: u/jhpalmieri/crop-boost3044c82996c64f9bbbe5822f34449b653f0bfba9
Resolution: fixed
Status: positive_reviewclosed

comment:18 Changed 20 months ago by dimpase

Commit: 3044c82996c64f9bbbe5822f34449b653f0bfba9

with #30668 (autoconf 2.71), I see

$ ./bootstrap
...
configure.ac:43: installing 'config/missing'
m4/sage_spkg_configures.m4:498: warning: SAGE_SPKG_CONFIGURE_BOOST is m4_require'd but not m4_defun'd
m4/sage_spkg_configure.m4:159: SAGE_SPKG_DEPCHECK is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
m4/sage_spkg_collect.m4:69: SAGE_SPKG_COLLECT is expanded from...
m4/sage_spkg_configures.m4:498: the top level

and this is after make distclean bootstrap-clean.

comment:19 Changed 20 months ago by dimpase

namely, the following is the fix:

  • build/pkgs/brial/spkg-configure.m4

    a b  
    11SAGE_SPKG_CONFIGURE([brial], [
    22  dnl Trac #31624: Avoid C++ ABI issues
    3   SAGE_SPKG_DEPCHECK([gcc boost m4ri], [
     3  SAGE_SPKG_DEPCHECK([gcc boost_cropped m4ri], [
    44    # If we're using the system m4ri and boost, ensure that we can
    55    # compile and run an executable linked against both libbrial and
    66    # libbrial_groebner (both are used by SageMath).

I'll open another ticket for this.

Last edited 20 months ago by dimpase (previous) (diff)

comment:20 in reply to:  19 Changed 20 months ago by dimpase

Replying to dimpase:

namely, the following is the fix:

  • build/pkgs/brial/spkg-configure.m4

    a b  
    11SAGE_SPKG_CONFIGURE([brial], [
    22  dnl Trac #31624: Avoid C++ ABI issues
    3   SAGE_SPKG_DEPCHECK([gcc boost m4ri], [
     3  SAGE_SPKG_DEPCHECK([gcc boost_cropped m4ri], [
    44    # If we're using the system m4ri and boost, ensure that we can
    55    # compile and run an executable linked against both libbrial and
    66    # libbrial_groebner (both are used by SageMath).

I'll open another ticket for this.

fixed by #31871

Note: See TracTickets for help on using tickets.