automake
[Top][All Lists]
Advanced

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

Re: Newbie: make dist succeeds, make distcheck fails to copy e.g. '../co


From: Nick Bowler
Subject: Re: Newbie: make dist succeeds, make distcheck fails to copy e.g. '../config/compile'
Date: Fri, 17 Apr 2015 11:02:45 -0400
User-agent: Mutt/1.5.23 (2014-03-12)

On 2015-04-17 00:13 +0200, Roelof Berg wrote:
[...]
> 'make dist' runs very well and its output can be built on a clean 
> system, all tests pass, the tarball seems to be perfectly ok. 'make 
> distcheck', however, complains about missing files:
>
> prompt$ make distcheck
> [...]
>    dist-hook
> make[3]: Entering directory 
> '/home/roelof/devel/limereg/limereg-1.3.1/_build'
> for file in ../config/compile ../config/config.guess 
> ../config/config.sub ../config/depcomp ../config/install-sh 
> ../config/ltmain.sh ../config/missing; do \
>    cp $file limereg-1.3.1/$file; \
> done
[snip errors]
> Makefile:925: recipe for target 'dist-hook' failed
> [...]
> 
> A folder named config would be found if there was no '..' in the path, I 
> wonder where the '..' comes from. And to be honest, I have no idea what 
> is the purpose of this dist-hook build step at all. Automake together 
> with libtool is so huge for a newbie ...

A dist-hook is a Makefile rule, written by you.  There is probably
something in your Makefile.am like:

  dist-hook:
        ... your commands ...

It is likely that your dist-hook rule does not properly support VPATH
builds, when the source and output directories are different.  When you
run "make distcheck", one of the things it tests about your package is
that "make dist" works in this configuration.  It has detected and
reported an error in your package.

Usually these sort of errors are the result of mixing up $(srcdir) and
$(builddir) in the make rules.

To do your own VPATH builds, outside of "make distcheck", first do a
"make distclean" to delete all the build products, then cd into an empty
directory and run configure from there, e.g.,:

  % make distclean
  % mkdir build
  % cd build
  % ../configure
  % make dist

Cheers,
-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]