Opened 5 years ago

Last modified 4 years ago

#59584 closed defect

macports-clang versions <= 3.7 don't understand -stdlib=macports-libstdc++ — at Version 2

Reported by: kencu (Ken) Owned by:
Priority: Normal Milestone:
Component: base Version: 2.6.2
Keywords: Cc:
Port:

Description (last modified by kencu (Ken))

currently base will try to pass -stdlib=macports-libstdc++ to clang 3.4 or 3.7 under certain circumstances of blacklisting and whitelisting when the compiler c or c++ standards are set to >= 2011.

in portconfigure:get_min_clang the logic to select a proper clang doesn't take into account the fact that macports-clang versions <= 3.7 won't be able to understand -stdlib=macports-libstdc++.

macports-clang versions <= 3.7 can only be used for compiler.cxx_standard >= 2011 or compiler.c_standard >= 2011 if configure.cxx_stdlib=libc++.

Change History (2)

comment:1 Changed 5 years ago by kencu (Ken)

This shows up, for example, when trying to build icu on Intel versions of Tiger or Leopard configured to libstdc++. Base selects clang-3.4 as a compiler, and then tries to pass it -stdlib=macports-libstdc++ to satisfy the compiler.cxx_standard 2011 directive, and that fails.

comment:2 Changed 5 years ago by kencu (Ken)

Description: modified (diff)
Summary: macports-clang versions < 5.0 don't understand -stdlib=macports-libstdc++macports-clang versions <= 3.7 don't understand -stdlib=macports-libstdc++
Note: See TracTickets for help on using tickets.