Opened 4 years ago

Last modified 4 years ago

#13557 new Bugs

Boost 1.67.0 chrono library Windows build installs NTFS junction

Reported by: george@… Owned by: viboes
Milestone: Boost 1.69 Component: chrono
Version: Boost 1.67.0 Severity: Problem
Keywords: windows install Cc:

Description

While testing our internal build of Boost with the latest version, I noticed the following problem when building on Windows using MSVC 2015:

During the build the following statements are logged:

mklink-or-dir boost\chrono\stopwatches
  
      mklink /J "boost\chrono\stopwatches" "libs\chrono\stopwatches\include\boost\chrono\stopwatches"

  Junction created for boost\chrono\stopwatches <<===>> libs\chrono\stopwatches\include\boost\chrono\stopwatches

This command creates an NTFS junction, which is something new compared to any previous version of Boost I've used (which goes back to 1.50.0).

My problem is that we're building Boost using our own CMake scripts and the CMake "install" command cannot handle NTFS junctions, it simply fails during our custom follow-up step that packages the built binaries and headers.

I haven't seen NTFS junctions seen used before, so I wonder if this procedure was intentional or not. Is there an option to have the bjam install phase make a copy of those files instead of creating the junction?

Change History (2)

comment:1 by anonymous, 4 years ago

I'm experiencing the same issue while attempting to build Boost 1.67.0 in MSYS2/MinGW. I'm using an installation that came with an earlier version of Boost (1.66.0), which was provided here.

This is how I'm calling b2, for reference:

./b2 -j4 variant=release link=static runtime-link=static threading=multi \
--stagedir=$X_WORKDIR_ROOT/dest stage address-model=64 -sNO_BZIP2 \
-sBZIP2_BINARY=bz2 -sBZIP2_INCLUDE=$X_DISTRO_INC -sBZIP2_LIBPATH=$X_DISTRO_LIB \
-sNO_ZLIB -sZLIB_BINARY=z -sZLIB_INCLUDE=$X_DISTRO_INC -sZLIB_LIBPATH=$X_DISTRO_LIB

I'm simply calling the bootstrap script via ./bootstrap.sh.

comment:2 by viboes, 4 years ago

Milestone: To Be DeterminedBoost 1.69

Stopwatches have been removed from develop.

You should not see this issue anymore.

Note: See TracTickets for help on using tickets.