Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
None
-
None
-
OS: FreeBSD 8.0-RELEASE-p2, amd64
Compiler: gcc (GCC) 4.2.1 20070719
-
Patch Available
Description
Thrift from SVN trunk as of r1085268 fails to compile on FreeBSD-8.0:
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I./src -Wall -g -O2 -MT TSSLSocket.lo -MD -MP -MF .deps/TSSLSocket.Tpo -c src/transport/TSSLSocket.cpp -fPIC -DPIC -o .libs/TSSLSocket.o
src/transport/TSSLSocket.cpp: In member function 'virtual void apache::thrift::transport::TSSLSocket::authorize()':
src/transport/TSSLSocket.cpp:249: warning: type-punning to incomplete type might break strict-aliasing rules
src/transport/TSSLSocket.cpp:249: error: 'getpeername' was not declared in this scope
src/transport/TSSLSocket.cpp:250: error: 'AF_UNSPEC' was not declared in this scope
src/transport/TSSLSocket.cpp: In member function 'virtual apache::thrift::transport::Decision apache::thrift::transport::DefaultClientAccessManager::verify(const sockaddr_storage&, const char*, int)':
src/transport/TSSLSocket.cpp:594: error: 'AF_INET' was not declared in this scope
src/transport/TSSLSocket.cpp:596: error: 'AF_INET6' was not declared in this scope
gmake[4]: *** [TSSLSocket.lo] Error 1
As per FreeBSD's getpeername(2) manual page, the following header files
have to be included:
#include <sys/types.h>
#include <sys/socket.h>
See the following URL for online reference of the getpeername(2) manual page:
http://www.freebsd.org/cgi/man.cgi?query=getpeername&apropos=0&sektion=0&manpath=FreeBSD+8.0-RELEASE&format=html