From: Salvatore Domenick Desiano (sal_at_[hidden])
Date: 2007-03-04 15:38:46
I found the problem, and I've fixed it for my install. I am using the
old Perforce rules, but the bug turns out to be in fileunix.c.
ofileunix.c doesn't check to see if the library is in the BSD extended
format. The attached patch works on OSX 10.4, and checks defines to
ensure that it only triggers on BSD systems, but hasn't been tested
If I can be of any assistance in fixing or testing this problem, just
let me know.
Salvatore Domenick Desiano
Carnegie Mellon University
On Sun, 4 Mar 2007, Vladimir Prus wrote:
o On Thursday 01 March 2007 05:02, Salvatore Domenick Desiano wrote:
o > I seem to have run into a bug in timestamp checking on OSX. It's pretty
o > simple to reproduce:
o > Jamfile
o > --------
o > Library libtest : object.c ;
o The 'Library' above makes me thing you're using
o classic jam rules, not Boost.Build. Unfortunately,
o those are completely unsupported.
o > Every time you run jam, the object gets rebuilt and so does the archive.
o > I've stepped through the jam code with gdb, and the problem appears to
o > be in the time stamp check. That is, object.o gets a timestamp of 0
o > (since it gets deleted after being archived) and object.c is always
o > newer. This doesn't happen on SUSE, but I'm not sure what the difference
o > is.
o object.o should have TEMPORARY flag on it to prevent that. I have
o no idea why behaviour on SUSE and OSX is different. But anyway,
o unless you're using Boost.Build rules ("lib"), there's nothing we can do.
o - Volodya
o Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk