[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Cannnot build nbd from git clone



On Thu, Dec 14, 2017 at 06:15:17AM +0000, richard parkins wrote:
> 
>    
>     From: Eric Blake <eblake@redhat.com>
>     To: richard parkins <aleph0hpela-suse@yahoo.co.uk>; "nbd@other.debian.org"
>     <nbd@other.debian.org>
>     Sent: Wednesday, 13 December 2017, 23:13
>     Subject: Re: Cannnot build nbd from git clone
>    
>     Most likely, your build environment is lacking those dependencies.  Not
>     every distro names their packages the same, so I can't always tell you
>     want package to install; but on Fedora 27,
>     glib2-devel-2.54.2-1.fc27.x86_64 provides /usr/share/aclocal/glib-2.0.m4
>     which provides AM_PATH_GLIB.
>    
> 
> Thanks, OK, I installed glib2 development tools.
> 
> [I think there is a naming confusion here. Normally I would expect "development
> tools for package X" to mean tools required to develop package X itself, rather
> than programs using package X. With a library, there are of course more
> possibilities. You can be just installing a package which loads the library, or
> building a package which loads the library, or building the library itself.]
> 
> Anyway I can now get a successful run of configure,  which generates a
> Makefile. However when I run make, I get [after installing doctools and running
> make as far as it works]:
> 
> rparkins@rparkins64:~/Downloads/nbd> make
> make  all-recursive
> make[1]: Entering directory '/home/rparkins/Downloads/nbd'
> Making all in .
> make[2]: Entering directory '/home/rparkins/Downloads/nbd'
> make[2]: Leaving directory '/home/rparkins/Downloads/nbd'
> Making all in man
> make[2]: Entering directory '/home/rparkins/Downloads/nbd/man'
> LC_ALL=C docbook2man nbd-client.8.in.sgml
> Using catalogs: /etc/sgml/catalog, /etc/sgml/catalog, /usr/share/sgml/
> CATALOG.docbook-dsssl-stylesheets
> Using stylesheet: /usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl#print
> Working on: /home/rparkins/Downloads/nbd/man/nbd-client.8.in.sgml
> nsgmls:/home/rparkins/Downloads/nbd/man/nbd-client.8.in.sgml:1:59:W: cannot
> generate system identifier for public text "-//OASIS//DTD DocBook V4.5//EN"
> nsgmls:/home/rparkins/Downloads/nbd/man/nbd-client.8.in.sgml:27:0:E: reference
> to entity "REFENTRY" for which no system identifier could be generated
> nsgmls:/home/rparkins/Downloads/nbd/man/nbd-client.8.in.sgml:1:0: entity was
> defined here
> nsgmls:/home/rparkins/Downloads/nbd/man/nbd-client.8.in.sgml:27:0:E: DTD did
> not contain element declaration for document type name
> nsgmls:/home/rparkins/Downloads/nbd/man/nbd-client.8.in.sgml:29:9:E: element
> "REFENTRY" undefined
> 
> ... lots more errors

This means that you don't have a full docbook SGML environment
installed.

On a Debian or Ubuntu system, you need the "docbook-utils" package (for
the docbook2man program) as well as the docbook one (for the SGML DTD
files).

(You should only need those when either change the manpages or when you
want to build from git, because they are shipped prebuilt in the
tarball)

> I tried copying the .sgml files from the tarball, in case the versions in the
> git repository didn't match the ..sh.in files which I had copied from the
> tarball because they were missing from the git clone, but this didn't help.
> 
> 
> Do the developers ever try building nbd from a clean git clone or a clean
> extract from the tarball (neither of which currently works)?

Actually, it does, but some of the requirements could be better
documented :-)

autoreconf (and autogen.sh) is *only* needed when building from git, not
when building from a tarball. If you download a clean tarball, then
*just* running "./configure; make" should work (if not, that's a bug,
and I'd like a full log please).

If you build from git, you need more, and yes, that could be better
documented. However, I don't think that is *as much* of a problem as
ensuring that the published sources compile properly.

> It seems to me a pretty essential regression test for an open source
> project. If I can't build from the published sources, it isn't really
> an open source project at all.

Absolutely, but I don't think that's the case (and again, if it is,
that's a bug).

-- 
Could you people please use IRC like normal people?!?

  -- Amaya Rodrigo Sastre, trying to quiet down the buzz in the DebConf 2008
     Hacklab


Reply to: