Skip to content

Commit

Permalink
Suppress focal-specific warnings (#159)
Browse files Browse the repository at this point in the history
* Suppress focal-specific warnings

Signed-off-by: Michael Carroll <[email protected]>

* Warn when lsb_release isn't present

Signed-off-by: Michael Carroll <[email protected]>

* Adding header guard.

Signed-off-by: Carlos Agüero <[email protected]>

* Include correct header file for version check

Signed-off-by: Michael Carroll <[email protected]>

* Added more debug output

Signed-off-by: Nate Koenig <[email protected]>

* Fix focal test and codecheck

Signed-off-by: Nate Koenig <[email protected]>

* Change endtime expectation

Signed-off-by: Carlos Agüero <[email protected]>

Co-authored-by: Carlos Agüero <[email protected]>
Co-authored-by: Nate Koenig <[email protected]>
  • Loading branch information
3 people authored Aug 28, 2020
1 parent a8308c7 commit e3f8002
Showing 6 changed files with 40 additions and 14 deletions.
14 changes: 14 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -46,6 +46,20 @@ ign_find_package(IgnProtobuf
# Find ZeroMQ
ign_find_package(ZeroMQ VERSION 4 REQUIRED PRIVATE)

if (UNIX AND NOT APPLE)
execute_process(COMMAND lsb_release -cs
OUTPUT_VARIABLE RELEASE_CODENAME
RESULT_VARIABLE LSB_RESULT
OUTPUT_STRIP_TRAILING_WHITESPACE
)

if( NOT (${LSB_RESULT} STREQUAL "0"))
message(WARNING "lsb_release executable not found. Disabling focal-specific workarounds")
elseif (${RELEASE_CODENAME} STREQUAL "focal")
set(UBUNTU_FOCAL 1)
endif()
endif()

#--------------------------------------
# Find cppzmq
ign_find_package(CPPZMQ REQUIRED PRIVATE
13 changes: 9 additions & 4 deletions include/ignition/transport/Helpers.hh
Original file line number Diff line number Diff line change
@@ -18,7 +18,7 @@
#ifndef IGN_TRANSPORT_HELPERS_HH_
#define IGN_TRANSPORT_HELPERS_HH_

#include <zmq.h>
#include <zmq.hpp>

#include <cstdint>
#include <cstdio>
@@ -30,14 +30,19 @@
#include "ignition/transport/config.hh"
#include "ignition/transport/Export.hh"

#define STR_HELPER(x) #x
#define STR(x) STR_HELPER(x)

// Avoid using deprecated message send/receive function when possible.
#if ZMQ_VERSION >= ZMQ_MAKE_VERSION(4, 3, 1)
#define IGN_ZMQ_POST_4_3_1
#endif

// Avoid using deprecated set function when possible
#if CPPZMQ_VERSION >= ZMQ_MAKE_VERSION(4, 7, 0)
// Ubuntu Focal (20.04) packages a different "4.7.0"
#ifndef UBUNTU_FOCAL
#define IGN_CPPZMQ_POST_4_7_0
#endif
#endif

namespace ignition
{
namespace transport
6 changes: 6 additions & 0 deletions include/ignition/transport/config.hh.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
/* Config.hh. Generated by CMake for @PROJECT_NAME@. */

#ifndef IGNITION_${IGN_DESIGNATION_UPPER}_CONFIG_HH_
#define IGNITION_${IGN_DESIGNATION_UPPER}_CONFIG_HH_

/* Version number */
#define IGNITION_TRANSPORT_MAJOR_VERSION ${PROJECT_VERSION_MAJOR}
#define IGNITION_TRANSPORT_MINOR_VERSION ${PROJECT_VERSION_MINOR}
@@ -17,3 +20,6 @@
#cmakedefine BUILD_TYPE_RELEASE 1

#cmakedefine HAVE_IFADDRS 1
#cmakedefine UBUNTU_FOCAL 1

#endif
3 changes: 2 additions & 1 deletion log/src/Log_TEST.cc
Original file line number Diff line number Diff line change
@@ -255,7 +255,8 @@ TEST(Log, OpenCorruptDatabase)
testing::portablePathUnion(IGN_TRANSPORT_LOG_TEST_PATH, "data");
path = testing::portablePathUnion(path, "state.tlog");
logFile.Open(path);
EXPECT_EQ(4806000000ns, logFile.EndTime());
EXPECT_GT(logFile.EndTime(), 0ns) << "logFile.EndTime() == "
<< logFile.EndTime().count() << "ns";;
}


2 changes: 1 addition & 1 deletion src/Node.cc
Original file line number Diff line number Diff line change
@@ -619,7 +619,7 @@ bool Node::Unsubscribe(const std::string &_topic)
if (!this->dataPtr->shared->localSubscribers
.HasSubscriber(fullyQualifiedTopic))
{
#if (CPPZMQ_VERSION >= 40700)
#ifdef IGN_CPPZMQ_POST_4_7_0
this->dataPtr->shared->dataPtr->subscriber->set(
zmq::sockopt::unsubscribe, fullyQualifiedTopic);
#else
16 changes: 8 additions & 8 deletions src/NodeShared.cc
Original file line number Diff line number Diff line change
@@ -1068,7 +1068,7 @@ void NodeShared::OnNewConnection(const MessagePublisher &_pub)
this->dataPtr->subscriber->connect(addr.c_str());

// Add a new filter for the topic.
#if (CPPZMQ_VERSION >= 40700)
#ifdef IGN_CPPZMQ_POST_4_7_0
this->dataPtr->subscriber->set(zmq::sockopt::subscribe, topic);
#else
this->dataPtr->subscriber->setsockopt(ZMQ_SUBSCRIBE,
@@ -1263,7 +1263,7 @@ bool NodeShared::InitializeSockets()


int lingerVal = 0;
#if (CPPZMQ_VERSION >= 40700)
#ifdef IGN_CPPZMQ_POST_4_7_0
this->dataPtr->publisher->set(zmq::sockopt::linger, lingerVal);
#else
this->dataPtr->publisher->setsockopt(ZMQ_LINGER,
@@ -1301,7 +1301,7 @@ bool NodeShared::InitializeSockets()
<< std::endl;
}
}
#if (CPPZMQ_VERSION >= 40700)
#ifdef IGN_CPPZMQ_POST_4_7_0
this->dataPtr->subscriber->set(zmq::sockopt::rcvhwm, rcvQueueVal);
#else
this->dataPtr->subscriber->setsockopt(ZMQ_RCVHWM,
@@ -1339,7 +1339,7 @@ bool NodeShared::InitializeSockets()
<< std::endl;
}
}
#if (CPPZMQ_VERSION >= 40700)
#ifdef IGN_CPPZMQ_POST_4_7_0
this->dataPtr->publisher->set(zmq::sockopt::sndhwm, sndQueueVal);

this->dataPtr->publisher->bind(anyTcpEp.c_str());
@@ -1439,7 +1439,7 @@ int NodeShared::RcvHwm()
int rcvHwm;
try
{
#if (CPPZMQ_VERSION >= 40700)
#ifdef IGN_CPPZMQ_POST_4_7_0
rcvHwm = this->dataPtr->subscriber->get(zmq::sockopt::rcvhwm);
#else
size_t rcvHwmSize = sizeof(rcvHwm);
@@ -1460,7 +1460,7 @@ int NodeShared::SndHwm()
int sndHwm;
try
{
#if (CPPZMQ_VERSION >= 40700)
#ifdef IGN_CPPZMQ_POST_4_7_0
sndHwm = this->dataPtr->publisher->get(zmq::sockopt::sndhwm);
#else
size_t sndHwmSize = sizeof(sndHwm);
@@ -1561,7 +1561,7 @@ void NodeSharedPrivate::SecurityOnNewConnection()
// See issue #74
if (userPass(user, pass))
{
#if (CPPZMQ_VERSION >= 40700)
#ifdef IGN_CPPZMQ_POST_4_7_0
this->subscriber->set(zmq::sockopt::plain_username, user);
this->subscriber->set(zmq::sockopt::plain_password, pass);
#else
@@ -1586,7 +1586,7 @@ void NodeSharedPrivate::SecurityInit()
int asPlainSecurityServer = static_cast<int>(
ZmqPlainSecurityServerOptions::ZMQ_PLAIN_SECURITY_SERVER_ENABLED);

#if (CPPZMQ_VERSION >= 40700)
#ifdef IGN_CPPZMQ_POST_4_7_0
this->publisher->set(zmq::sockopt::plain_server, asPlainSecurityServer);
this->publisher->set(zmq::sockopt::zap_domain, kIgnAuthDomain);
#else

0 comments on commit e3f8002

Please sign in to comment.