response
[ikiwiki.git] / doc / bugs / xgettext_issue.mdwn
1 I ran into a problem when installing from svn.  I got "invalid variable
2 interpolation" errors for Wrappers.pm.  I added the flag '--extract-all' to
3 'po/Makefile' and 'po/t' to the xgettext line.  Once I did that I was able
4 to make and make test just fine. --HarleyPig
5
6 > It would be helpful if you could post the actual error message you saw.
7 > Also would be nice to know what versions of perl and gettext you have.
8 > Perhaps your xgettext is an older version from before it natively
9 > supported perl.
10 > Adding --extract-all doesn't seem like a good idea, since this causes it
11 > to treat every string in the entire wiki as translatable. I don't know
12 > what you're talking about regarding 'po/t'. --[[Joey]]
13
14 >> make[1]: Entering directory `/home/www/ikiwiki/po'
15 >> Rebuilding the pot file
16 >> xgettext ../IkiWiki/CGI.pm ../IkiWiki/Plugin/aggregate.pm ../IkiWiki/Plugin/brokenlinks.pm ../IkiWiki/Plugin/camelcase.pm ../IkiWiki/Plugin/ddate.pm ../IkiWiki/Plugin/favicon.pm ../IkiWiki/Plugin/fortune.pm ../IkiWiki/Plugin/goodstuff.pm ../IkiWiki/Plugin/googlecalendar.pm ../IkiWiki/Plugin/haiku.pm ../IkiWiki/Plugin/html.pm ../IkiWiki/Plugin/htmlscrubber.pm ../IkiWiki/Plugin/htmltidy.pm ../IkiWiki/Plugin/httpauth.pm ../IkiWiki/Plugin/img.pm ../IkiWiki/Plugin/inline.pm ../IkiWiki/Plugin/linkmap.pm ../IkiWiki/Plugin/map.pm ../IkiWiki/Plugin/mdwn.pm ../IkiWiki/Plugin/meta.pm ../IkiWiki/Plugin/mirrorlist.pm ../IkiWiki/Plugin/openid.pm ../IkiWiki/Plugin/orphans.pm ../IkiWiki/Plugin/otl.pm ../IkiWiki/Plugin/pagecount.pm ../IkiWiki/Plugin/pagestats.pm ../IkiWiki/Plugin/passwordauth.pm ../IkiWiki/Plugin/poll.pm ../IkiWiki/Plugin/polygen.pm ../IkiWiki/Plugin/rawhtml.pm ../IkiWiki/Plugin/rst.pm ../IkiWiki/Plugin/search.pm ../IkiWiki/Plugin/shortcut.pm ../IkiWiki/Plugin/sidebar.pm ../IkiWiki/Plugin/skeleton.pm ../IkiWiki/Plugin/smiley.pm ../IkiWiki/Plugin/tag.pm ../IkiWiki/Plugin/template.pm ../IkiWiki/Plugin/textile.pm ../IkiWiki/Plugin/toc.pm ../IkiWiki/Plugin/toggle.pm ../IkiWiki/Plugin/typography.pm ../IkiWiki/Plugin/wikitext.pm ../IkiWiki/Rcs/Stub.pm ../IkiWiki/Rcs/git.pm ../IkiWiki/Rcs/mercurial.pm ../IkiWiki/Rcs/svn.pm ../IkiWiki/Rcs/tla.pm ../IkiWiki/Render.pm ../IkiWiki/Setup.pm ../IkiWiki/Setup/Standard.pm ../IkiWiki/UserInfo.pm ../IkiWiki/Wrapper.pm ../ikiwiki.in ../IkiWiki.pm -o ikiwiki.pot -Lperl --add-comments=translators ../IkiWiki/Wrapper.pm:64: invalid variable interpolation at "$"
17 >> make[1]: *** [ikiwiki.pot] Error 1
18 >> make[1]: Leaving directory `/home/www/ikiwiki/po'
19 >> make: *** [extra_build] Error 2
20 >>
21 >> harleypig ikiwiki # xgettext --version
22 >>
23 >> xgettext (GNU gettext-tools) 0.15
24 >>
25 >> harleypig ikiwiki # perl -v
26 >>
27 >> This is perl, v5.8.8 built for i686-linux
28 >>
29 >> Sorry about the po/t report ... it was the test file I used to figure out what was wrong and I forgot to remove it.  This is against the subversion repository, version 2338.
30 >> The referenced line has a $! variable, which the documentation for gettext indicates is the problem.
31
32 >>> Ok, I think that you need to upgrade xgettext to 0.16. However, there's
33 >>> no reason why you should need to rebuild the pot file anyway, so I've
34 >>> checked it into svn, and that's one problem [[bugs/done]].
35
36 >>>> FWIW, I get the same error when building manually from SVN trunk on Ubuntu Edgy. I'm also using xgettext 0.15, because it's the latest version that's in the repos. However,
37 >>>> I don't think that's the sole problem because I can build fine on another (Debian) box which is running _0.14.4_... I know very little about `gettext`, but could this be
38 >>>> related to my language settings? On the Edgy box I have `LANGUAGE=en_GB:en` and `LANG=en_GB.UTF-8`. The `ikiwiki` package installs on Edgy with no problems. --Ben
39
40 >>>>> You'll only see the problem if it needs to rebuild po/ikiwiki.pot,
41 >>>>> which it generally doesn't if you're just building the package. If
42 >>>>> you edit files and build, it will rebuilt the pot and then fail with
43 >>>>> older gettexts. --[[Joey]]