-
Notifications
You must be signed in to change notification settings - Fork 23
Description
I'm having trouble working out how to regenerate pycbf on the new release. it looks like the linux.sh file is maybe out of date, and it looks to me as though the files on release don't cleanly regenerate or even compile in latex, which is a prerequisite for the nuweb workflow.
Rough list of the most important Issues I've encountered:
- The
pycbf/CBFlib.txtfile is (six years!) out of date:$ make $(pwd)/pycbf/CBFlib.txt make: '/home/cbfbuilder/cbflib/pycbf/CBFlib.txt' is up to date. $ touch doc/CBFlib.html $ make $(pwd)/pycbf/CBFlib.txt links -dump /home/cbfbuilder/cbflib/doc/CBFlib.html > /home/cbfbuilder/cbflib/pycbf/CBFlib.txt - Latex errors when attempting to regenerate the python bindings. Note that this isn't done in the Makefile on any normal build; not in
make all, and not inmake tests(which only builds_pycbf.so). This issue can be demonstrated by simply asking forpycbf.py(orpycbf.pdf, which is the actual rule for trying to regenerate the sources):$ make $(pwd)/pycbf/pycbf.py (cd /home/cbfbuilder/cbflib/pycbf; \ .... (./pycbf.toc ! Missing $ inserted. <inserted text> $ l.16 ...th write logic added}{17}{subsection.10.4} ? - Generally the
Makefiledoesn't seem to build nuweb things properly e.g. the rule formake_pycbf.pyis plain incorrect:This runs nuweb only - the only output from this command is a new$(PY3CBF)/make_pycbf.py: $(NUWEB_DEP) $(NUWEB_DEP2) $(PY3CBF)/make_pycbf.w (cd $(PY3CBF); $(NUWEB) make_pycbf.w)
make_pycbf.tex. This latex script also seems to not compile (and is not checked in), so I am unable to confirm if the checked in code is an up-to-date regeneration.
Without being able to compile the nuweb sources, I can't regenerate anything that depends on them e.g. everything. So what am I doing wrong, how do I actually generate these?
Finally... I notice that you've kept the whole nuweb lifecycle in this release. I'd urge reconsideration for future releases, since it looks as though it's not being developed in a literate programming way any more, and looks as though it barely was - almost the entirety of most .w files appear to be plain sections with the pasted code, beyond the initial efforts at documentation in pycbf.w. It would make the build process considerably simpler, make it so that commit changes don't have the same change in three different files all over the place (.w, .tex, and the generated output), and eliminate the error of "forgetting to regenerate after changes" (see e.g. much of the noise on the now out-of-date #19, which hadn't been correctly regenerated in a while).