make check failure: missing POTFILES

John Ralls jralls at ceridwen.us
Sun Jan 27 16:48:58 EST 2013


On Jan 27, 2013, at 9:00 AM, Larry Evans <cppljevans at suddenlink.net> wrote:

> On 01/27/13 10:17, John Ralls wrote:
>> 
>> On Jan 26, 2013, at 9:45 PM, Larry Evans <cppljevans at suddenlink.net> wrote:
>> 
>>> On 01/26/13 16:56, John Ralls wrote:
>>>> 
>>>> On Jan 26, 2013, at 5:23 AM, Larry Evans <cppljevans at suddenlink.net> wrote:
>>>> 
>>>>> Using the download:
>>>>> 
>>>>> 
>>>>> http://iweb.dl.sourceforge.net/project/gnucash/gnucash%20%28stable%29/2.4.11/gnucash-2.4.11.tar.bz
>>>>> 
>>>>> and after doing several iterations of configure (interleaved with
>>>>> several synaptic installs for missing packages), then `make`
>>>>> I tried `make check`, but got error message which included:
>>>>> 
>>>>> make[1]: Entering directory `/home/evansl/download/gnucash/2.4.11/build/po'
>>>>> INTLTOOL_EXTRACT=/usr/bin/intltool-extract
>>>>> srcdir=/home/evansl/download/gnucash/2.4.11/build/../src/po
>>>>> /usr/bin/intltool-update --gettext-package gnucash --pot
>>>>> rm -f missing notexist
>>>>> srcdir=/home/evansl/download/gnucash/2.4.11/build/../src/po
>>>>> /usr/bin/intltool-update -m
>>>>> The usage of POTFILES.ignore is deprecated. Please consider moving the
>>>>> content of this file to POTFILES.skip.
>>>>> mismatched quotes at line 33 in
>>>>> /home/evansl/download/gnucash/2.4.11/build/../src/po/../src/optional/python-bindings/gnucash_core_c.py
>>>>> 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.
>>>>> 
>>>>> me/evansl/download/gnucash/2.4.11/build/../src/po/../intl-scm/guile-strings.c
>>>>> me/evansl/download/gnucash/2.4.11/build/../src/po/../src/app-utils/gnc-exp-parser.c
>>>>> [skip]
>>>>> me/evansl/download/gnucash/2.4.11/build/../src/po/../src/report/report-gnome/window-report.c
>>>>> me/evansl/download/gnucash/2.4.11/build/../src/po/../src/report/stylesheets/gnc-plugin-stylesheets.c
>>>>> 
>>>>> 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.
>>>>> Please report to gnucash-devel at gnucash.org
>>>>> if [ -r missing -o -r notexist ]; then \
>>>>> 	  exit 1; \
>>>>> 	fi
>>>>> make[1]: *** [check] Error 1
>>>>> make[1]: Leaving directory `/home/evansl/download/gnucash/2.4.11/build/po'
>>>>> make: *** [check-recursive] Error 1
>>>>> ~/download/gnucash/2.4.11/build $
>>>>> 
>>>>> 
>>>>> I have search this ml for "POTFILES" and found:
>>>>> 
>>>>> From: Derek Atkins <warlord at mit.edu>
>>>>> Newsgroups: gmane.comp.gnome.apps.gnucash.devel
>>>>> Subject: Re: Missing files in po/POTFILES.in
>>>>> Date: Wed, 27 Apr 2011 11:33:23 -0400
>>>>> Lines: 17
>>>>> 
>>>>> which suggested:
>>>>> 
>>>>> You must use "make gnucash.pot" from the GnuCash build system to
>>>>> regenerate the POTfile.  You cannot do it by hand.
>>>>> 
>>>>> However, trying that apparently did nothing:
>>>>> 
>>>>> /home/evansl/download/gnucash/2.4.11/build/po $ make gnucash.pot
>>>>> make: `gnucash.pot' is up to date.
>>>>> /home/evansl/download/gnucash/2.4.11/build/po $
>>>>> 
>>>>> So, what do I do to get `make check` to complete?
>>>>> 
>>>>> TIA.
>>>>> 
>>>> 
>>>> Add the files to po/potfiles.skip, unless you want to work on translations.
>>>> 
>>>> Regards,
>>>> John Ralls
>>> 
>>> Thanks John.
>>> 
>>> I took the build/po/missing file, which contained lines such as the
>>> following:
>>> 
>>> me/evansl/download/gnucash/2.4.11/build/../src/po/../src/bin/gnucash-bin.
>>> 
>>> and edited it so that the lines looked more like what was currently in
>>> the src/po/POTFILES.skip file. IOW, the above line became:
>>> 
>>> rc/bin/gnucash-bin
>>> 
>>> I then appended this modified missing file to the src/po/POTFILES.skip
>>> and reran `make check`.  Unfortunately, I got the same error messages.
>>> 
>> 
>> OK, something else is going wrong, then. All of the files you've indicated are in fact in POTFILES.in, so intiltool isn't processing it the way we intend, or it isn't seeing POTFILES.in.
>> 
> 
> Thanks for the update John.
> FWIW, the /usr/bin/intltool-update has the line:
> 
> my $VERSION = "0.41.0";
> 
>> What's with src/po? po isn't in src, it's at the top level.
> I made src a symlink:
> 
>  /home/evansl/download/gnucash/2.4.11:
>  total used in directory 72140 available 55334028
>  drwxr-xr-x  6 evansl evansl     4096 Jan 24 22:20 .
>  drwxr-xr-x  7 evansl evansl     4096 Jan 24 20:07 ..
>  drwxr-xr-x 10 evansl evansl     4096 Jan 26 23:13 build
>  -rw-r--r--  1 evansl evansl      202 Jan 24 20:00 download.log
>  -rw-r--r--  1 evansl evansl      441 Jan 24 17:53 download.log~
>  drwxr-xr-x 13 evansl evansl     4096 Jan 24 23:52 gnucash-2.4.11
>  -rw-r--r--  1 evansl evansl 73758720 Jan 24 17:52 gnucash-2.4.11.tar
>  drwxr-xr-x  8 evansl evansl     4096 Jan 26 23:47 install
>  drwxr-xr-x  3 evansl evansl     4096 Jan 26 23:48 logs
>  lrwxrwxrwx  1 evansl evansl       14 Jan 24 22:20 src -> gnucash-2.4.11
> 
> I did this because that's how I've been doing it with gcc.  The build
> directory has a my-configure.sh which uses this src symlink instead
> of ../gnucash-2.4.11.
> 
> I should probably choose a different symlink name to avoid confusion.
> 

OK, now I understand what's going on.

The problem is that paths in POTFILES.* are like "src/bin/gnucash-bin.c" and the paths that are presented to intltool-update are "../src/po/../src/bin/gnucash-bin.c" (you can look at the list starting on line 69 of build/po/Makefile for what they actually are), and so the paths don't match.

There will be a file named "missing" in src/po. You could move POTFILES.in out of the way and move missing to POTFILES.in. That should fix the paths so that make check succeeds. Or you could edit build/Makefile and remove "po" from SUBDIRS, so make will ignore it.

Regards,
John Ralls




More information about the gnucash-devel mailing list