GNOME Bugzilla – Bug 782100
Build fails because of missing xmldocs.make
Last modified: 2017-06-08 23:39:09 UTC
I see that Maurice added a rule to .gitignore in commit e8e08f50 in planner while switching to gnome-common. Build fails on some systems because the file is missing. Creating the file with touch is enough to fix the situation. Also worth noting that gnome-common is deprecated. https://wiki.gnome.org/Projects/GnomeCommon
Created attachment 351015 [details] [review] Proposed patch for 782100 Removing references to xmldocs.make this build problem is gone.
I don’t like magic patches that solve the issue but we don’t know why. This may be the right solution, but I’d like to know why the file was needed before and why it is not anymore. Without that explanation, the patch is like sweeping the issue under the rug.
This file (xmldocs.make) was introduced in b62ab4d01cf251264671e783d2289f09ae0f0551, the Initial Revision: so it existed from the very beginning. Excerpt: # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) Then `git bisect run test -e xmldocs.make` (from the beginning to current master) found that the file was removed here e8e08f5002e1842ef78fb6e0571a0cd34e40ef49: I have no idea why only the file was removed but not the references to it. Either way, it's no longer actual, I suppose -- remove it. But then from .gitignore too. After all, if the reason will be found later, one can revert it...
The `{gtk-doc,omf,xmldocs}.make` files are generated by `configure` when `pygtk` is findable -- that may be the reason why the two files (omf and xmldocs) were removed and .gitignore'd. And PyGTK is mentioned as a build dependency. No bug.
Well, it seems like removing dependencies is not a good option, but, why those files are not getting created when I try to 'autogen.sh'? Running `make dist` fails whether omf.make doesn't exist. BTW, it seems like there are not tarballs (tar.gz) in http://ftp.gnome.org/pub/GNOME/sources/planner/0.14/ since 0.14.4, which was released seven of months before commit e8e08f50, is it due to compilation errors? (maybe I'm saying something stupid here). Checking http://ftp.gnome.org/pub/GNOME/sources/planner/0.14/planner-0.14.6.tar.xz I realized those files exist, and appear to be modified at 2008-07-22 and that makes me thing the files are cached in the builder machine.
Created attachment 351241 [details] Screenshot of planner-0.14.6.tar.xz's content
Created attachment 351242 [details] [review] Removes everything related to xmldocs.make and omf.make This patch, being not the best way to fix this, removes all compilation errors. Maybe you can realize the source of the problem by knowing which files are affected.
Well, I cannot confirm any build issue due to the lack of either of those files. $ nix-shell <my-nixpkgs> -A planner # create the build environment $ cd /tmp/ # the usual sources preparations $ unpackPhase $ cd planner-6a79647 $ patchPhase $ ls *.make # of course it doesn't exist, yet ls: cannot access '*.make': No such file or directory $ ./autogen.sh <...> Planner prefix : /usr/local Build API docs : no Python bindings : yes Python plugin : no Simple priority scheduling : no Database/GDA support : no, Evolution Data Server import : no Evolution Data Server backend: no Now type `make' to compile Planner $ ls *.make # now it does gtk-doc.make omf.make xmldocs.make $ make # as it just said... (no `configure` step) <...> Warning: generating old-style constructor for:planner_window_new Could not write method PlannerWindow.get_cmd_manager: No ArgType for PlannerCmdManager* Warning: Constructor for PlannerWindow needs to be updated to new API See http://live.gnome.org/PyGTK_2fWhatsNew28#update-constructors ***INFO*** There are no declared global functions. ***INFO*** The coverage of methods is 92.31% (12/13) ***INFO*** There are no declared virtual proxies. ***INFO*** There are no declared virtual accessors. ***INFO*** There are no declared interface proxies. CC plannerui_la-plannerui.lo CCLD plannerui.la make[2]: Leaving directory '/tmp/planner-6a79647/python' make[2]: Entering directory '/tmp/planner-6a79647' make[2]: Leaving directory '/tmp/planner-6a79647' make[1]: Leaving directory '/tmp/planner-6a79647' $ make check # what one of those patches is for <...> ================== All 5 tests passed ================== make[3]: Leaving directory '/tmp/planner-6a79647/tests' make[2]: Leaving directory '/tmp/planner-6a79647/tests' make[1]: Leaving directory '/tmp/planner-6a79647/tests' Making check in python make[1]: Entering directory '/tmp/planner-6a79647/python' make[1]: Nothing to be done for 'check'. make[1]: Leaving directory '/tmp/planner-6a79647/python' make[1]: Entering directory '/tmp/planner-6a79647' make[1]: Leaving directory '/tmp/planner-6a79647' $ make dist # nothing particularly interesting here <...> $ ls -l planner-0.14.6.tar.gz -rw-r--r-- 1 user users 5683219 May 6 07:57 planner-0.14.6.tar.gz $ tar tvzf planner-0.14.6.tar.gz | grep '\(omf\|xmldocs\)\.make' -r--r--r-- 1000/100 3180 2017-05-06 07:49 planner-0.14.6/xmldocs.make -r--r--r-- 1000/100 2280 2017-05-06 07:49 planner-0.14.6/omf.make $ make distcheck # doing it all over again <...> -- Installing ../../../docs/libplanner/html/ch01.html -- Installing ../../../docs/libplanner/html/home.png -- Installing ../../../docs/libplanner/html/index.html -- Installing ../../../docs/libplanner/html/left-insensitive.png -- Installing ../../../docs/libplanner/html/left.png -- Installing ../../../docs/libplanner/html/libplanner.devhelp2 -- Installing ../../../docs/libplanner/html/libplanner-mrp-application.html -- Installing ../../../docs/libplanner/html/libplanner-mrp-assignment.html -- Installing ../../../docs/libplanner/html/libplanner-mrp-calendar.html -- Installing ../../../docs/libplanner/html/libplanner-mrp-day.html -- Installing ../../../docs/libplanner/html/libplanner-mrp-error.html -- Installing ../../../docs/libplanner/html/libplanner-mrp-group.html -- Installing ../../../docs/libplanner/html/libplanner-mrp-object.html -- Installing ../../../docs/libplanner/html/libplanner-mrp-project.html -- Installing ../../../docs/libplanner/html/libplanner-mrp-property.html -- Installing ../../../docs/libplanner/html/libplanner-mrp-relation.html -- Installing ../../../docs/libplanner/html/libplanner-mrp-resource.html -- Installing ../../../docs/libplanner/html/libplanner-mrp-task.html -- Installing ../../../docs/libplanner/html/libplanner-mrp-time.html -- Installing ../../../docs/libplanner/html/right-insensitive.png -- Installing ../../../docs/libplanner/html/right.png -- Installing ../../../docs/libplanner/html/style.css -- Installing ../../../docs/libplanner/html/up-insensitive.png -- Installing ../../../docs/libplanner/html/up.png -- Installing ../../../docs/libplanner/html/index.sgml /nix/store/sxzm5kva1gb0hxm60xvr45m3c5l84xlz-coreutils-8.27/bin/install: cannot stat '../../../docs/libplanner/html/index.sgml': No such file or directory make[4]: *** [Makefile:614: install-data-local] Error 1 make[4]: Leaving directory '/tmp/planner-6a79647/planner-0.14.6/_build/docs/libplanner' make[3]: *** [Makefile:439: install-am] Error 2 make[3]: Leaving directory '/tmp/planner-6a79647/planner-0.14.6/_build/docs/libplanner' make[2]: *** [Makefile:352: install-recursive] Error 1 make[2]: Leaving directory '/tmp/planner-6a79647/planner-0.14.6/_build/docs' make[1]: *** [Makefile:493: install-recursive] Error 1 make[1]: Leaving directory '/tmp/planner-6a79647/planner-0.14.6/_build' make: *** [Makefile:734: distcheck] Error 1 $ ls planner-0.14.6/docs/libplanner/html ch01.html libplanner-mrp-calendar.html libplanner-mrp-resource.html home.png libplanner-mrp-day.html libplanner-mrp-task.html index.html libplanner-mrp-error.html libplanner-mrp-time.html left-insensitive.png libplanner-mrp-group.html right-insensitive.png left.png libplanner-mrp-object.html right.png libplanner.devhelp2 libplanner-mrp-project.html style.css libplanner-mrp-application.html libplanner-mrp-property.html up-insensitive.png libplanner-mrp-assignment.html libplanner-mrp-relation.html up.png ...and that's where I am now: figuring out why it expects to find an SGML there... The environment I'm using is described here - https://github.com/amiloradovsky/nixpkgs/tree/planner (you don't have to know Nix -- most of it is self-explanatory) PS: here <...> means an omitted output
I cannot reproduce the bug using latest Debian. make, make check, make dist succeed. make distcheck fails. It does not complain about xmldocs.make or omf.make. $ make distcheck Making check in po The following files contain translations and are currently not in use. Please consider adding these to the POTFILES.in file, located in the po/ directory. sub/data/planner.desktop.in If some of these files are left out on purpose then please add them to POTFILES.skip instead of POTFILES.in. A file 'missing' containing this list of left out files has been written in the current directory. Makefile:244: recipe for target 'check' failed I got the same thing, whether Python bindings is enabled or not.
(In reply to Alexánder Alzate from comment #5) > BTW, it seems like there are not tarballs (tar.gz) A tarball is an archive and can use one of several compression algorithms, which shows in the suffix. A .tar.xz file is still a tarball. > (maybe I'm saying something stupid here). Not knowing something doesn’t make you stupid. :-) > Checking > http://ftp.gnome.org/pub/GNOME/sources/planner/0.14/planner-0.14.6.tar.xz I > realized those files exist, and appear to be modified at 2008-07-22 and that > makes me thing the files are cached in the builder machine. We replaced bz2 compression with xz compression because it is more space efficient. That’s all. https://mail.gnome.org/archives/devel-announce-list/2011-September/msg00003.html
(In reply to Ahmed Baïzid from comment #9) > I cannot reproduce the bug using latest Debian. > > make, make check, make dist succeed. > > make distcheck fails. It does not complain about xmldocs.make or omf.make. > > $ make distcheck > Making check in po > The following files contain translations and are currently not in use. > Please > consider adding these to the POTFILES.in file, located in the po/ > directory. > sub/data/planner.desktop.in > If some of these files are left out on purpose then please add them to > POTFILES.skip instead of POTFILES.in. A file 'missing' containing this > list > of left out files has been written in the current directory. > Makefile:244: recipe for target 'check' failed > > I got the same thing, whether Python bindings is enabled or not. This is an unrelated bug in intltool (https://bugs.launchpad.net/intltool/+bug/1117944) that’s unlikely to be fixed — intltool is a dead project. I committed a workaround to planner that will hopefully help: https://git.gnome.org/browse/planner/commit/?id=9a7df13926e02dcd8571e3e5036e4a92de1ef99c
You are right. But could you reproduce this bug (Build fails because of missing xmldocs.make) ?
Sorry, I have not tried to build planner.
I could reproduce from fresh sources. attachment 351242 [details] [review] solves the problem it faces. +1 for the patch. Against comment 2 : There is no magic. Back in 2009, files were removed but references were left. attachment 351242 [details] [review] finishes the job. It removes references to files previously removed. What is the purpose of the files ? It was a question to ask years ago. comment 8 points a similar problem : One day, index.sgml disappeared but libplanner/Makefile.am still refers to it.
Created attachment 351761 [details] [review] Remove {xmldocs,omf}.make from .gitignore
Both patches look good and have been pushed. I guess we can close this bug now, feel free to reopen if there’s anything we missed regarding this issue.
First, I didn't have any build problems reported here. Second, here is the effect of the patches applied: $ cd /tmp # in the nix-shell environment $ diff --recursive --brief planner-2369981/ planner-a855930/ | grep '^Only in' Only in planner-2369981/docs/user-guide/C: omf_timestamp Only in planner-2369981/docs/user-guide/C: planner-C.omf.out Only in planner-2369981/docs/user-guide/es: omf_timestamp Only in planner-2369981/docs/user-guide/es: planner-es.omf.out Only in planner-2369981/docs/user-guide/eu: omf_timestamp Only in planner-2369981/docs/user-guide/eu: planner-eu.omf.out Only in planner-2369981/planner-0.14.6/docs/user-guide/C: figures Only in planner-2369981/planner-0.14.6/docs/user-guide/C: legal.xml Only in planner-2369981/planner-0.14.6/docs/user-guide/C: planner-C.omf Only in planner-2369981/planner-0.14.6/docs/user-guide/C: planner.xml Only in planner-2369981/planner-0.14.6/docs/user-guide/es: figures Only in planner-2369981/planner-0.14.6/docs/user-guide/es: legal.xml Only in planner-2369981/planner-0.14.6/docs/user-guide/es: planner-es.omf Only in planner-2369981/planner-0.14.6/docs/user-guide/es: planner.xml Only in planner-2369981/planner-0.14.6/docs/user-guide/eu: figures Only in planner-2369981/planner-0.14.6/docs/user-guide/eu: legal.xml Only in planner-2369981/planner-0.14.6/docs/user-guide/eu: planner-eu.omf Only in planner-2369981/planner-0.14.6/docs/user-guide/eu: planner.xml Only in planner-2369981/planner-0.14.6: omf.make Only in planner-2369981/planner-0.14.6: xmldocs.make Although I'm not sure if those files are essential... Compared between the revisions: - 23699814d5cc425b89baa20236a802f28dca7c2c - a8559308a84271c262b568aa35c666df7fb69a49
(In reply to Andrew Miloradovsky from comment #4) > The `{gtk-doc,omf,xmldocs}.make` files are generated by `configure` when > `pygtk` is findable [...] That is indeed not necessary. Actually I couldn't build an environment in which these files weren't generated automatically (and ./autogen.sh successfully finished). But apparently nobody could reproduce this result. This is the maximum of what may be needed: pkgconfig intltool automake111x autoconf libtool gnome_common GConf gtk libgnome libgnomecanvas libgnomeui libglade scrollkeeper gtk_doc libxslt docbook_xsl python pythonPackages.pygtk file PS: If nobody's interested in those XML/OMF files (not) being generated, I'm not going to ~post~ spam about this here anymore; but I disagree with the patches as such.
> PS: If nobody's interested in those XML/OMF files (not) being generated, I'm > not going to ~post~ spam about this here anymore; but I disagree with the > patches as such. See bug 346247.
So the solution is to remove everything related to OMF and ScrollKeeper? That can make sense, but then configure.ac is the first thing to change... Anyway, that seems a bit more work than just a pre-release clean-up ;)