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)
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.
This shows up, for example, when trying to build
icu
on Intel versions ofTiger
orLeopard
configured tolibstdc++
. Base selectsclang-3.4
as a compiler, and then tries to pass it-stdlib=macports-libstdc++
to satisfy thecompiler.cxx_standard 2011
directive, and that fails.