b2 icon indicating copy to clipboard operation
b2 copied to clipboard

Incorect use of libstdc++ on macOS.

Open grafikrobot opened this issue 3 years ago • 0 comments

Slack conversation about the problem.

10:13 AM Peter Dimov

@grafikrobot we're trying to figure out why type_traits CI on old xcode has suddenly started failing because clang has switched to using libstdc++ for some reason: https://drone.cpp.al/boostorg/type_traits/56/30/2 10:13 AM the drone images haven't changed 10:13 AM is it possible that something changed in b2 to cause this? 10:15 AM René Ferdinand Rivera Morell :b2: Unlikely b2. Since the last release was a minor patch. And the dev branch hasn't changed in weeks. 10:18 AM Peter Dimov yeah, nothing seems wrong with the command line 10:18 AM Peter Dimov

"clang++" -x c++ -std=c++11 -fvisibility-inlines-hidden -fPIC -m64 -O0 -fno-inline -Wall -g -fvisibility=hidden --target=x86_64-apple-darwin  -DBOOST_ALL_NO_LIB=1 -DCI_SUPPRESS_KNOWN_ISSUES=1 -I"." -I"libs/type_traits/test/libs/tt2/light/include"  -c -o "bin.v2/libs/type_traits/test/tricky_incomplete_type_test.test/clang-darwin-9/debug/cxxstd-11-iso/threading-multi/visibility-hidden/tricky_incomplete_type_test.o" "libs/type_traits/test/tricky_incomplete_type_test.cpp"

1 reply 22 hours agoView thread 10:19 AM Sam Darwin

@grafikrobot

hasn't changed in weeks. The change in question occurred between 4 and 7 months ago 10:21 AM René Ferdinand Rivera Morell :b2: Well.. That makes it rather hard to track down then. Finding out late and it's a large range. :disappointed: 10:23 AM So.. 4.9.0 was on May15, 4.9.1 May 18, 4.9.2 Jul 4, 4.9.3 3 weeks ago. (edited) 10:44 AM René Ferdinand Rivera Morell :b2:

replied to a thread: "clang++" -x c++ -std=c++11 -fvisibility-inlines-hidden -fPIC -m64 -O0 -fno-inline -Wall -g -fvisibility=hidden --target=x86_64-apple-darwin -DBOOST_ALL_NO_LIB=1 -DCI_SUPPRESS_KNOWN_ISSUES=1 -I"." -I"libs/type_traits/test/libs/tt2/light/include" -c -o "bin.v2/libs/type_traits/test/tricky_incomplete_type_test.test/clang-darwin-9/debug/cxxstd-11-iso/threading-multi/visibility-hidden/tricky_incomplete_type_test.o" "libs/type_traits/test/tricky_incomplete_type_test.cpp" Someone would have to run the tests with an earlier b2, 4.8.2 perhaps, and compare command lines to see if something changed. 11:34 AM Sam Darwin

@grafikrobot between Jun 30 and July 30 (build 4.9.2 ?) this was added to the compilation and it breaks type_traits --target=x86_64-apple-darwin . Earlier examples don't have --target :thinking_face: 1

12:31 PM Peter Dimov this could be relevant: https://reviews.llvm.org/D131274 12:36 PM Peter Dimov looks like -darwin without a number (-darwin10) assumes some low version and defaults to libstdc++ 12:37 PM I couldn't find a list of the -darwin values 12:37 PM but one way to fix that is to make native issue -stdlib=libc++ in clang-darwin.jam 12:38 PM this will be wrong for ancient darwins, but nobody uses them anymore 12:39 PM another option could be to use x86_64-apple-unknown perhaps? to pick up the default from the host

Environment and version details

  • Operating System+version: macOS
  • Compiler+version: Apple Clang
  • Shell: NA
  • B2 Version: 4.9.2
  • B2 Configuration: Unknown

grafikrobot avatar Nov 13 '22 14:11 grafikrobot