Red Hat Bugzilla – Bug 1006522
Without the xhtml1-dtds pkg, installing from a git checkout fails without mentioning it
Last modified: 2016-06-06 07:01:30 EDT
Description of problem:
If the xhtml1-dtds package is not installed, doing 'sudo make install' in a git checkout of libvirt will fail with many errors like this:
I/O error : Attempt to load network entity http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
../docs/sitemap.html.in:2: warning: failed to load external entity "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
missing XHTML1 DTD
/usr/bin/install: cannot stat './sitemap.html': No such file or directory
It would be nice if it could actually print out something like (in the style of configure):
error: You must install the xhtml1-dtds package to install libvirt
I know this is low priority, but it would be a helpful hint for first-time builders who may not have all the necessary packages installed.
on Fedora "yum-builddep libvirt.spec" should be enough to install the needed packages
Which files handle the checks for required dependencies to install? I was thinking ./configure and ./autogen.sh ? Are these the files I should be looking at to insert conditions for the xhtml1-dtds package checks?
(In reply to Giuseppe Scrivano from comment #1)
> on Fedora "yum-builddep libvirt.spec" should be enough to install the needed
In fact, that's enough when building from a .tar.gz which contains some already generated files (like documentation). But when building from a git there are some other tools needed to generate those files. So building from git requires some additional tools. Unfortunately, I don't think there's something we can do here. I mean, it would be nice if we just add those tools as BuildRequires into libvirt.spec, so yum-builddep would do the trich. However, that has not met with agreement upstream:
Ideally, we should find a way for bootstrap.conf to list a bootstrap hard requirement on xhtml1-dtds, the way we have a hard requirement on automake, libtoolize, perl::XML::XPath, and other tools required during git builds but not a tarball build. But I agree that yum-builddep, and therefore a BuildRequires in the spec file, is the wrong tool (a tarball is not the same as a git build).
(In reply to Eric Blake from comment #4)
> But I agree that yum-builddep, and therefore a
> BuildRequires in the spec file, is the wrong tool (a tarball is not the same
> as a git build).
Yes and no. I don't think I see a reason why our BuildRequires should not be more extensive. I mean, it does not hurt anything, it merely installs a few more packages. But then again, not everybody uses yum-builddep and the amount of packages is not that extensive. But I accept upstream decision.
*** Bug 1342981 has been marked as a duplicate of this bug. ***