Subject: | Compilation failure with clang (freebsd 10.1) |
Google-ProtocolBuffers-Dynamic-0.03 does not compile on freebsd 10.1 systems with its standard compiler clang 3.3. The failures are related to the use of the std::tr1 namespace:
...
cc -I/usr/perl5.23.8p/lib/5.23.8/amd64-freebsd/CORE -DPIC -fPIC -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_FORTIFY_SOURCE=2 -xc++ -I/home/cpansand/.cpan/build/2016032012/Alien-uPB-0.04-2OVNSm/blib/lib/auto/share/dist/Alien-uPB/include -I/usr/local/include -D_THREAD_SAFE -pthread -DPERL_NO_GET_CONTEXT -Isrc -Ibuildtmp -c -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_FORTIFY_SOURCE=2 -O2 -pipe -o src/dynamic.o src/dynamic.cpp
In file included from src/dynamic.cpp:1:
In file included from src/dynamic.h:10:
src/sourcetree.h:32:10: error: no member named 'tr1' in namespace 'std'
std::tr1::unordered_map<std::string, std::string> sources;
~~~~~^
src/sourcetree.h:32:28: error: expected member name or ';' after declaration specifiers
std::tr1::unordered_map<std::string, std::string> sources;
~~~~~~~~~~~~~~~~~~~~~~~^
...