On Mon, Jul 17, 2006 at 10:05:05PM +0200, Adrian Knoth wrote:

Hi,


> The source is shared via svn, so it's for sure all are using the
> same code.

>  2. If compiling inside my directory layout, the build 
> 
>     a) changes the following two files in trunk/src/
> 
> adi@ten:~/trunk/src$ svn st
> M      opal/util/show_help_lex.c
> M      opal/util/keyval/keyval_lex.c
> 
>     b) fails to complete (see attachment), the errors are all
>        related to lex.

We've solved this bug and it is not OMPI-related.

The long story:

Whenever an .l-file is newer than its corresponding .c-file, it
is generated by a rule from our toplevel Makefile.

svn changes the c/m-time, so flex is called, and probably due to
disabled autoconf-tools, this call is done with wrong parameters.

The question why this behaviour was only seen on some of my
hosts is even weirder: The svn checkout generates timestamps.
If you checkout to an ext2/ext3-filesystem, everything works,
but the failing hosts all use xfs.

We believe that xfs has a higher resolution for timestamps,
so the age of corresponding .l- and .c-files differ for
some value of a very small delta, thus forcing to rerun
flex and breaking the code.

Our fix is quite simple: we touch the .c-files whenever there
are .c-files belonging to existing .l-files. Obviously, the
c-files are now "newer" and regeneration is prevented.


Sorry for inconvenience.

-- 
mail: a...@thur.de      http://adi.thur.de      PGP: v2-key via keyserver

Idiot. Versager. Was für Luschen laufen heutzutage eigentlich im Usenet 
herum?                  (Felix von Leitner in de.alt.sysadmin.recovery)

Reply via email to