Boost logo

Boost Testing :

Subject: Re: [Boost-testing] Tests failing, missing user.hpp
From: Jim Bell (Jim_at_[hidden])
Date: 2014-02-10 12:44:16

On 2014-02-09 2:17 PM, Steven Watanabe wrote:
> On 02/09/2014 11:43 AM, Jim Bell wrote:
>> <snip>
>> I'm baffled that it failed the same way for both master and develop
>> tags. I wonder if time is the correlation, as though github had a
>> problem. And in that one specific place. These tests passed last time.
>> I put up the stdout/stderr for the runs.
>> Anyone want to do forensics on my directories or anything?
>> Windows-7, git version
> You're using a pre-built bjam? Does it help to rebuild it?
> I had to change bjam to support junctions.

I noticed that. bjam no longer builds under msvc-8 (though perhaps it
would with a later Windows API). I had to rebuild it with msvc-10. And
that's the one I'm using, which I built from the git tree on 1/24/2014.

F:\boost\msvc\develop>bjam -v
Boost.Jam Version 2013.05. OS=NT.
    Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
    Copyright 2001 David Turner.
    Copyright 2001-2004 David Abrahams.
    Copyright 2002-2008 Rene Rivera.
    Copyright 2003-2008 Vladimir Prus.

> In the output, I see:
> mklink-or-dir boost\config
> Junction created for boost\config <<===>> libs\config\include\boost\config
> which looks correct. Can you verify that this
> junction is correct after the tests finish?

Here's the problem: boost_root\boost\config, a junction, appears correct
(and presumably didn't fail on creation), but doesn't show what's on the
other side of the junction. It shows an empty dir instead.

In fact, MOST junctions under boost_root appear to be broken in the same
way. Here's a listing of "dir /S" in boost_root\boost:

I perused ownership and security properties for them but don't see
anything suspicious.

The content of boost_root/libs/config seems ok:

> Does bjam.log indicate that the main tests call
> mklink-or-dir or link.hardlink at all? They
> shouldn't because the links are already set up.

FYI, bjam.log has no references to "mklink-or-dir", and only a single
reference to "link.hardlink" as such:
...updating 2 targets...
common.mkdir F:\boost\msvc\develop\results\boost\bin.v2\test-junction-source

         if not exist
mkdir "F:\boost\msvc\develop\results\boost\bin.v2\test-junction-source"

link.junction F:\boost\msvc\develop\results\boost\bin.v2\test-junction

     if exist "F:\boost\msvc\develop\results\boost\bin.v2\test-junction"
del "F:\boost\msvc\develop\results\boost\bin.v2\test-junction"
     mklink /J

Junction created for
F:\boost\msvc\develop\results\boost\bin.v2\test-junction <<===>>
...updated 2 targets...
     - junctions supported : yes
...found 3 targets...
...updating 3 targets...
common.mkdir F:\boost\msvc\develop\results\boost\bin.v2\symlink

         if not exist
"F:\boost\msvc\develop\results\boost\bin.v2\symlink\\" mkdir

link.touch F:\boost\msvc\develop\results\boost\bin.v2\test-hardlink-source

    echo. >>


     if exist
"F:\boost\msvc\develop\results\boost\bin.v2\symlink\test-hardlink" del
     mklink /H

Hardlink created for
F:\boost\msvc\develop\results\boost\bin.v2\symlink\test-hardlink <<===>>
...updated 3 targets...
     - hardlinks supported : yes
...found 13 targets...

Boost-testing list run by mbergal at