Comment 1 for bug 27630

Revision history for this message
In , Santiago Vila Doncel (sanvila-unex) wrote :

severity 261932 serious
tags 261932 + patch
thanks

On Thu, 29 Jul 2004, James Troup wrote:

> Package: libcompface
> Version: 1989.11.11-24
> Severity: wishlist
> Tag: patch
>
> We ran into problems compiling libcompface on very fast machines, e.g.
> libcompface.so.1.0.0 wouldn't be built because make(1) thought
> 'shared' was up-to-date[1]. Simply renaming the build directories to
> not match the Makefile target names was sufficient to work around the
> problem. I'm not sure this is the 100% right fix, as my make-fu is
> rusty, but it Works For Me(tm).
>
> http://aint.got.no-name-yet.com/patches/libcompface-too_fast_for_make.diff
>
>
> --
> James
>
> [1] AFAICT make(1) couldn't tell the (miniscule) difference in time
> between the creation of 'shared' and compilation of the $(OBJECTS).

I've also ran into problems compiling this package. In fact, this package
seems to build sometimes, and sometimes not.

I think this is unacceptable. Packages should build 100% of the time,
not just "with a great probability", and not just "on slow enough machines".

The patch proposed by James should fix this bug.

Or, if you prefer, declaring "shared" and "static" as phony targets
should work too, as in this patch:

diff -ru libcompface-1989.11.11.orig/Makefile libcompface-1989.11.11/Makefile
--- libcompface-1989.11.11.orig/Makefile 2005-12-26 21:10:09.000000000 +0100
+++ libcompface-1989.11.11/Makefile 2005-12-26 21:10:32.154768000 +0100
@@ -94,3 +94,5 @@
 gen.o: gen.c compface.h data.h
 uncmain.o: uncmain.c compface.h data.h
 uncompface.o: uncompface.c compface.h data.h
+
+.PHONY: shared static

While we are at it, this bug was really discovered by Junichi Uekawa
back in 2002 in Bug #147607, but unfortunately, the report didn't
accurately reflect the exact nature of it, and the "real" bug
(i.e. make being confused by timestamps, as explained by James)
was still left unfixed in release 1989.11.11-24.

I'm Cc:ing all the interested parties for their information.

Thanks.