std::log2 not in c++11 on 10.6 BuiltBot?

Arto Bendiken arto at bendiken.net
Wed Apr 22 13:46:31 PDT 2015


On Wed, Apr 22, 2015 at 10:39 PM, Michael Dickens
<michaelld at macports.org> wrote:
> Yes, the code includes cmathv (indirectly). This code works on the other
> buildbots; just not on the 10.6 one. Is 10.6's GCC 4.9 special somehow?
> Maybe I need to include cmath directly? - MLD
>
> Here's more info from the compiler, just FYI:
> {{{
> FILE.cc:46:54: note: suggested alternative:
> In file included from /usr/include/math.h:28:0,
>                  from /opt/local/include/gcc49/c++/cmath:44,
>                  from /opt/local/include/gcc49/c++/random:38,
>                  from /opt/local/include/gcc49/c++/bits/stl_algo.h:66,
>                  from /opt/local/include/gcc49/c++/algorithm:62,
>                  from
>                  /opt/local/include/boost/smart_ptr/shared_ptr.hpp:37,
>                  from /opt/local/include/boost/shared_ptr.hpp:17,
>                  from /opt/local/include/gnuradio/types.h:27,
>                  from /opt/local/include/gnuradio/runtime_types.h:27,
>                  from /opt/local/include/gnuradio/io_signature.h:27,
>                  from FILE.cc:25:
> /usr/include/architecture/i386/math.h:307:15: note: "log2";
>  extern double log2 ( double );
> }}}

Have a look in your /opt/local/include/gcc49/c++/cmath for "log2". You
should find the implementation:

{{{
  // DR 568.
  constexpr float
  log2(float __x)
  { return __builtin_log2f(__x); }
}}}

And then make 100% sure that the file is getting included in your
source file by doing:

{{{
#include "/opt/local/include/gcc49/c++/cmath"
}}}

...just to rule out the possibility of its non-inclusion. That should
afford you some clarity on the situation.

-- 
Arto Bendiken | @bendiken | http://ar.to


More information about the macports-dev mailing list