Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.rc > #365030 > unrolled thread

Bug#1073038: po4a: Fails due to undefined subroutine Locale::Po4a::Pod::dgettext

Started byGuillem Jover <guillem@debian.org>
First post2024-06-12 05:00 +0200
Last post2024-06-23 17:40 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.debian.bugs.rc


Contents

  Bug#1073038: po4a: Fails due to undefined subroutine Locale::Po4a::Pod::dgettext Guillem Jover <guillem@debian.org> - 2024-06-12 05:00 +0200
    Bug#1073038: po4a: Fails due to undefined subroutine Locale::Po4a::Pod::dgettext Martin Quinson <Martin.Quinson@ens-rennes.fr> - 2024-06-13 00:10 +0200
    Bug#1073038: marked as done (po4a: Fails due to undefined  subroutine Locale::Po4a::Pod::dgettext) "Debian Bug Tracking System" <owner@bugs.debian.org> - 2024-06-23 17:40 +0200

#365030 — Bug#1073038: po4a: Fails due to undefined subroutine Locale::Po4a::Pod::dgettext

FromGuillem Jover <guillem@debian.org>
Date2024-06-12 05:00 +0200
SubjectBug#1073038: po4a: Fails due to undefined subroutine Locale::Po4a::Pod::dgettext
Message-ID<IOmnn-2hJM-7@gated-at.bofh.it>
Package: po4a
Version: 0.70
Severity: serious

Hi!

When building dpkg, it now fails with something like this:

  ,---
  Making check in man
  make[1]: Entering directory '<UPDIR>/dpkg/man'
  /usr/bin/po4a --previous --srcdir . --destdir . --no-backups --porefs file --msgmerge-opt=--add-location=file --package-name dpkg-man --package-version 1.22.6-80-gec07 --copyright-holder "Dpkg Developers" --msgid-bugs-address debian-dpkg@lists.debian.org  ./po/po4a.cfg
  Undefined subroutine &Locale::Po4a::Pod::dgettext called at /usr/share/perl5/Locale/Po4a/Pod.pm line 94, <$fh> line 21.
  make[1]: *** [Makefile:902: man.stamp] Error 255
  make[1]: Leaving directory '<UPDIR>/dpkg/man'
  `---

It seems the module is missing some import.

Thanks,
Guillem

[toc] | [next] | [standalone]


#365093

FromMartin Quinson <Martin.Quinson@ens-rennes.fr>
Date2024-06-13 00:10 +0200
Message-ID<IOEkj-2tmP-49@gated-at.bofh.it>
In reply to#365030

[Multipart message — attachments visible in raw view] — view raw

Hello,

I just commited a fix for the undefined subroutine error.

Le mercredi 12 juin 2024 à 17:14 +0200, Guillem Jover a écrit :
> > That fixed that issue but then it fails with:
> > 
> >   ,---
> >     PO4A   man.stamp
> >   po4a::pod: The file deb-buildinfo.pod declares utf8 as encoding, but you 
> >              provided UTF-8 as master charset. Please change either
> > setting.
> >    at /usr/bin/po4a line 1663.
> >   make[2]: *** [Makefile:902: man.stamp] Error 255
> >   `---
> 
> I think the charset comparison is too naive though, and does not cover
> for example any aliases listed in «man Encode::Supported». I think a
> better comparison logic could look like this:
> 
>   ,---
>   use Encode;
> 
>   my $enc_charset = Encode::find_encoding($charset);
>   my $enc_master_charset = Encode::find_encoding($master_charset);
> 
>   say 'match' if $enc_charset->mime_name eq $enc_master_charset->mime_name;
>   `---
> 
> Unfortunately neither Encode::find_encoding()->name nor
> Encode::resolve_alias() seem helpful here because they return
> "utf-8-strict" for "UTF-8" which will not match against "utf-8" for
> the canonical "utf8".

The problem is that Perl has a rather unexpected behavior wrt utf8, UTF-8 and
UTF8. These names are not aliases of others in Perl. See
https://perldoc.perl.org/Encode#UTF-8-vs.-utf8-vs.-UTF8

So I don't think that you will find a piece of Perl code that will allow to
merge these names to declare that they are equivalent. In some sense, that's
the essence of all issues I introduced in po4a v0.70 when introducing perlIO to
control the encoding issues. I went from a lax system being utf8 by default but
happily taking latin-1 encoding files to a much stricter UTF-8 system by
default and forcing the user to specify if they want another encoding.

Instead, I just pushed a commit changing the error message when charsets are
utf8 and UTF-8 to insist on the difference between these encodings in Perl.
https://github.com/mquinson/po4a/commit/afe6e1344ffad9d87dd807a81ed6467d6101b15f

Please tell me if it's enough.

> I'm not sure whether lib/Locale/Po4a/Xml.pod might need a similar
> treatment, because that might depend on what encodings are supported
> in there, against what is supported in po4a I guess.

Ah, good catch. I'd have forgotten this one.

Thanks for your help chasing this down,
Mt

[toc] | [prev] | [next] | [standalone]


#365782 — Bug#1073038: marked as done (po4a: Fails due to undefined subroutine Locale::Po4a::Pod::dgettext)

From"Debian Bug Tracking System" <owner@bugs.debian.org>
Date2024-06-23 17:40 +0200
SubjectBug#1073038: marked as done (po4a: Fails due to undefined subroutine Locale::Po4a::Pod::dgettext)
Message-ID<ISxtT-50p8-3@gated-at.bofh.it>
In reply to#365030

[Multipart message — attachments visible in raw view] — view raw

Your message dated Sun, 23 Jun 2024 15:37:43 +0000
with message-id <E1sLPHj-00BQhg-UC@fasolo.debian.org>
and subject line Bug#1073038: fixed in po4a 0.73-1
has caused the Debian Bug report #1073038,
regarding po4a: Fails due to undefined subroutine Locale::Po4a::Pod::dgettext
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1073038: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1073038
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.bugs.rc


csiph-web