You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Thomas Tauber-Marshall (JIRA)" <ji...@apache.org> on 2018/07/17 18:16:00 UTC

[jira] [Resolved] (KUDU-2492) Kudu no longer builds on older Linux versions

     [ https://issues.apache.org/jira/browse/KUDU-2492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas Tauber-Marshall resolved KUDU-2492.
------------------------------------------
       Resolution: Fixed
    Fix Version/s: 1.8.0

commit af8bb879c0a2dd7cd228fad055cd20e14f783842
Author: Thomas Tauber-Marshall <tm...@cloudera.com>
Date:   Thu Jul 5 11:45:00 2018 -0700

    KUDU-2492: Make the use of SO_REUSEPORT conditional on it being defined
    
    A recent commit to Kudu, "rpc: add experimental rpc_reuseport flag",
    added the use of the rpc flag SO_REUSEREPORT. This flag is not
    available with older versions of Linux, resulting in a compiler error.
    
    This patch avoids the compiler error with a macro that checks if
    SO_REUSEPORT is defined, and if it's not attempting to set it will
    return an error.
    
    Change-Id: I673fa09619955de162e2e2742480672b1e5c4d1d
    Reviewed-on: http://gerrit.cloudera.org:8080/10875
    Reviewed-by: Dan Burkert <da...@apache.org>
    Tested-by: Kudu Jenkins

> Kudu no longer builds on older Linux versions
> ---------------------------------------------
>
>                 Key: KUDU-2492
>                 URL: https://issues.apache.org/jira/browse/KUDU-2492
>             Project: Kudu
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 1.8.0
>            Reporter: Thomas Tauber-Marshall
>            Priority: Major
>             Fix For: 1.8.0
>
>
> A recent commit to Kudu, "rpc: add experimental rpc_reuseport flag", added the use of the rpc flag SO_REUSEREPORT
> This flag is not available with older versions of Linux, resulting in the compiler error:
> {noformat}
> In file included from kudu/src/kudu/util/net/socket.h:24:0,
>                  from kudu/src/kudu/util/net/socket.cc:18:
> kudu/src/kudu/util/net/socket.cc: In member function ‘kudu::Status kudu::Socket::SetReusePort(bool)’:
> kudu/src/kudu/util/net/socket.cc:249:48: error: ‘SO_REUSEPORT’ was not declared in this scope
>    RETURN_NOT_OK_PREPEND(SetSockOpt(SOL_SOCKET, SO_REUSEPORT, int_flag),
>                                                 ^
> kudu/src/kudu/util/status.h:43:33: note: in definition of macro ‘KUDU_RETURN_NOT_OK_PREPEND’
>      const ::kudu::Status& _s = (s);                              \                                                                                                                                                                                                                      
>                                  ^
> kudu/src/kudu/util/net/socket.cc:249:3: note: in expansion of macro ‘RETURN_NOT_OK_PREPEND’
>    RETURN_NOT_OK_PREPEND(SetSockOpt(SOL_SOCKET, SO_REUSEPORT, int_flag),
>    ^
> [ 36%] Building CXX object src/kudu/util/CMakeFiles/kudu_util_exported.dir/mutex.cc.o
> make[2]: *** [src/kudu/util/CMakeFiles/kudu_util.dir/net/socket.cc.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> {noformat}
> This is in particular a problem for Impala's toolchain, which attempts and now fails to build Kudu on centos 6.4, ubuntu 12.04, and debian 7.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)