bugGNU Astronomy Utilities - Bugs: bug #47878, `make distcheck' fails, not able...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #47878: `make distcheck' fails, not able to make temporary directory

Submitted by:  Mohammad Akhlaghi <makhlaghi>
Submitted on:  Mon 09 May 2016 09:28:15 AM UTC  
 
Category: InstallationSeverity: 5 - Blocker
Item Group: CrashStatus: Fixed
Privacy: PublicAssigned to: Mohammad Akhlaghi <makhlaghi>
Open/Closed: Closed

(Jump to the original submission Jump to the original submission)

Mon 09 May 2016 05:32:46 PM UTC, comment #7:

I know that keeping that file updated isn't vital, but I think it's a bit flawed having a file that is correctly generated only in particular situations.

I did find what I suppose would be the best solution: use "$(wildcard $(top_srcdir)/.git)" as prerequisite. It really does what we want: have the git directory as prerequisite if it's there, nothing otherwise. The only problem is that automake doesn't support wildcard function because it isn't portable, so I give up.

Mosè Giordano <giordano>
Project Member
Mon 09 May 2016 04:53:35 PM UTC, comment #6:

What do you think about the argument in the commit message?

When you are generating the pdf for your self during the development, how important is it to have an upated list? In practice it is only important when someone wants to generate a version (official or unofficial).

Having 'make distcheck' correctly do all its tests is very important for sanity checks. So unless we decide to adopt the "complex"/dirty first solution of that mailing list discussion, I don't see any other solution.

If you do come up with another solution, it would be great and most welcome ;-).

Mohammad Akhlaghi <makhlaghi>
Project AdministratorIn charge of this item.
Mon 09 May 2016 04:40:14 PM UTC, comment #5:

When I want to update the PDF manual I issue "make gnuastro.pdf" in doc/, but "authors.texi" is more recent than ../configure, so nothing changed in the end (no prerequisite is equivalent to use as prerequisite a file that is for sure older). The rule is executed correctly only when the file is created (unless one uses "make -jN", that is what I usually do to speed up compilation), but it can't be properly updated afterwards.

Mosè Giordano <giordano>
Project Member
Mon 09 May 2016 04:29:01 PM UTC, comment #4:

It was interesting to see that the problem was with the double colon rule (to build the file in any situation). So I also searched for .PHONY targest in `make distcheck' and I found out that a similar issue was discussed before in the following Automake mailing list:

https://lists.gnu.org/archive/html/automake/2015-03/msg00064.html

So as suggested in the final answer to that problem (and argued in the commit message, below), I thought the best way would be to set a prerequisite for doc/authors.texi to fix the problem. The fix has been merged to master.

The commit (418f331) message is:

Creation of the Texinfo book source depends on doc/authors.texi. Until now doc/authors.texi was a double colon target with no prerequisits, meaning that it would be built when ever the manual needed to be built. So in `make distcheck', where we don't have write permissions in the source directory (which contains doc/authors.texi), this would cause problems.

A similar problem was reported before in the link below:

https://lists.gnu.org/archive/html/automake/2015-03/msg00070.html

The first solution proposed to this problem is possible, but is a little dirty/complex (involves temporary files). However the final answer is more elegant. In practice, we only want this file (and thus the manual authors) updated when a new version is released (official or unofficial), when the developers are working for themselves, there is no need to update the authors list.

Fortunately we have recently adopted the automatic version numbering (from Gnulib's git-version-gen). In the book we have also advised everyone to generate a new version if they plan to use their cloned/developed version in any data analysis, or paper, or if they want to share their work (by running `autoreconf -f'). That procedure will update `./configure' and thus regenerate the authors list for the manual too.

Mohammad Akhlaghi <makhlaghi>
Project AdministratorIn charge of this item.
Mon 09 May 2016 11:12:44 AM UTC, comment #3:

It seems that "make distcheck" doesn't like double-colon rules, like the one in doc/Makefile.am. Removing the double column fixes the problem, but it's useless to have this target without prerequisites, since it won't ever be updated once it's created (this is good in theory, wrong for this particular case where a prerequisite is actually needed).

Mosè Giordano <giordano>
Project Member
Mon 09 May 2016 10:22:44 AM UTC, comment #2:

I am out of office now, and cant exactly recheck, but 'make distcheck' did work until very recently. Before submitting this problem I checked out the following commit and 'make distcheck' worked.

5b16c1ad · dev: Merge of 0.0 version branch with master

'make distcheck' worked before I posted the Ghostscript version bug also. Can you confirm if it works on your system at these poits too?

Mohammad Akhlaghi <makhlaghi>
Project AdministratorIn charge of this item.
Mon 09 May 2016 09:49:09 AM UTC, comment #1:

Do you remember the last time "make distcheck" worked? You can use git bisect to find the revision that introduced the breakage. I was able to go back only to commit

  • bbddf63 (2016-05-01) Bootstrapping: Minor corrections in genauthors comments

and I can confirm "make distcheck" fails there, going even further is a bit of a pain, because of the many changes to build infrastructure.

Mosè Giordano <giordano>
Project Member
Mon 09 May 2016 09:28:15 AM UTC, original submission:

After some of the recent changes, `make check' fails before creating the .info outputs, specifically in the `.texi.info' rule of doc/Makefile.in (and doc/Makefile), the following line:

Mohammad Akhlaghi <makhlaghi>
Project AdministratorIn charge of this item.

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by giordano (Posted a comment)
  • -unavailable- added by makhlaghi (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 09 May 2016 04:29:01 PM UTCmakhlaghiStatusConfirmed=>Fixed
      Assigned toNone=>makhlaghi
      Open/ClosedOpen=>Closed

    Back to the top


    Powered by Savane 3.1-cleanup1