Thrift
  1. Thrift
  2. THRIFT-1116

Compilation error in file TSSLSocket.cpp on FreeBSD-8.0

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: C++ - Library
    • Environment:

      OS: FreeBSD 8.0-RELEASE-p2, amd64
      Compiler: gcc (GCC) 4.2.1 20070719

    • Patch Info:
      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

      1. thrift_freebsd_socket.patch
        1 kB
        Pavlin Radoslavov
      2. thrift_freebsd_getpeername.patch
        0.4 kB
        Pavlin Radoslavov

        Activity

        Hide
        Pavlin Radoslavov added a comment -

        A simple patch for file TSSLSocket.cpp to include the missing header files.

        Show
        Pavlin Radoslavov added a comment - A simple patch for file TSSLSocket.cpp to include the missing header files.
        Hide
        Roger Meier added a comment -

        Thanks Pavlin, committed!

        Show
        Roger Meier added a comment - Thanks Pavlin, committed!
        Hide
        Hudson added a comment -

        Integrated in Thrift #104 (See https://hudson.apache.org/hudson/job/Thrift/104/)

        Show
        Hudson added a comment - Integrated in Thrift #104 (See https://hudson.apache.org/hudson/job/Thrift/104/ )
        Hide
        Pavlin Radoslavov added a comment - - edited

        I am reopening the issue, because other similar compilation errors have popped-up in SVN trunk as of r1362364 (last changed revision r1361615). The environment (OS and compiler) are same as in the original report, but the compilation errors are in different files:
        lib/c_glib/src/thrift/transport/thrift_socket.c
        AND
        lib/c_glib/src/thrift/transport/thrift_framed_transport.c
        AND
        lib/c_glib/src/thrift/transport/thrift_framed_transport.c

        The compilation error for the first file is as follows. The compilation error for the other files is similar:

        src/thrift/transport/thrift_socket.c: In function 'thrift_socket_open':
        src/thrift/transport/thrift_socket.c:56: error: storage size of 'pin' isn't known
        src/thrift/transport/thrift_socket.c:74: error: 'AF_INET' undeclared (first use in this function)
        src/thrift/transport/thrift_socket.c:74: error: (Each undeclared identifier is reported only once
        src/thrift/transport/thrift_socket.c:74: error: for each function it appears in.)
        src/thrift/transport/thrift_socket.c:75: error: dereferencing pointer to incomplete type
        cc1: warnings being treated as errors
        src/thrift/transport/thrift_socket.c:76: warning: implicit declaration of function 'htons'
        src/thrift/transport/thrift_socket.c:79: warning: implicit declaration of function 'socket'
        src/thrift/transport/thrift_socket.c:79: error: 'SOCK_STREAM' undeclared (first use in this function)
        src/thrift/transport/thrift_socket.c:89: warning: implicit declaration of function 'connect'
        src/thrift/transport/thrift_socket.c:56: warning: unused variable 'pin'
        src/thrift/transport/thrift_socket.c: In function 'thrift_socket_read':
        src/thrift/transport/thrift_socket.c:130: warning: implicit declaration of function 'recv'
        src/thrift/transport/thrift_socket.c: In function 'thrift_socket_write':
        src/thrift/transport/thrift_socket.c:168: warning: implicit declaration of function 'send'
        gmake[4]: *** [libthrift_c_glib_la-thrift_socket.lo] Error 1

        The fix is trivial (a patch will be provided).

        Show
        Pavlin Radoslavov added a comment - - edited I am reopening the issue, because other similar compilation errors have popped-up in SVN trunk as of r1362364 (last changed revision r1361615). The environment (OS and compiler) are same as in the original report, but the compilation errors are in different files: lib/c_glib/src/thrift/transport/thrift_socket.c AND lib/c_glib/src/thrift/transport/thrift_framed_transport.c AND lib/c_glib/src/thrift/transport/thrift_framed_transport.c The compilation error for the first file is as follows. The compilation error for the other files is similar: src/thrift/transport/thrift_socket.c: In function 'thrift_socket_open': src/thrift/transport/thrift_socket.c:56: error: storage size of 'pin' isn't known src/thrift/transport/thrift_socket.c:74: error: 'AF_INET' undeclared (first use in this function) src/thrift/transport/thrift_socket.c:74: error: (Each undeclared identifier is reported only once src/thrift/transport/thrift_socket.c:74: error: for each function it appears in.) src/thrift/transport/thrift_socket.c:75: error: dereferencing pointer to incomplete type cc1: warnings being treated as errors src/thrift/transport/thrift_socket.c:76: warning: implicit declaration of function 'htons' src/thrift/transport/thrift_socket.c:79: warning: implicit declaration of function 'socket' src/thrift/transport/thrift_socket.c:79: error: 'SOCK_STREAM' undeclared (first use in this function) src/thrift/transport/thrift_socket.c:89: warning: implicit declaration of function 'connect' src/thrift/transport/thrift_socket.c:56: warning: unused variable 'pin' src/thrift/transport/thrift_socket.c: In function 'thrift_socket_read': src/thrift/transport/thrift_socket.c:130: warning: implicit declaration of function 'recv' src/thrift/transport/thrift_socket.c: In function 'thrift_socket_write': src/thrift/transport/thrift_socket.c:168: warning: implicit declaration of function 'send' gmake [4] : *** [libthrift_c_glib_la-thrift_socket.lo] Error 1 The fix is trivial (a patch will be provided).
        Hide
        Pavlin Radoslavov added a comment - - edited

        Attachment thrift_freebsd_socket.patch is a simple patch to fix the compilation issues with the files in the lib/c_glib/src/thrift/ directory.

        Show
        Pavlin Radoslavov added a comment - - edited Attachment thrift_freebsd_socket.patch is a simple patch to fix the compilation issues with the files in the lib/c_glib/src/thrift/ directory.
        Hide
        Roger Meier added a comment -

        committed

        Show
        Roger Meier added a comment - committed
        Hide
        Hudson added a comment -

        Integrated in Thrift #511 (See https://builds.apache.org/job/Thrift/511/)
        THRIFT-1116 Compilation error in file TSSLSocket.cpp on FreeBSD-8.0
        Patch: Pavlin Radoslavov (Revision 1362896)

        Result = SUCCESS
        roger : http://svn.apache.org/viewvc/?view=rev&rev=1362896
        Files :

        • /thrift/trunk/lib/c_glib/src/thrift/transport/thrift_framed_transport.c
        • /thrift/trunk/lib/c_glib/src/thrift/transport/thrift_server_socket.c
        • /thrift/trunk/lib/c_glib/src/thrift/transport/thrift_socket.c
        Show
        Hudson added a comment - Integrated in Thrift #511 (See https://builds.apache.org/job/Thrift/511/ ) THRIFT-1116 Compilation error in file TSSLSocket.cpp on FreeBSD-8.0 Patch: Pavlin Radoslavov (Revision 1362896) Result = SUCCESS roger : http://svn.apache.org/viewvc/?view=rev&rev=1362896 Files : /thrift/trunk/lib/c_glib/src/thrift/transport/thrift_framed_transport.c /thrift/trunk/lib/c_glib/src/thrift/transport/thrift_server_socket.c /thrift/trunk/lib/c_glib/src/thrift/transport/thrift_socket.c

          People

          • Assignee:
            Pavlin Radoslavov
            Reporter:
            Pavlin Radoslavov
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - 10m
              10m
              Remaining:
              Remaining Estimate - 10m
              10m
              Logged:
              Time Spent - Not Specified
              Not Specified

                Development