From 652ea91b5c10db3c89f674eefd227f0e3e8c7f0b Mon Sep 17 00:00:00 2001 From: NuLL3rr0r Date: Fri, 21 Feb 2014 18:05:35 +0330 Subject: [PATCH] FreeBSD/Clang required headers These are undefined when building cpp-driver on Clang/FreeBSD: AF_INET, in6_addr, AF_INET6. So, these headers are required in order to build cpp-drvier successfully: , The error output: /home/babaei/Desktop/cpp-driver/src/cql/internal/cql_serialization.cpp:636:22: error: use of undeclared identifier 'AF_INET' return inet_ntop(AF_INET, src, dst, cnt); ^ /home/babaei/Desktop/cpp-driver/src/cql/internal/cql_serialization.cpp:657:22: error: use of undeclared identifier 'AF_INET6' return inet_ntop(AF_INET6, src, dst, cnt); ^ /home/babaei/Desktop/cpp-driver/src/cql/internal/cql_serialization.cpp:688:52: error: unknown type name 'in6_addr'; did you mean 'in_addr'? BOOST_MPL_ASSERT_RELATION( boost::mpl::sizeof_::value, ==, 16 ); ^ /usr/local/include/boost/mpl/assert.hpp:368:60: note: expanded from macro 'BOOST_MPL_ASSERT_RELATION' BOOST_MPL_ASSERT_RELATION_IMPL(BOOST_MPL_AUX_PP_COUNTER(), x, rel, y) \ ^ /usr/local/include/boost/mpl/assert.hpp:328:54: note: expanded from macro '\ BOOST_MPL_ASSERT_RELATION_IMPL' enum { BOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) }; \ ^ /usr/include/arpa/inet.h:109:8: note: 'in_addr' declared here struct in_addr { ^ /home/babaei/Desktop/cpp-driver/src/cql/internal/cql_serialization.cpp:688:52: error: unknown type name 'in6_addr'; did you mean 'in_addr'? BOOST_MPL_ASSERT_RELATION( boost::mpl::sizeof_::value, ==, 16 ); ^ /usr/local/include/boost/mpl/assert.hpp:368:60: note: expanded from macro 'BOOST_MPL_ASSERT_RELATION' BOOST_MPL_ASSERT_RELATION_IMPL(BOOST_MPL_AUX_PP_COUNTER(), x, rel, y) \ ^ /usr/local/include/boost/mpl/assert.hpp:337:19: note: expanded from macro '\ BOOST_MPL_ASSERT_RELATION_IMPL' , x \ ^ /usr/local/include/boost/mpl/assert.hpp:59:58: note: expanded from macro '\ BOOST_MPL_AUX_ASSERT_CONSTANT' # define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr } ^ /usr/include/arpa/inet.h:109:8: note: 'in_addr' declared here struct in_addr { ^ /home/babaei/Desktop/cpp-driver/src/cql/internal/cql_serialization.cpp:688:5: error: no matching function for call to 'assertion_failed' BOOST_MPL_ASSERT_RELATION( boost::mpl::sizeof_::value, ==, 16 ); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/boost/mpl/assert.hpp:367:49: note: expanded from macro 'BOOST_MPL_ASSERT_RELATION' # define BOOST_MPL_ASSERT_RELATION(x, rel, y) \ ^ /usr/local/include/boost/mpl/assert.hpp:332:9: note: expanded from macro '\ BOOST_MPL_ASSERT_RELATION_IMPL' ...boost::mpl::assertion_failed( \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/boost/mpl/assert.hpp:59:58: note: expanded from macro '\ BOOST_MPL_AUX_ASSERT_CONSTANT' # define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr } ^ /usr/local/include/boost/mpl/assert.hpp:82:5: note: candidate function [with C = false] not viable: no known conversion from 'boost::mpl::failed ************(boost::mpl::assert_relation::value, 16>::************)' to 'typename assert::type' (aka 'mpl_::assert') for 1st argument int assertion_failed( typename assert::type ); ^ /home/babaei/Desktop/cpp-driver/src/cql/internal/cql_serialization.cpp:711:22: error: use of undeclared identifier 'AF_INET' return inet_pton(AF_INET, src, dst); ^ /home/babaei/Desktop/cpp-driver/src/cql/internal/cql_serialization.cpp:721:22: error: use of undeclared identifier 'AF_INET6' return inet_pton(AF_INET6, src, dst); ^ /home/babaei/Desktop/cpp-driver/src/cql/internal/cql_serialization.cpp:740:37: error: unknown type name 'in6_addr'; did you mean 'in_addr'? const char buffer_size = sizeof(in6_addr); ^~~~~~~~ in_addr /usr/include/arpa/inet.h:109:8: note: 'in_addr' declared here struct in_addr { ^ 8 errors generated. *** Error code 1 Stop. make[2]: stopped in /usr/home/babaei/Desktop/cpp-driver/build *** Error code 1 Stop. make[1]: stopped in /usr/home/babaei/Desktop/cpp-driver/build *** Error code 1 Stop. make: stopped in /usr/home/babaei/Desktop/cpp-driver/build --- src/cql/internal/cql_serialization.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/cql/internal/cql_serialization.cpp b/src/cql/internal/cql_serialization.cpp index 10abdef25..b382de4cf 100644 --- a/src/cql/internal/cql_serialization.cpp +++ b/src/cql/internal/cql_serialization.cpp @@ -27,6 +27,8 @@ #include // For memset and memcpy. #else #include +#include +#include #endif #include