why does make sagemath_doc_html *always* rebuild sagelib

47 views
Skip to first unread message

Marc Culler

unread,
Feb 28, 2026, 12:13:45 PM (22 hours ago) Feb 28
to sage-devel
When I build sage with make the last step is to build sagelib.  If I then run
  make sagemath_doc_html
it rebuilds the sagelib that it just finished building before starting to build the documentation.

Why?

- Marc

Michael Orlitzky

unread,
Feb 28, 2026, 1:44:39 PM (20 hours ago) Feb 28
to sage-...@googlegroups.com
There is an insane amount of indirection...

make sagemath_doc_html
-> sage-spkg -i sagemath_doc_html
-> build/pkgs/sagemath_doc_html/spkg-install
-> make -C src/doc doc-html
-> meson compile -C build/sage-distro doc-html
-> python src/build-docs.py ...

And the (duct tape & spit) dependency tracking across the levels is
failing. I have been dealing with this problem in

https://github.com/sagemath/sage/pull/41610

where I am trying to skip to the last step (just build the F'ing
docs). But even that will not be a perfect solution, because the
documentation depends on the docbuilder, and the docbuilder is part of
the sagelib that you are trying to build documentation for. So even
just the last step must (to avoid problems) depend on all of sage.

I recall Tobias was working on a better solution in

https://github.com/sagemath/sage/pull/41156

but I don't know its current status.

Dima Pasechnik

unread,
Feb 28, 2026, 2:03:26 PM (20 hours ago) Feb 28
to sage-...@googlegroups.com
For me,

    make doc-html

does the right thing, building html docs, without extra work (after  `make` is done).
If one needs the docs, it makes sense to run
the above straight away, it's a bit quicker, as it avoids extra regeneration of docs ninja targets by meson.

Dima





Marc Culler

unread,
Feb 28, 2026, 2:08:32 PM (20 hours ago) Feb 28
to sage-...@googlegroups.com
I just tried make doc-html.  I get:

[sagelib-10.9.beta7] Warning: File /var/tmp/sage-10.9/local/var/lib/sage/scripts/sagelib/spkg-requirements.txt not found
[sagelib-10.9.beta7] Warning: Directory /var/tmp/sage-10.9/local/var/lib/sage/scripts/sagelib not found
[sagelib-10.9.beta7] Removing stamp file /var/tmp/sage-10.9/local/var/lib/sage/installed/sagelib-10.9.beta7
[sagelib-10.9.beta7] [spkg-install] Installing sagelib-10.9.beta7
[sagelib-10.9.beta7] [spkg-install] * Building wheel...

Are the missing files in sage/scripts treated as missing dependencies?  Why would they be missing?  I did not delete them.

- Marc

--
You received this message because you are subscribed to a topic in the Google Groups "sage-devel" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sage-devel/dVVleHx0xP0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sage-devel+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sage-devel/FEA68B7E-8D2F-4957-A43A-D2FA9A0263BA%40gmail.com.

Dima Pasechnik

unread,
Feb 28, 2026, 3:21:55 PM (18 hours ago) Feb 28
to sage-...@googlegroups.com
some of these are generated by ./bootstrap
You need to run it either directly, or via make (the latter might be flaky)
Reply all
Reply to author
Forward
0 new messages