Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 222209 - sys-apps/moreutils-0.29 fails to emerge, fails to load external entity docbookx.dtd
Summary: sys-apps/moreutils-0.29 fails to emerge, fails to load external entity docboo...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Greg Kroah-Hartman (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-15 06:34 UTC by Pete Black
Modified: 2008-05-31 18:10 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
portage emerge log (build.log,1.72 KB, text/plain)
2008-05-15 06:35 UTC, Pete Black
Details
make use of doc use flag (moreutils-0.30-r1.ebuild,1.10 KB, text/plain)
2008-05-17 22:01 UTC, Pete Black
Details
Generates missing man pages from docbook files in ebuild (moreutils-0.30-r2.ebuild,1.06 KB, text/plain)
2008-05-18 20:46 UTC, Marko Doko
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Pete Black 2008-05-15 06:34:06 UTC
>>> Compiling source in /var/tmp/portage/sys-apps/moreutils-0.29/work ...
sponge.docbook:25: warning: failed to load external entity "file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd"
[]>
   ^
ifdata.docbook:25: warning: failed to load external entity "file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd"
[]>
   ^
isutf8.docbook:25: warning: failed to load external entity "file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd"
[]>
   ^
ifne.docbook:25: warning: failed to load external entity "file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd"
[]>
   ^
/usr/bin/iconv: illegal input sequence at position 378
/usr/bin/db2x_manxml: program in pipeline exited with an error
make: *** [isutf8.1] Error 1
make: *** Waiting for unfinished jobs....

There is no docbookx.dtd in /usr/share/*. Emerging app-text/docbook-xml-dtd and linking to the necessary dir doesn't help either.

Reproducible: Always

Steps to Reproduce:
1. emerge =sys-apps/moreutils-0.29
2.
3.

Actual Results:  
Faild emerge.

Expected Results:  
Successful emerge.
Comment 1 Pete Black 2008-05-15 06:35:35 UTC
Created attachment 153187 [details]
portage emerge log
Comment 3 Greg Kroah-Hartman (RETIRED) gentoo-dev 2008-05-16 02:34:57 UTC
Am i missing some RDEPEND package here that you know of?
Comment 4 Duncan 2008-05-16 17:44:55 UTC
Same errors here.  I had to merge a whole bunch of dependencies to build docs and it still won't merge, due to doc building issues.

Also, why all that when I have USE=-doc?  The sunrise ebuild honored that and didn't require all those dependencies for docs I can go to the web for if I really need them.  Isn't that what USE=doc is for, to control extremely time or space consuming or extreme dependency requiring docs which many users may find unnecessary?  This obviously isn't simple pregenerated readme files, but the tree ebuild seems to have disappeared the doc USE flag despite its usefulness in this case.

Duncan
Comment 5 Pete Black 2008-05-17 22:01:36 UTC
Created attachment 153467 [details]
make use of doc use flag

Based on the sunrise's moreutils-0.28.ebuild, adds support to not install any docs, using doc use flag.

I haven't had time to test this fully, especially using +doc. Note that this ebuild does not pre-strip the binaries and compiles with whatever is in $CFLAGS.

Also, someone might want to break out the sed stuff in src_unpack() and update the docbook-makefile.patch (used in 0.29) or create a new one.
Comment 6 Marko Doko 2008-05-18 20:46:14 UTC
Created attachment 153611 [details]
Generates missing man pages from docbook files in ebuild

I created moreutils-0.30-r2.ebuild, and it fixes this problem by generating man pages that will not be generated by make.
Comment 7 Greg Kroah-Hartman (RETIRED) gentoo-dev 2008-05-19 04:25:37 UTC
so you are just trying to generate the files again?

If they failed the first time, shouldn't they fail the same way again?

How about I ask upstream to include the man pages already built?  That should solve all of these issues, with the exception of -doc, which I'm wondering is still needed or not...
Comment 8 Marko Doko 2008-05-19 21:06:25 UTC
(In reply to comment #7)
> so you are just trying to generate the files again?
> 
> If they failed the first time, shouldn't they fail the same way again?
> 

Well, no they will not fail because Makefile is a little defective and does not generate them properly. The problem is that there are docbook files present from which you can generate the man pages, but Makefile fails to use them in the right way.

Those four lines I added to the src_compile just go trough all the docbook files and generate man pages from them. (I tried it - it works.)


> How about I ask upstream to include the man pages already built?  That should
> solve all of these issues, with the exception of -doc, which I'm wondering is
> still needed or not...

That may be the best solution because the Makefile itself is broken, but until Makefile is corrected by package developer, I think we shold include this quick fix so that users can emerge moreutils from portage.


 

Comment 9 Duncan 2008-05-19 23:08:25 UTC
(In reply to comment #7)
> How about I ask upstream to include the man pages already built?  That should
> solve all of these issues, with the exception of -doc, which I'm wondering is
> still needed or not...

From the perspective here, USE=doc would no longer be needed, if the man files were pre-generated.  I suggested the flag be used due to all the extra dependencies pulled in to generate them, not due to post-generated size, which isn't a big deal in this case, AFAIK.  Pre-generated would negate the necessity of all those extra dependencies, so would negate the need for the flag, for what is, after all, user manpages rather than developer manpages (the other reason the flag is sometimes used in the tree).

If it was an embedded system or somewhere the manpages were /really/ not wanted, Gentoo/portage users do after all have INSTALL_MASK they can work with, and presumably the other package managers are at least equally flexible in that regard.

So yes, for me anyway, pregenerated manpages would take care of the issue and USE=doc would no longer be necessary.

Thanks. =8^)
Comment 10 Santiago M. Mola (RETIRED) gentoo-dev 2008-05-28 17:28:48 UTC
It seems that dtd is not installed by any docbook-* package

If you install app-text/docbook-xml-dtd:4.4 and do
# sed -i -e "s:/usr/share/xml/docbook/schema/dtd/4.4/:/usr/share/sgml/docbook/xml-dtd-4.4/:g" *.docbook
on moreutils' sources, then it builds correctly.

Assuming that's the correct dtd, you have to add app-text/docbook-xml-dtd:4.4 to DEPEND (using EAPI=1, or =app-text/docbook-xml-dtd-4.4* if not) and patch the sources.
Comment 11 Duncan 2008-05-31 16:24:57 UTC
I synced and then did an emerge -NuD world today, and moreutils finally merged. =8^)

The updates under moreutils as shown in a -tp were as follows:

[ebuild     U ] sys-apps/moreutils-0.30 [0.28] USE="(-doc%)" 0 kB [1=>0]
[ebuild     U ]  app-text/docbook2X-0.8.8-r2 [0.8.8-r1] USE="-test%" 0 kB
[ebuild  NS   ]   app-text/docbook-xml-dtd-4.2-r2 [4.5] 0 kB
[ebuild  N    ]   dev-perl/XML-LibXML-1.66  0 kB
[ebuild  N    ]    dev-perl/XML-LibXML-Common-0.13  0 kB

So something in those updates, probably the xml-dtd as noted by coldwind, did the trick.  So the bug could be closed/fixed now, I think, tho it'd still be nice to have the doc flag back to control all the doc generation dependencies, if possible.  (Or, if you prefer, I can file a different bug for that.  But I'm not sure if you want to go that way, so...)

Thanks. =8^)
Duncan
Comment 12 Pete Black 2008-05-31 16:56:20 UTC
I can confirm this. During the compile there where a few warnings though like this:

sponge.docbook:25: warning: failed to load external entity "file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd"
Comment 13 Santiago M. Mola (RETIRED) gentoo-dev 2008-05-31 17:17:17 UTC
Fixed in moreutils-0.30-r1. Thanks for reporting!
Comment 14 Greg Kroah-Hartman (RETIRED) gentoo-dev 2008-05-31 18:10:38 UTC
Thanks for taking care of this, I appreciate it.