rrthomas / recode

Charset converter tool and library
GNU General Public License v3.0
130 stars 12 forks source link

help2man error on mageia v7 x86-64 #18

Closed shlomif closed 2 years ago

shlomif commented 5 years ago
make[1]: Entering directory '/home/shlomif/recode'
Making all in doc
make[2]: Entering directory '/home/shlomif/recode/doc'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/shlomif/recode/doc'
Making all in lib
make[2]: Entering directory '/home/shlomif/recode/lib'
make  all-recursive
make[3]: Entering directory '/home/shlomif/recode/lib'
make[4]: Entering directory '/home/shlomif/recode/lib'
make[4]: Nothing to be done for 'all-am'.
make[4]: Leaving directory '/home/shlomif/recode/lib'
make[3]: Leaving directory '/home/shlomif/recode/lib'
make[2]: Leaving directory '/home/shlomif/recode/lib'
Making all in src
make[2]: Entering directory '/home/shlomif/recode/src'
make  recode
make[3]: Entering directory '/home/shlomif/recode/src'
make[3]: 'recode' is up to date.
make[3]: Leaving directory '/home/shlomif/recode/src'
if ( touch recode.1.w && rm -f recode.1.w; ) >/dev/null 2>&1; then \
  ../build-aux/missing --run /usr/bin/help2man --locale=en_US.UTF-8 \
        --name="converts files between character sets" \
        --output=recode.1 ./recode; \
fi
help2man: no locale support (Locale::gettext required)
`help2man' generates a man page out of `--help' and `--version' output.

Usage: help2man [OPTION]... EXECUTABLE

 -n, --name=STRING       description for the NAME paragraph
 -s, --section=SECTION   section number for manual page (1, 6, 8)
 -m, --manual=TEXT       name of manual (User Commands, ...)
 -S, --source=TEXT       source of program (FSF, Debian, ...)
 -L, --locale=STRING     select locale (default "C")
 -i, --include=FILE      include material from `FILE'
 -I, --opt-include=FILE  include material from `FILE' if it exists
 -o, --output=FILE       send output to `FILE'
 -p, --info-page=TEXT    name of Texinfo manual
 -N, --no-info           suppress pointer to Texinfo manual
 -l, --libtool           exclude the `lt-' from the program name
     --help              print this help, then exit
     --version           print version number, then exit

EXECUTABLE should accept `--help' and `--version' options and produce output on
stdout although alternatives may be specified using:

 -h, --help-option=STRING     help option string
 -v, --version-option=STRING  version option string
 --version-string=STRING      version string
 --no-discard-stderr          include stderr when parsing option output

Report bugs to <bug-help2man@gnu.org>.
make[2]: *** [Makefile:2175: recode.1] Error 255
make[2]: Leaving directory '/home/shlomif/recode/src'
make[1]: *** [Makefile:1518: all-recursive] Error 1
make[1]: Leaving directory '/home/shlomif/recode'
make: *** [Makefile:1450: all] Error 2

after ./bootstrap and ./configure.

rrthomas commented 5 years ago

Did installing Locale::gettext help?

shlomif commented 5 years ago

@rrthomas : it is already installed and rebuilding it did not help.

rrthomas commented 5 years ago

OK. I'm not sure what to do about that, because it sounds like a problem with help2man. Also, it's not clear that that message is actually an error, but only a warning. The actual error is that it can't run recode --help. What happens if you do that?

shlomif commented 5 years ago

@rrthomas

+ ./recode --help
Recode converts files between various character sets and surfaces.

Usage: /home/shlomif/recode/src/.libs/lt-recode [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]

If a long option shows an argument as mandatory, then it is mandatory
for the equivalent short option also.  Similarly for optional arguments.

Listings:
  -l, --list[=FORMAT]        list one or all known charsets and aliases
  -k, --known=PAIRS          restrict charsets according to known PAIRS list
  -h, --header[=[LN/]NAME]   write table NAME on stdout using LN, then exit
  -T, --find-subsets         report all charsets being subset of others
  -C, --copyright            display Copyright and copying conditions
      --help                 display this help and exit
      --version              output version information and exit

Operation modes:
  -v, --verbose           explain sequence of steps and report progress
  -q, --quiet, --silent   inhibit messages about irreversible recodings
  -f, --force             force recodings even when not reversible
  -t, --touch             touch the recoded files after replacement
  -i, -p, --sequence=STRATEGY  ignored for backwards compatibility

Fine tuning:
  -s, --strict           use strict mappings; discard untranslatable characters
  -d, --diacritics       convert only diacritics or alike for HTML/LaTeX/BibTeX
  -S, --source[=LN]      limit recoding to strings and comments as for LN
  -c, --colons           use colons instead of double quotes for diaeresis
  -g, --graphics         approximate IBMPC rulers by ASCII graphics
  -x, --ignore=CHARSET   ignore CHARSET while choosing a recoding path

Option -l with no FORMAT nor CHARSET list available charsets and surfaces.
FORMAT is `decimal', `octal', `hexadecimal' or `full' (or one of `dohf').
Unless DEFAULT_CHARSET is set in environment, CHARSET defaults to the locale
dependent encoding, determined by LC_ALL, LC_CTYPE, LANG.
With -k, possible before charsets are listed for the given after CHARSET,
both being tabular charsets, with PAIRS of the form `BEF1:AFT1,BEF2:AFT2,...'
and BEFs and AFTs being codes are given as decimal numbers.
LN is some language, it may be `c', `perl' or `po'; `c' is the default.

REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is ENCODING[..ENCODING]...
ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like BEFORE..AFTER,
with BEFORE and AFTER being charsets.  An omitted CHARSET implies the usual
charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a /
with an empty surface name means no surfaces at all.  See the manual.

Each FILE is recoded over itself, destroying the original.  If no
FILE is specified, then act as a filter and recode stdin to stdout.

Report bugs at https://github.com/rrthomas/recode
+ ./recode --version
recode 3.7.1
Written by François Pinard <pinard@iro.umontreal.ca>.

Copyright (C) 1990-2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

thanks.

rrthomas commented 5 years ago

So, it looks as though the problem really is with help2man? I'm not sure. But I would start there.

shlomif commented 5 years ago

@rrthomas : see my commit

rrthomas commented 5 years ago

You're a total star. Thanks so much!

rrthomas commented 5 years ago

Please could you make a PR? I already looked it over, and I can see why it's better at once.

shlomif commented 5 years ago

See https://github.com/rrthomas/recode/pull/19

rrthomas commented 3 years ago

Unfortunately I had to revert this change, as the man page (should) contain text that cannot be rendered as ASCII: specifically, the name of the original author, "François Pinard".

Can you let me know whether the problem is solved by having an en_US.UTF-8 locale?

rrthomas commented 3 years ago

I have found the solution: help2man must be built with Locale::gettext support; it is not sufficient merely to install that module afterwards.

I will document this detail!