boost libstdc++ issue (was libvisio error)

David Evans devans at macports.org
Mon Sep 7 00:14:34 PDT 2015


On 9/6/15 2:08 PM, su_v wrote:
> The boost configure script prefers g++ unless CXX is explicitly set
> to clang++ or c++.
> Attached are both user.hpp files (for llvm-gcc-4.2++ and for clang++).

I think what we want to test is the same configuration as MacPorts
uses when compiling libvisio.  From the logfile attached to the initial
report this is

CXX='/usr/bin/clang++'
CXXFLAGS='-pipe -Os -arch x86_64 -stdlib=libstdc++'

The g++ version doesn't really seem relevant because MacPorts shouldn't ever
use it.

> 
> Just to be sure, I ran the configure script twice - on the extracted
> source, and after applying MacPorts' patches: the result was the same.
> 

> The one for clang++ does not set BOOST_NO_CXX11_RVALUE_REFERENCES.

Not only that but it DOES define BOOST_HAS_RVALUE_REFS so that's pretty
definite.   Any fix should probably disable this one too.

According to your results for the clang++ case the configuration used
was

> //  Use this file to define a site and compiler specific
> //  configuration policy, this version was auto-generated by
> //  configure on Sun Sep  6 22:42:41 CEST 2015
> //  With the following options:
> //    CXX      = clang++
> //    CXXFLAGS = -I./../.. -I./../../libs/config/test -g -O2 -DBOOST_NO_CONFIG
> //    LDFLAGS  = 
> //    LIBS     = -lm -lpthread 
> //

This seems ambiguous as to which library is being used libc++ or libstdc++.

I wonder if you could run the clang++ test again first with -stdlib=libstdc++ appended to configure's own CXXFLAGS
as MacPorts does in the libvisio case and secondly with -stdlib=libc++ to see if that makes any difference.

Thanks for the help
Dave






More information about the macports-users mailing list