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

Re: Cannnot build nbd from git clone



On Wed, Dec 13, 2017 at 09:13:42AM -0600, Eric Blake wrote:
> On 12/12/2017 04:36 PM, richard parkins wrote:
> > Thanks for your reply.
> > 
> > The README.md says "do the normal configure/make/make installdance".
> 
> That's written from the perspective of using the tarball created by
> 'make dist', rather than a fresh git checkout.  Yeah, it could probably
> be improved to list the developer-only steps to get from git checkout to
> 'make dist' tarball (ends with the creation of configure), compared to
> the steps for everyone to get from tarball to built binaries (starts by
> running configure).
> 
> > It doesn't say anything about autoreconf.... I guessed that "configure" meant "autoconf", but I don't see how a user who hasn't already built that particular project should know to do "autoreconf". There are many configure/build tools available on the Internet, and just about every tool I have tried to download and build uses a different one.
> 
> A lot of projects have a 'bootstrap' or 'autogen.sh' or other script
> that runs both autoreconf AND other preparatory steps to get from the
> git checkout to configure via a single command.  But I'm not seeing an
> obvious candidate for such a bootstrap script in git.  Wouter?

er, there is an autogen.sh? ;-)

wouter@gangtai:~/code/c/nbd$ cat autogen.sh 
#!/bin/sh
set -ex
make -C man -f Makefile.am nbd-server.1.sh.in nbd-server.5.sh.in nbd-client.8.sh.in nbd-trdump.1.sh.in nbdtab.5.sh.in
make -C systemd -f Makefile.am nbd@.service.sh.in
exec autoreconf -f -i

The manpages need to be built from SGML, which only needs to happen when
they're updated, but they have some templating stuff in them that gets
changed by configure depending on things like --prefix etc.

> > Rather clearer bulld instructions would really help.
> > See https://github.com/rparkins999/sqliteman/tree/master/Sqliteman for an example of how I, at least, think a build instruction should look.
> > Missing files in the git repository are often caused by a failure to do a git commit after creating the file for the first time, or if the files should get built, a failure to include the instructions to build them.
> 
> Missing files in git is intentional - if it can be easily regenerated by
> any developer following the normal developer's steps, then it doesn't
> belong in git (it may belong in the tarball, though, as the tarball
> should cater to a wider audience that is unlikely to have
> autoconf/automake/other tools already installed).

Exactly.

I've just updated the README.md to point that out, too.

-- 
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: