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

Add some targets to the top-level Makefile #11622

Closed
nexttime mannequin opened this issue Jul 24, 2011 · 20 comments
Closed

Add some targets to the top-level Makefile #11622

nexttime mannequin opened this issue Jul 24, 2011 · 20 comments

Comments

@nexttime
Copy link
Mannequin

nexttime mannequin commented Jul 24, 2011

This perhaps just gets a meta-ticket to collect various additions (or changes), to be discussed and implemented on their own tickets.

There are a few things I would like to have a make target for, partially just for convenience (at the moment random choice / incomplete, random order):

  • build-check, perhaps also all-check, as an "alias" for
env SAGE_CHECK=yes make build
  • build-parallel or something like that to build Sage in parallel with a default number of jobs (preferably the number of cores or hardware threads), or at least (currently just) setting SAGE_PARALLEL_SPKG_BUILD=yes and doing the usual thing
  • similar things for doc and all

CC: @kiwifb @jdemeyer @jhpalmieri

Component: build

Keywords: make upgrade documentation rebuild parallel sequential SAGE_CHECK SAGE_PARALLEL_SPKG_BUILD

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

@nexttime nexttime mannequin added this to the sage-5.11 milestone Jul 24, 2011
@nexttime nexttime mannequin added c: build labels Jul 24, 2011
@nexttime nexttime mannequin self-assigned this Jul 24, 2011
@nexttime

This comment has been minimized.

@nexttime

This comment has been minimized.

@jdemeyer
Copy link

jdemeyer commented Nov 4, 2011

comment:3

There are some changes to the top-level Makefile at #11969, needs_review.

@jdemeyer jdemeyer modified the milestones: sage-5.11, sage-5.12 Aug 13, 2013
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.1, sage-6.2 Jan 30, 2014
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.2, sage-6.3 May 6, 2014
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.3, sage-6.4 Aug 10, 2014
@jdemeyer

This comment has been minimized.

@jdemeyer jdemeyer modified the milestones: sage-6.4, sage-6.9 Sep 16, 2015
@jdemeyer
Copy link

Replying to @nexttime:

  • build-check-ignore once we support SAGE_CHECK=ignore to (build and) run all test suites without treating failed tests as fatal errors (since e.g. the Python test suite fails on many systems)

We don't have SAGE_CHECK=ignore yet, so this isn't applicable.

  • build-sequential in case we one day default to a parallel build

Well, we don't build in parallel by default.

  • perhaps library as an alias for ./sage -b

Very bad idea. We shouldn't encourage ./sage -b, just run make or make build or make sagelib if needed.

@jdemeyer

This comment has been minimized.

@jdemeyer
Copy link

Replying to @nexttime:

It's perhaps discussable whether we should do that in all test receipts

It is done in all test targets.

@jdemeyer

This comment has been minimized.

@jdemeyer
Copy link

Replying to @nexttime:

  • The current behaviour of devel/sage/setup.py w.r.t. to parallel building is IMHO undesirable or sub-optimal:
    • It uses the number of hardware threads even if MAKE isn't set (of courseTM regardless of the system load). (If MAKE is set to e.g. make -j, which means an "unlimited" number of jobs, it uses twice the number of hardware threads.)

      One can of course circumvent that by setting MAKE to make -j1, but that's IMHO kind of odd.

    • It complains about an "impossibly large number of threads" if the number of jobs (-j...) found in $MAKE exceeds twice the number of hardware threads, where the number of hardware threads is equal to the number of cores on processors without what Intel calls Hyper-Threading (HT), then falling back to (at most) the number of hardware threads.

Neither of this is still true.

@jdemeyer

This comment has been minimized.

@jdemeyer

This comment has been minimized.

@jdemeyer

This comment has been minimized.

@jdemeyer
Copy link

Replying to @nexttime:

it is possible to set all environment variables in build/make/Makefile itself.

I don't think so (or at least, I don't know how to do it). In any case, I don't see the point of repeating all environment variables in build/make/Makefile, what's wrong with keeping the use of sage-env?

@jdemeyer

This comment has been minimized.

@jdemeyer jdemeyer changed the title Add some targets to the top-level Makefile (and other make-related issues) Add some targets to the top-level Makefile Sep 16, 2015
@jdemeyer

This comment has been minimized.

@jdemeyer

This comment has been minimized.

@jdemeyer
Copy link

Replying to @nexttime:

  • build-sequential in case we one day default to a parallel build

We still don't do that by default.

@jdemeyer
Copy link

comment:17

I propose to use pbuild and pall as target names, by analogy to ptest(long).

I don't see the need for a target pdoc (I never need to run make doc, I just run make which is mostly the same anyway).

@mkoeppe
Copy link
Member

mkoeppe commented Aug 26, 2021

comment:18

Outdated, should close

@mkoeppe mkoeppe removed this from the sage-6.9 milestone Aug 26, 2021
@jhpalmieri
Copy link
Member

comment:19

There might be something with some validity here, but we can always open a new ticket with a more clear focus.

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