Bug 1154436 - makeinfo: Can't locate Unicode/EastAsianWidth.pm in @INC
Summary: makeinfo: Can't locate Unicode/EastAsianWidth.pm in @INC
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: texi2html
Version: rawhide
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Petr Pisar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1154969
TreeView+ depends on / blocked
 
Reported: 2014-10-19 18:16 UTC by Jan Kratochvil
Modified: 2014-10-27 14:50 UTC (History)
8 users (show)

Fixed In Version: texi2html-5.0-2.fc22
Clone Of:
Environment:
Last Closed: 2014-10-22 10:15:44 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
texi2html-EastAsianWidth-libintl.patch (6.80 KB, patch)
2014-10-22 07:26 UTC, Jens Petersen
no flags Details | Diff

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.


Note You need to log in before you can comment on or make changes to this bug.