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

spkg-configure.m4 for boost and boost_cropped #29100

Closed
dimpase opened this issue Jan 29, 2020 · 19 comments
Closed

spkg-configure.m4 for boost and boost_cropped #29100

dimpase opened this issue Jan 29, 2020 · 19 comments

Comments

@dimpase
Copy link
Member

dimpase commented Jan 29, 2020

we use a macro from autoconf archive to test the version

Depends on #29053

CC: @mkoeppe @isuruf @embray @orlitzky

Component: build: configure

Author: Dima Pasechnik

Branch/Commit: 6f04521

Reviewer: Isuru Fernando

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

@dimpase dimpase added this to the sage-9.1 milestone Jan 29, 2020
@dimpase
Copy link
Member Author

dimpase commented Jan 29, 2020

Dependencies: #29053

@dimpase
Copy link
Member Author

dimpase commented Jan 29, 2020

@dimpase
Copy link
Member Author

dimpase commented Jan 29, 2020

comment:1

some boost-related package names are missing on #29053, added here


New commits:

6f04521add package names to distros/

@dimpase
Copy link
Member Author

dimpase commented Jan 29, 2020

Changed commit from 931cdf8 to 6f04521

@dimpase

This comment has been minimized.

@isuruf
Copy link
Member

isuruf commented Jan 29, 2020

Reviewer: Isuru Fernando

@orlitzky
Copy link
Contributor

comment:6

Works for me on Gentoo but it's a little scary to have the check for boost implicitly be the check for boost_cropped. It would be nice if the new macro result was cached -- then we could just repeat the check -- but I don't think it is.

Maybe check HAVE_BOOST as a safety net against changes to boost_cropped? I dunno.

@dimpase
Copy link
Member Author

dimpase commented Jan 30, 2020

comment:7

No distro I tried allowed for
an incomplete install of boost.

I guess it is a historical artefact that Sage has these two packages

@jhpalmieri
Copy link
Member

comment:8

Replying to @dimpase:

No distro I tried allowed for
an incomplete install of boost.

I guess it is a historical artefact that Sage has these two packages

Sage needs boost_cropped, not all of boost. The boost tarball is ten times the size, boost_cropped took 8 seconds to build on my machine, and boost took 21 minutes. So if by "historical" you mean before this ticket, I guess "historical arfifact" is accurate.

@dimpase
Copy link
Member Author

dimpase commented Jan 30, 2020

comment:9

I don't know how boost_cropped was created, at least spkg-src provides no clue.

I don't know a modern Linux distro that supplies such a "cropped" thing.

@jhpalmieri
Copy link
Member

comment:10

According to spkg-src, boost_cropped is obtained from boost by just taking the subdirectory boost (i.e., boost_1_66_0/boost).

I'm almost positive the cropped version is a pure Sage invention, to cut down on size and to speed up building.

@orlitzky
Copy link
Contributor

comment:11

I think I see what happened. The sage library doesn't need boost at all, the boost spkg is optional. But the spkg-configure.m4 for boost causes it to be installed whenever a system copy is not present.

Instead, I think we should leave boost alone (why is it an optional package to begin with?). The spkg-configure.m4 for boost_cropped should look for a full version of boost, like it does now. And then if someone decides to install the optional boost spkg... who cares what happens.

@dimpase
Copy link
Member Author

dimpase commented Jan 30, 2020

comment:12

Replying to @orlitzky:

I think I see what happened. The sage library doesn't need boost at all, the boost spkg is optional. But the spkg-configure.m4 for boost causes it to be installed whenever a system copy is not present.

Instead, I think we should leave boost alone (why is it an optional package to begin with?). The spkg-configure.m4 for boost_cropped should look for a full version of boost, like it does now. And then if someone decides to install the optional boost spkg... who cares what happens.

I don't understand what I am supposed to reproduce. I think an optional package only gets installed if its installation is explicitly triggered by make or sage -i, and not merely because ./configure was not able to find a system copy.

@dimpase
Copy link
Member Author

dimpase commented Jan 30, 2020

comment:13

we have a number of optional and experimental packages with spkg-configure.m4 already, and nothing like this was ever reported.

@orlitzky
Copy link
Contributor

comment:14

Ok, I'm going to put it back to positive review then. I'm not willing to delete boost at the moment to see what happens.

The check for boost_cropped now looks even more correct to me, since that's the standard package. My comment about boost's spkg-configure.m4 no longer applies, it isn't standard and doesn't need to be detected.

@orlitzky
Copy link
Contributor

comment:15

Sorry, false alarm: I tested with some other packages. If I uninstall the optional gp2c, for example...

./configure
...
checking SPKGs to install... 
    ...
    gmp-6.1.2 will not be installed (configure check)
    gmpy2-2.1.0b1
    gp2c-0.0.10.p0
    ...

That sure looks like gp2c will be installed from the spkg. That message combined with John's comment made me think for a minute that a full copy of boost was being installed in addition to (or in lieu of) boost_cropped.

@mkoeppe
Copy link
Contributor

mkoeppe commented Jan 30, 2020

comment:16

#28788 addresses improving the printing of this message.

@embray
Copy link
Contributor

embray commented Jan 31, 2020

comment:17

Yikes, that ax_boost_base.m4 is scary. I hope I never have to debug anything in it. But if it works it works, and I imagine (?) it's well tested.

@vbraun
Copy link
Member

vbraun commented Jan 31, 2020

Changed branch from u/dimpase/packages/boostconfig to 6f04521

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

7 participants