#357 closed defect (fixed)
O'Mega fails to build without ocamlweb
Reported by: | Christian Speckner | Owned by: | kilian |
---|---|---|---|
Priority: | P3 | Milestone: | v3.0.0 |
Component: | core | Version: | 2.0.2 |
Severity: | normal | Keywords: | |
Cc: |
Description
See description. Insists on building omega.pdf
, which inevitably fails in the absence of ocamlweb.
Change History (13)
comment:1 Changed 15 years ago by
comment:2 Changed 15 years ago by
I cannot reproduce this with the 2.0.2 tarball neither.
Well, one obvious problem is if one does make clean. As in share/doc/Makefile.am *.pdf is included for the target clean-local, the manuals and docus are erased with a make clean and cannot be restored. As the user might want to do a make clean, we should not include *.pdf here. Comments?
comment:3 Changed 15 years ago by
Ok, this seems to happen only when builddir=srcdir. (which most users will do!)
comment:4 follow-up: 6 Changed 15 years ago by
Confirmed the last statement. So we should move the "*.pdf" from clean-local to distclean-local, right?
comment:5 Changed 15 years ago by
This happened to me and Lisa when building in separate builddirs. make clean
sounds more like a potential cause - I remember doing a make clean
in the src/omega subdir of the builddir after downgrading ocaml; this might have triggered the thing. However, I'd consider this a bug which has to be fixed, so I definitely advocade moving *pdf as JR suggests.
comment:6 Changed 15 years ago by
Replying to jr_reuter:
Confirmed the last statement. So we should move the "*.pdf" from clean-local to distclean-local, right?
Why would this help? The automake manual suggests If configure built it, then distclean should delete it., which is not what we need, since we distribute the *.pdf so that people who lack the tools don't have to build it.
Since the automake manual also says If the maintainer built it (for instance, a .info file), then maintainer-clean should delete it., I suggest to move it to maintainer-clean-local.
comment:7 Changed 15 years ago by
My fear is that this problem is not solvable. We presumably have to forbid make clean and make distclean for the user, which is somehow against the autotools paradigm. OR: we forbid strictly (if this is possible???) to do builddir = srcdir. This problem happens only (as far as I could reproduce) if one uses the tarball and then has builddir = srcdir and then uses either make clean or make distclean. Then the .pdf's are erased and could not be rebuilt. WK for the whizard.pdf has chosen to deliver the source whizard.tex in that case such that the whizard.pdf could be rebuilt. Now: (!) for circe2.pdf and omega.pdf the file index.tex is needed (the O'Caml index files) which is used via an include from the main TeX source. However, if builddir != srcdir, index.tex is not created (because it is present in the srcdir !) and so pdflatex complains that the file index.tex could not be found. If I do the configure trick by copying over the stuff in the same way as the LaTeX style files then this works fine for CIRCE2, but O'Mega tries to rebuilt index.tex (why the f*ing hell???) and then (at least in the make distcheck context) produces a Permission denied when trying to pipe the ocamlweb output into builddir/share/doc/index.tex because this file already exists. Is there any thinkable solution of this desastrous problem?
comment:8 Changed 15 years ago by
The Permission denied problem arises because index.tex as all files in the make distcheck case which are coming out of the distribution are having only rrr permissions. We need rw-r-r.
comment:9 Changed 15 years ago by
I'm playing with a chmod +w statement in the configure.ac but this might open up security holes. (???)
comment:10 Changed 15 years ago by
My intent is more and more to close this ticket as invalid. It's something which needs weeks for checking and does not buy anything. A simple entry in the manual and on the webpage does solve it quickly.
comment:11 Changed 15 years ago by
Milestone: | v2.0.3 → v3.0 |
---|
Ok. Noone is answering me. Postponing this ticket to 3.0.
comment:12 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Done in r2748. At least, the part where PDFs get erased when doing make (dist)clean and srdir and builddir are the same. If there is any other problem (WHIZARD trying to re-make PDFs although neither noweb nor ocamlweb are there, this ticket might be reopened.
I could not reproduce this with the actual 2.0.3 tar ball.