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)