Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove full boost package #31575

Closed
mkoeppe opened this issue Mar 28, 2021 · 24 comments
Closed

Remove full boost package #31575

mkoeppe opened this issue Mar 28, 2021 · 24 comments

Comments

@mkoeppe
Copy link
Member

mkoeppe commented Mar 28, 2021

(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.

CC: @dimpase @vbraun @jhpalmieri @EmmanuelCharpentier @kiwifb

Component: packages: optional

Author: John Palmieri

Branch: 3044c82

Reviewer: Matthias Koeppe

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

@mkoeppe mkoeppe added this to the sage-9.4 milestone Mar 28, 2021
@jhpalmieri
Copy link
Member

comment:1

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?

@kiwifb
Copy link
Member

kiwifb commented Mar 28, 2021

comment:2

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.

@jhpalmieri
Copy link
Member

comment:3

Replying to @kiwifb:

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.

@kiwifb
Copy link
Member

kiwifb commented Mar 28, 2021

comment:4

Replying to @jhpalmieri:

Replying to @kiwifb:

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.

@jhpalmieri
Copy link
Member

comment:5

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.

@kiwifb
Copy link
Member

kiwifb commented Mar 28, 2021

comment:6

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.

@jhpalmieri
Copy link
Member

comment:7

There is also m4/ax_boost_base.m4.

@kiwifb
Copy link
Member

kiwifb commented Mar 28, 2021

comment:8

Replying to @jhpalmieri:

There is also m4/ax_boost_base.m4.

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

@jhpalmieri
Copy link
Member

Branch: u/jhpalmieri/crop-boost

@jhpalmieri
Copy link
Member

Author: John Palmieri

@jhpalmieri
Copy link
Member

comment:10

Here's a branch to consider.


New commits:

0c0caa2trac 31575: remove the full boost package

@jhpalmieri
Copy link
Member

Commit: 0c0caa2

@mkoeppe
Copy link
Member Author

mkoeppe commented Mar 29, 2021

comment:11

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

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 29, 2021

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

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

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 29, 2021

Changed commit from 0c0caa2 to 3044c82

@jhpalmieri
Copy link
Member

comment:13

The other distro files are all identical.

@mkoeppe
Copy link
Member Author

mkoeppe commented Mar 29, 2021

comment:14

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

@mkoeppe
Copy link
Member Author

mkoeppe commented Mar 29, 2021

Reviewer: Matthias Koeppe

@jhpalmieri
Copy link
Member

comment:15

Okay, sounds good.

@vbraun
Copy link
Member

vbraun commented May 27, 2021

Changed branch from u/jhpalmieri/crop-boost to 3044c82

@dimpase
Copy link
Member

dimpase commented May 28, 2021

Changed commit from 3044c82 to none

@dimpase
Copy link
Member

dimpase commented May 28, 2021

comment:18

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.

@dimpase
Copy link
Member

dimpase commented May 28, 2021

comment:19

namely, the following is the fix:

--- a/build/pkgs/brial/spkg-configure.m4
+++ b/build/pkgs/brial/spkg-configure.m4
@@ -1,6 +1,6 @@
 SAGE_SPKG_CONFIGURE([brial], [
   dnl Trac #31624: Avoid C++ ABI issues
-  SAGE_SPKG_DEPCHECK([gcc boost m4ri], [
+  SAGE_SPKG_DEPCHECK([gcc boost_cropped m4ri], [
     # If we're using the system m4ri and boost, ensure that we can
     # compile and run an executable linked against both libbrial and
     # libbrial_groebner (both are used by SageMath).

I'll open another ticket for this.

@dimpase
Copy link
Member

dimpase commented May 28, 2021

comment:20

Replying to @dimpase:

namely, the following is the fix:

--- a/build/pkgs/brial/spkg-configure.m4
+++ b/build/pkgs/brial/spkg-configure.m4
@@ -1,6 +1,6 @@
 SAGE_SPKG_CONFIGURE([brial], [
   dnl Trac #31624: Avoid C++ ABI issues
-  SAGE_SPKG_DEPCHECK([gcc boost m4ri], [
+  SAGE_SPKG_DEPCHECK([gcc boost_cropped m4ri], [
     # If we're using the system m4ri and boost, ensure that we can
     # compile and run an executable linked against both libbrial and
     # libbrial_groebner (both are used by SageMath).

I'll open another ticket for this.

fixed by #31871

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants