Bjørn Roald wrote:
I you do not mind, could you try in a clone for used testing only, or at least not where you have work you have not committed:
rm boost/filesystem.h
b2 headers
cd libs/filesystem
git reset --hard HEAD
then edit
boost/filesystem.h or libs/filesystem/include/boost/filesystem.h
Then compare them, if they are the same, then I am very interested in understanding why.
The files are different after I edit one of the two hard links. When I edit in boost/ - which I never do - when I run the tests, b2 then sees the file as modified, but does not update the link in boost/ (the link being newer than the source in include/.) When I edit in include/ - which is what I do - b2 sees the file as modified and updates the link in boost/ to point to it. Moral of the story: don't edit the files in boost/. The exceptions are the headers which b2 can't see as dependencies - those included via a macro. They never get their links updated unless one runs "b2 headers". We've fixed some of them, but not all.