On Sun, Sep 23, 2012 at 12:09 AM, sfeam (Ethan Merritt) wrote:
>
> After fighting with this all day yesterday, I decided to instead
> backport the emacs+info related Makefile scripting from 4.7 to 4.6.
> Please let me know whether the modified .../docs/Makefile.in
> from today's CVS resolves your out-of-source build problems.
Thank you very much.
The "make" phase seems to work without any problems (including usage
of obscure emacs, but only in branch 4.6, not yet in trunk), but the
"make install" fails here:
Making install in docs
../../original/mkinstalldirs
/Users/m/gnuplot/build-original/inst/share/gnuplot/4.6
/opt/local/bin/ginstall -c -m 644 gnuplot.gih
/Users/m/gnuplot/build-original/inst/share/gnuplot/4.6/gnuplot.gih
make[1]: *** No rule to make target
`../../original/docs/gnuplot.texi', needed by `gnuplot.info'. Stop.
make: *** [install-recursive] Error 1
I first naively tried adding $(srcdir) in front of gnuplot.texi:
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -393,7 +393,7 @@ gnuplot.info: $(srcdir)/gnuplot.texi
$(MAKEINFO) -I$(srcdir) $(srcdir)/gnuplot.texi --no-split --output=$@
# Thanks to Bruce Ravel for doc2texi.el!
-gnuplot.texi $(srcdir)/gnuplot-eldoc.el $(srcdir)/gnuplot-eldoc.elc:
$(srcdir)/doc2texi.el $(srcdir)/gnuplot.doc
+$(srcdir)/gnuplot.texi $(srcdir)/gnuplot-eldoc.el
$(srcdir)/gnuplot-eldoc.elc: $(srcdir)/doc2texi.el
$(srcdir)/gnuplot.doc
@echo "Creating texinfo and eldoc strings file"
@if test "$(EMACS)" != no; then \
@test "$(top_srcdir)" = "$(top_builddir)" || echo "COPYING
GNUPLOT.DOC" ; \
which made the "make install" proceed a lot further. In particular,
the same chunk proceeded with
Making install in docs
../../original/mkinstalldirs
/Users/m/gnuplot/build-original/inst/share/gnuplot/4.6
/opt/local/bin/ginstall -c -m 644 gnuplot.gih
/Users/m/gnuplot/build-original/inst/share/gnuplot/4.6/gnuplot.gih
Creating texinfo and eldoc strings file
/bin/sh: @test: command not found
COPYING GNUPLOT.DOC
/bin/sh: @test: command not found
Loading /opt/local/share/emacs/site-lisp/subdirs.el (source)...
Inserting help for terminals ...
Analyzing doc file ...
Converting to texinfo ...
Menus, nodes, xrefs ...
Loading texinfo...
Making texinfo nodes ...
(I pasted this portion because I wasn't sure if "@test: command not
found" was something to be expected or not.)
But then it failed at
Updated level "3" menu following node: Bugs ...
Making or updating menus in *doc2texi*...done
Done...updated all the menus. You may save the buffer.
Saving file /Users/m/gnuplot/build-original/docs/gnuplot.texi...
Wrote /Users/m/gnuplot/build-original/docs/gnuplot.texi
Compiling gnuplot-eldoc.el
Loading /opt/local/share/emacs/site-lisp/subdirs.el (source)...
Wrote /Users/m/gnuplot/build-original/docs/gnuplot-eldoc.elc
/bin/sh /Users/m/gnuplot/original/missing --run makeinfo
-I../../original/docs ../../original/docs/gnuplot.texi --no-split
--output=gnuplot.info
../../original/docs/gnuplot.texi: No such file or directory
make[1]: *** [gnuplot.info] Error 1
make: *** [install-recursive] Error 1
I was able to fix this by replacing
$(MAKEINFO) -I$(srcdir) $(srcdir)/gnuplot.texi --no-split --output=$@
with
$(MAKEINFO) -I$(srcdir) gnuplot.texi --no-split --output=$@
The problem was that gnuplot.texi was only inside build/docs/, not
inside sources.
All in all, the following patch solved the problem for me (the first
part is commented out and I didn't test anything there):
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -237,8 +237,8 @@ doc2ms.o: doc2ms.c $(BUILT_SOURCES)
html: htmldocs/gnuplot.html
# requires makeinfo (GNU texinfo) 4.0 or better
-# htmldocs/gnuplot.html: $(srcdir)/gnuplot.texi
-# $(MAKEINFO) --html -I$(srcdir) $(srcdir)/gnuplot.texi --no-split --output=$@
+# htmldocs/gnuplot.html: gnuplot.texi
+# $(MAKEINFO) --html -I$(srcdir) gnuplot.texi --no-split --output=$@
# requires a working latex2html, which is hard to find these days
# htmldocs/gnuplot.html: $(srcdir)/gnuplot.tex
@@ -389,8 +389,8 @@ wxhelp/doc2html: wxhelp/doc2html.o termdoc.o
xref.o ../src/version.o
### GNU info format
info: gnuplot.info
-gnuplot.info: $(srcdir)/gnuplot.texi
- $(MAKEINFO) -I$(srcdir) $(srcdir)/gnuplot.texi --no-split --output=$@
+gnuplot.info: gnuplot.texi
+ $(MAKEINFO) -I$(srcdir) gnuplot.texi --no-split --output=$@
# Thanks to Bruce Ravel for doc2texi.el!
gnuplot.texi $(srcdir)/gnuplot-eldoc.el $(srcdir)/gnuplot-eldoc.elc:
$(srcdir)/doc2texi.el $(srcdir)/gnuplot.doc
But the patch might need a second pair of eyes to confirm that it
actually makes sense.
Mojca
PS: gnuplot then crashed during distcheck, but that might be a problem
of underlying libraries, and in any case completely unrelated:
(process:9196): Pango-CRITICAL **: void
pango_fontset_foreach(PangoFontset *, PangoFontsetForeachFunc,
gpointer): assertion `PANGO_IS_FONTSET (fontset)' failed
(process:9196): Pango-WARNING **: failed to choose a font, expect ugly
output. engine-type='PangoRenderCoreText', script='common'
(process:9196): GLib-GObject-CRITICAL **: g_object_ref: assertion
`G_IS_OBJECT (object)' failed
(process:9196): Pango-WARNING **: couldn't load font "frscript
Not-Rotated 400", modified variant/weight/stretch as fallback, expect
ugly output.
(process:9196): GLib-GObject-CRITICAL **: g_object_ref: assertion
`G_IS_OBJECT (object)' failed
(process:9196): Pango-ERROR **: Could not load fallback font, bailing out.
/bin/sh: line 1: 9196 Trace/BPT trap: 5 PATH=$bdir/../src:$PATH
GNUPLOT_DRIVER_DIR=$bdir/../src GNUPLOT_LIB=../../demo gnuplot all.dem
< /dev/null
make[3]: *** [check-noninteractive] Error 133
make[2]: *** [check-am] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [distcheck] Error 1
|