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

build/make/Makefile.in: base-toolchain should be a dependency of every non-base, non-toolchain package #30721

Open
mkoeppe opened this issue Oct 4, 2020 · 12 comments

Comments

@mkoeppe
Copy link
Member

mkoeppe commented Oct 4, 2020

This is so that one can go ahead with make SPKG right after ./configure (as discussed in #30718).

CC: @jhpalmieri

Component: build

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

@mkoeppe mkoeppe added this to the sage-9.3 milestone Oct 4, 2020
@jhpalmieri
Copy link
Member

comment:1

Should this be done for every package, or just the ones that fail to build without doing this?

@jhpalmieri
Copy link
Member

comment:2

For example, it might be good enough to add toolchain to the definition, or as a dependency, of BLAS and MP_LIBRARY.

@mkoeppe
Copy link
Member Author

mkoeppe commented Oct 5, 2020

comment:3

I think it should be applied to every (non-base, non-toolchain) package. On systems that install the gcc from our spkg, really no package can be built before the toolchain is built.

@mkoeppe
Copy link
Member Author

mkoeppe commented Oct 5, 2020

comment:4

So this would be best addressed by a change to Makefile.in, rather than editing all dependencies files.

@mkoeppe
Copy link
Member Author

mkoeppe commented Oct 5, 2020

comment:5

And I'd rather not touch it for Sage 9.2

@jhpalmieri
Copy link
Member

comment:6

I'm happy to leave it until 9.3 — it's a pretty specific problem. The affected packages seem to be pretty limited: giac, numpy, and fflas_fpack. (I haven't tried all of Sage's packages, but about among 100 so far, the only failures come directly or indirectly from these packages.)

@mkoeppe
Copy link
Member Author

mkoeppe commented Oct 5, 2020

comment:7

The problem with the missing dependency on the system BLAS .pc files can be alternatively addressed by #29387 (Complete solution for installing the generated *.pc files).

@dimpase
Copy link
Member

dimpase commented Oct 5, 2020

comment:8

make toolchain is responsible for preparing *.pc files for system packages, and this is the real issue here?

Well, I argue for years that toolchain should be a separate thing, onto which one installs the rest.

@mkoeppe
Copy link
Member Author

mkoeppe commented Feb 13, 2021

comment:9

Setting new milestone based on a cursory review of ticket status, priority, and last modification date.

@mkoeppe mkoeppe modified the milestones: sage-9.3, sage-9.4 Feb 13, 2021
@dimpase
Copy link
Member

dimpase commented Feb 28, 2021

comment:10

This apparently results in inability for some users to build Sage from source.
See https://groups.google.com/g/sage-devel/c/PcgOTPSGjJI/m/8JsQPRasAAAJ

A workaround like "run make toolchain first" should be mentioned in the docs, at the very least.

@dimpase dimpase modified the milestones: sage-9.4, sage-9.3 Feb 28, 2021
@mkoeppe
Copy link
Member Author

mkoeppe commented Feb 28, 2021

comment:11

I don't think that our documentation explains any use of make except for select top-level targets such as make build, make ptest, make distclean.

@mkoeppe
Copy link
Member Author

mkoeppe commented Mar 24, 2021

comment:12

Sage development has entered the release candidate phase for 9.3. Setting a new milestone for this ticket based on a cursory review of ticket status, priority, and last modification date.

@mkoeppe mkoeppe modified the milestones: sage-9.3, sage-9.4 Mar 24, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.4, sage-9.5 Jul 19, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.5, sage-9.6 Dec 14, 2021
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

3 participants