[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?
Thanks,
Kevin Zheng
More information about the crossfire
mailing list