Bug 1154436

Summary: makeinfo: Can't locate Unicode/EastAsianWidth.pm in @INC
Product: [Fedora] Fedora Reporter: Jan Kratochvil <jan.kratochvil>
Component: texi2htmlAssignee: Petr Pisar <ppisar>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: jan.kratochvil, moceap, novyjindrich, pertusus, petersen, pknirsch, ppisar, vcrhonek
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: texi2html-5.0-2.fc22 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-10-22 10:15:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1154969    
Attachments:
Description Flags
texi2html-EastAsianWidth-libintl.patch none

Description Jan Kratochvil 2014-10-19 18:16:59 UTC
Description of problem:
/usr/bin/makeinfo has stopped working in Rawhide.

Version-Release number of selected component (if applicable):
texi2html-5.0-1.fc22.noarch
texinfo-5.2-6.fc22.x86_64

How reproducible:
Always.

Steps to Reproduce:
makeinfo

Actual results:
Can't locate Unicode/EastAsianWidth.pm in @INC (you may need to install the Unicode::EastAsianWidth module) (@INC contains: /usr/share/texinfo /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/share/texinfo/Texinfo/Convert/Unicode.pm line 31.
BEGIN failed--compilation aborted at /usr/share/texinfo/Texinfo/Convert/Unicode.pm line 31.
Compilation failed in require at /usr/share/texinfo/Texinfo/Convert/Text.pm line 27.
BEGIN failed--compilation aborted at /usr/share/texinfo/Texinfo/Convert/Text.pm line 27.
Compilation failed in require at /usr/share/texinfo/Texinfo/Parser.pm line 55.
BEGIN failed--compilation aborted at /usr/share/texinfo/Texinfo/Parser.pm line 55.
Compilation failed in require at /usr/bin/makeinfo line 101.
BEGIN failed--compilation aborted at /usr/bin/makeinfo line 101.

Expected results:
makeinfo: missing file argument.
Try `makeinfo --help' for more information.

Additional info:
F-21 works OK.
It broke my Rawhide build of GDB:
  https://kojipkgs.fedoraproject.org//work/tasks/861/7910861/build.log
Workaroundable by:
  export PERL5LIB="$PERL5LIB${PERL5LIB:+:}/usr/share/texi2html/lib/Unicode-EastAsianWidth/lib"
Unaware if it is texi2html or texinfo Bug.

Comment 1 Jens Petersen 2014-10-20 10:39:03 UTC
I just hit this too why while trying to build emacspeak in f22 rawhide.

I would assume it is a texinfo bug, though texinfo-5.2-6.fc22
has a Requires for perl(Unicode::EastAsianWidth), hmm.

In F20, texinfo contained EastAsianWidth.pm.

Comment 2 Vitezslav Crhonek 2014-10-20 13:40:52 UTC
# rpm -q --whatprovides "perl(Unicode::EastAsianWidth)"
perl-Unicode-EastAsianWidth-1.33-4.fc22.noarch
texi2html-5.0-1.fc22.noarch

In my opinion that's not correct, texi2html shouldn't provide perl(Unicode::EastAsianWidth). It brokes perl(Unicode::EastAsianWidth) dependency for texinfo.

I can revert the change and let texinfo use its internal module again. But now, when perl-Unicode-EastAsianWidth-1.33-4.fc22.noarch is available, texi2html should rather use it too (switch on '--with-external-Unicode-EastAsianWidth' in texi2html configure script) and the problem will be solved.

Comment 3 Mosaab Alzoubi 2014-10-20 23:01:31 UTC
Same problem during building GNULIB against RAWHIDE today!!!

http://koji.fedoraproject.org/koji/taskinfo?taskID=7919061

Comment 4 Petr Pisar 2014-10-22 07:18:26 UTC
texi2html-5.0 bundles Unicode-EastAsianWidth from 2008 year, installs it into a private directory, and export it as a RPM Provides. This is unacceptable and it will be fixed.

I will unbundle it. Solving boot-strap build cycles is kept as an exercise for the maintainer.

Comment 5 Jens Petersen 2014-10-22 07:26:55 UTC
Created attachment 949268 [details]
texi2html-EastAsianWidth-libintl.patch

I looked at this a bit.

This patch should fix the problem.

Basically --with-external-Unicode-EastAsianWidth
(and --with-external-libintl-perl) are not sufficient to solve this,
since the install of the libs is hardcoded in Makefile.am.
And autoreconf fails..., so for now I patched Makefile.in:
not ideal but hopefully good enough. I think it is better
to use the external libs in all cases so I patch
texi2html.pl to just require them rather than the upstream
conditions.

perl-Unicode-EastAsianWidth is only available on F21+
I conditioned the changes on %fedora.

Since the perl require's of Locale::Messages and Unicode::EastAsianWidth
depend on runtime options, these depends also seem to need to be given by hand.

It is not beautiful but seems clean enough to me.
If it looks acceptable I can commit and build in Rawhide
to fix the texinfo dependency issue.

Comment 6 Petr Pisar 2014-10-22 08:03:59 UTC
Thanks but I've just finished patch for the Makefile.am and I can regenerate the autotools scripts.

Comment 7 Petr Pisar 2014-10-22 10:15:44 UTC
Upstream bug reports with patches:

https://savannah.nongnu.org/bugs/?43456
https://savannah.nongnu.org/bugs/?43457

Comment 8 Jan Kratochvil 2014-10-27 14:50:45 UTC
Confirming GDB in Rawhide builds now even after removing the workaround, thanks.