[crossfire] Building crossfire 1.71.0 server fails without arches

Kevin Zheng kevinz5000 at gmail.com
Sun Apr 13 10:36:22 CDT 2014

Hi Kari,

On 04/13/2014 05:14, Kari Pahula wrote:
> Crossfire 1.71.0 server is unbuildable without the arch directory.
> Here's what happens in lib/ directory (from make -d's output):
> In short, install-data-local requires smooth, which requires
> .collect-stamp, which gets created with touch.  Then smooth's rule
> decides that smooth needs to be regenerated since .collect-stamp is
> fresher than smooth, making the build fail since there's no arch
> directory.

Thanks for going through all the trouble to figure out what's wrong. It
is indeed a missing dependency-tracking file ('lib/.collect-stamp') in
the distfile. I must have missed it when creating the tarballs.

> This would work if there was a lib/.collect-stamp with a correct
> timestamp included with the server package, but there isn't.  I could
> suggest that it wouldn't be a dot file since it wouldn't get waylaid
> so easily then.  But this part would, IMHO, work even better without
> using a stamp file at all.  The collect.pl script generates a fairly
> limited set of files and you had listed them already in the
> Makefile.am file itself.  I'm not sure how make -jn friendly the
> current code is, either.

The current archetype collection process is hackish and fails when
running with multiple build jobs. I was thinking that the collection
process should be moved out of the server build process altogether.

> I ran into this while packaging 1.71.0 for Debian.  I worked around it
> by calling touch -t 197001010101 lib/.collect-stamp before building
> the server.

This workaround also works for packaging on FreeBSD. Do you think I
should roll a new tarball with '.collect-stamp' included?

Kevin Zheng

More information about the crossfire mailing list