Subject: Re: pkg/33506: libgnome build broke on msgfmt
To: None <,,>
From: Johnny Lam <>
List: pkgsrc-bugs
Date: 05/19/2006 21:40:06
The following reply was made to PR pkg/33506; it has been noted by GNATS.

From: Johnny Lam <>
Subject: Re: pkg/33506: libgnome build broke on msgfmt
Date: Fri, 19 May 2006 17:37:50 -0400

 Ben Collver wrote:
 >  The response from the Gnome folks is that the msgstr does not
 >  necessarily need to be followed by a character string on the same line.
 >  Here is the response:
 >  "The PO format specification, in the GNU gettext manual, does not say
 >  that the msgstr keyword and the string that follows it must be on the
 >  same line. Your
 >  /pkg_comp/obj/pkgsrc/devel/libgnome/default/.tools/bin/msgfmt program
 >  rejects a valid PO file. What version of msgfmt is it? What does
 >  "/pkg_comp/obj/pkgsrc/devel/libgnome/default/.tools/bin/msgfmt --version"
 >  yield?
 I believe they are misreading the GNU gettext manual.  I will quote
 directly from section 2.2 of the gettext info file, titled "The Format
 of PO Files":
       msgid ""
       "Here is an example of how one might continue a very long string\n"
       "for the common case the string represents multi-line output.\n"
    In this example, the empty string is used on the first line, to allow
    better alignment of the `H' from the word `Here' over the `f' from the
    word `for'.  In this example, the `msgid' keyword is followed by three
    strings, which are meant to be concatenated.  Concatenating the empty
    string does not change the resulting overall string, but it is a way
    for us to comply with the necessity of `msgid' to be followed by a
    string on the same line, while keeping the multi-line presentation
    left-justified, as we find this to be a cleaner disposition.  The
    empty string could have been omitted, but only if the string starting
    with `Here' was promoted on the first line, right after `msgid'.(1)
 And footnote (1) states:
    (1) This limitation is not imposed by GNU `gettext', but is for
        compatibility with the `msgfmt' implementation on Solaris.
 My belief is that they are not adhering to the correct syntax for PO
 files by relying on a GNU relaxation of the rules.
 >  The GNU AM_PO_SUBDIRS macro (in po.m4) makes sure to not use the Solaris
 >  and FreeBSD 'msgfmt' programs. Are you using this macro?"
 >  By the way, for my system it says:
 >  $ ./.tools/bin/msgfmt --version   
 >  msgfmt (GNU gettext) 0.10.35
 >  Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
 >  This is free software; see the source for copying conditions.  There is NO
 >  Written by Ulrich Drepper.
 >  So this appears to be behaviour introduced by the wrapper scripts.
 Yes, I don't disagree that this is behavior is introduced by the wrapper
 scripts.  However, the wrapper scripts were written to follow the format
 specified in the gettext info file and clarified in the examples within
 that file.  I am considering changing it to allow the GNU syntax, but I
 still think that libgnome should allow for alternative gettext
 implementations to be used.
 	-- Johnny Lam <>