Hi. Crossfire 1.71.0 server is unbuildable without the arch directory. Here's what happens in lib/ directory (from make -d's output):
Considering target file `smooth'. Considering target file `.collect-stamp'. File `.collect-stamp' does not exist. Finished prerequisites of target file `.collect-stamp'. Must remake target `.collect-stamp'. touch .collect-stamp Putting child 0x01251550 (.collect-stamp) PID 15874 on the chain. Live child 0x01251550 (.collect-stamp) PID 15874 Reaping winning child 0x01251550 PID 15874 Removing child 0x01251550 PID 15874 from chain. Successfully remade target file `.collect-stamp'. Finished prerequisites of target file `smooth'. Prerequisite `.collect-stamp' is newer than target `smooth'. Must remake target `smooth'. touch .collect-stamp Putting child 0x012744c0 (smooth) PID 15875 on the chain. Live child 0x012744c0 (smooth) PID 15875 Reaping winning child 0x012744c0 PID 15875 make collect ... Considering target file `collect'. File `collect' does not exist. Finished prerequisites of target file `collect'. Must remake target `collect'. make[1]: Entering directory `/home/kaol/deb/crossfire/crossfire-1.71.0/lib' /usr/bin/perl -I. collect.pl ./arch Putting child 0x013c6600 (collect) PID 15877 on the chain. Live child 0x013c6600 (collect) PID 15877 collect.pl: looking ... couldn't open ./arch at collect.pl line 500. Reaping losing child 0x013c6600 PID 15877 make[1]: *** [collect] Error 2 Here's the relevant rules from lib/Makefile.am: .collect-stamp: touch .collect-stamp collect: $(PERL) -I$(srcdir) collect.pl $(builddir)/arch $(PERL) $(srcdir)/adm/collect_images.pl -src $(srcdir) -png archetypes faces animations bmaps.paths smooth: .collect-stamp touch .collect-stamp $(MAKE) collect install-data-local: archetypes crossfire.0 faces animations smooth collect.pl util.pl 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. 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. 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. _______________________________________________ crossfire mailing list crossfire@metalforge.org http://mailman.metalforge.org/mailman/listinfo/crossfire