After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 782100 - Build fails because of missing xmldocs.make
Build fails because of missing xmldocs.make
Status: RESOLVED FIXED
Product: planner
Classification: Other
Component: Build
unspecified
Other Linux
: Normal normal
: ---
Assigned To: planner-maint
planner-maint
Depends on:
Blocks:
 
 
Reported: 2017-05-03 08:10 UTC by Alexandre Franke
Modified: 2017-06-08 23:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Proposed patch for 782100 (1.72 KB, patch)
2017-05-03 23:10 UTC, Alexánder Alzate
none Details | Review
Screenshot of planner-0.14.6.tar.xz's content (136.71 KB, image/png)
2017-05-06 00:51 UTC, Alexánder Alzate
  Details
Removes everything related to xmldocs.make and omf.make (1.82 KB, patch)
2017-05-06 01:07 UTC, Alexánder Alzate
committed Details | Review
Remove {xmldocs,omf}.make from .gitignore (504 bytes, patch)
2017-05-12 21:24 UTC, Ahmed Baïzid
committed Details | Review

Description Alexandre Franke 2017-05-03 08:10:01 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
Comment 1 Alexánder Alzate 2017-05-03 23:10:17 UTC
Created attachment 351015 [details] [review]
Proposed patch for 782100

Removing references to xmldocs.make this build problem is gone.
Comment 2 Alexandre Franke 2017-05-04 06:25:29 UTC
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.
Comment 3 Andrew Miloradovsky 2017-05-05 13:22:22 UTC
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...
Comment 4 Andrew Miloradovsky 2017-05-05 17:57:11 UTC
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.
Comment 5 Alexánder Alzate 2017-05-06 00:48:22 UTC
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.
Comment 6 Alexánder Alzate 2017-05-06 00:51:36 UTC
Created attachment 351241 [details]
Screenshot of planner-0.14.6.tar.xz's content
Comment 7 Alexánder Alzate 2017-05-06 01:07:13 UTC
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.
Comment 8 Andrew Miloradovsky 2017-05-06 08:14:26 UTC
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
Comment 9 Ahmed Baïzid 2017-05-07 10:17:56 UTC
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.
Comment 10 Alexandre Franke 2017-05-07 11:31:18 UTC
(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
Comment 11 Piotr Drąg 2017-05-07 11:50:09 UTC
(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
Comment 12 Ahmed Baïzid 2017-05-07 13:08:13 UTC
You are right.

But could you reproduce this bug (Build fails because of missing xmldocs.make) ?
Comment 13 Piotr Drąg 2017-05-07 13:27:48 UTC
Sorry, I have not tried to build planner.
Comment 14 Ahmed Baïzid 2017-05-07 19:41:56 UTC
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.
Comment 15 Ahmed Baïzid 2017-05-12 21:24:51 UTC
Created attachment 351761 [details] [review]
Remove {xmldocs,omf}.make from .gitignore
Comment 16 Alexandre Franke 2017-05-14 22:16:45 UTC
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.
Comment 17 Andrew Miloradovsky 2017-05-14 22:54:30 UTC
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
Comment 18 Andrew Miloradovsky 2017-05-15 00:36:56 UTC
(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.
Comment 19 Ahmed Baïzid 2017-06-04 16:12:37 UTC
> 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.
Comment 20 Andrew Miloradovsky 2017-06-08 23:39:09 UTC
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 ;)