Boost logo

Boost :

From: Allen Sanderson (allen_at_[hidden])
Date: 2021-04-08 17:55:31


Hello,

A casual boost user and abuser here. Some specifics on my OS

OS X Big Sur 11.2

Xcode 12.4

Compiler clang : Apple land version 12.0.0

Boost 1.73 - forward

When select_stdlib_config.hpp is included it gets to this initial code to include <version>

...
#if defined(__cplusplus) && defined(__has_include)
# if __has_include(<version>)
// It should be safe to include `<version>` when it is present without checking
// the actual C++ language version as it consists solely of macro definitions.
// [version.syn] p1: The header <version> supplies implementation-dependent
// information about the C++ standard library (e.g., version number and release date).
# include <version>
...

The issue is that many projects (gnuplot, builtbot, and others) have a VERSION file in their top level src directory. On a traditional Linux system the case sensitivity would make sure the right file is included. However, many/most OS X file systems are case insensitive. As such, the project's VERSION file gets included instead. And does not compile.

I have no solution to the issue other than I renamed our project’s VERSION file for the time being. However, I wanted to raise the issue as I noticed it when moving to 1.75 and backtracked out that it was a recent changed starting with boost 1.73

Cheers,
Allen Sanderson
SCI Institute
University of Utah


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk