Kea issueshttps://gitlab.isc.org/isc-projects/kea/-/issues2023-07-17T13:58:21Zhttps://gitlab.isc.org/isc-projects/kea/-/issues/2862Avoid warnings in bison generated files2023-07-17T13:58:21ZFrancis DupontAvoid warnings in bison generated filesLast macOS clang raises a warning about the yynerrs_ variable which is set but never used. This ticket disables the `-Wunused-but-set-variable` warning in these files so Kea can be built with --with-werror.Last macOS clang raises a warning about the yynerrs_ variable which is set but never used. This ticket disables the `-Wunused-but-set-variable` warning in these files so Kea can be built with --with-werror.kea2.3.8Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/2704fix TSAN warnings issued by clang on macOS2023-07-17T13:58:22ZRazvan Becheriufix TSAN warnings issued by clang on macOSkea2.3.5Razvan BecheriuRazvan Becheriuhttps://gitlab.isc.org/isc-projects/kea/-/issues/2621fix compilation on macOS clang and c++202023-07-17T13:58:23ZRazvan Becheriufix compilation on macOS clang and c++20```
In file included from cfg_subnets6_unittest.cc:24:
In file included from ../../../../src/lib/testutils/gtest_utils.h:10:
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: error: use of overloaded operator '==...```
In file included from cfg_subnets6_unittest.cc:24:
In file included from ../../../../src/lib/testutils/gtest_utils.h:10:
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: error: use of overloaded operator '==' is ambiguous (with operand types 'const int' and 'const isc::util::Triplet<unsigned int>')
if (lhs == rhs) {
~~~ ^ ~~~
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1534:12: note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, isc::util::Triplet<unsigned int>>' requested here
return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
^
cfg_subnets6_unittest.cc:68:5: note: in instantiation of function template specialization 'testing::internal::EqHelper::Compare<int, isc::util::Triplet<unsigned int>, nullptr>' requested here
ASSERT_EQ(exp_valid, subnet->getValid()) << "subnetID:"
^
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:2032:32: note: expanded from macro 'ASSERT_EQ'
# define ASSERT_EQ(val1, val2) GTEST_ASSERT_EQ(val1, val2)
^
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:2016:54: note: expanded from macro 'GTEST_ASSERT_EQ'
ASSERT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
^
../../../../src/lib/util/optional.h:67:10: note: candidate function (with reversed parameter order)
bool operator==(const T& other) const {
^
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(int, unsigned int)
if (lhs == rhs) {
^
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(float, unsigned int)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(double, unsigned int)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(long double, unsigned int)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(int, float)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(int, double)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(int, long double)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(int, int)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(int, long)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(int, long long)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(int, __int128)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(int, unsigned long)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(int, unsigned long long)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(int, unsigned __int128)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(long, unsigned int)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(long long, unsigned int)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(__int128, unsigned int)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(unsigned int, unsigned int)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(unsigned long, unsigned int)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(unsigned long long, unsigned int)
/Users/razvan/isc/git/googletest/googletest/include/gtest/gtest.h:1507:11: note: built-in candidate operator==(unsigned __int128, unsigned int)
```kea2.3.4Razvan BecheriuRazvan Becheriuhttps://gitlab.isc.org/isc-projects/kea/-/issues/2012MacOS does not use @prefix@ for python scripts2021-08-25T14:55:40ZRazvan BecheriuMacOS does not use @prefix@ for python scriptsfound during sanity checks for 1.9.10
#2010
fix is simple (thx @andrei):
```
diff --git a/src/bin/shell/Makefile.am b/src/bin/shell/Makefile.am
index 786d4f676a..430116988a 100644
--- a/src/bin/shell/Makefile.am
+++ b/src/bin/shell/Ma...found during sanity checks for 1.9.10
#2010
fix is simple (thx @andrei):
```
diff --git a/src/bin/shell/Makefile.am b/src/bin/shell/Makefile.am
index 786d4f676a..430116988a 100644
--- a/src/bin/shell/Makefile.am
+++ b/src/bin/shell/Makefile.am
@@ -1,5 +1,8 @@
SUBDIRS = . tests
+PYTHON_PREFIX=@prefix@
+PYTHON_EXEC_PREFIX=@prefix@
+
pkgpython_PYTHON = kea_conn.py kea_connector2.py kea_connector3.py
sbin_SCRIPTS = kea-shell
```
not sure if this interferes with:
--with-site-packageskea1.9.11Andrei Pavelandrei@isc.orgAndrei Pavelandrei@isc.orghttps://gitlab.isc.org/isc-projects/kea/-/issues/1308building with boost-1.73.0 requires changes in bind placeholders2020-08-13T14:12:03ZLars Wendlerbuilding with boost-1.73.0 requires changes in bind placeholdersI get lots of messages like this when building kea with boost-1.73.0:
```
/usr/include/boost/bind.hpp:36:1: note: #pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Pleas...I get lots of messages like this when building kea with boost-1.73.0:
```
/usr/include/boost/bind.hpp:36:1: note: #pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.
36 | BOOST_PRAGMA_MESSAGE(
| ^~~~~~~~~~~~~~~~~~~~
```
I suppose this warning might turn into an error with future boost releases.kea1.8.0Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/571Segfault when DHCP server using CB terminates (clang only)2019-04-18T19:19:29ZMarcin SiodelskiSegfault when DHCP server using CB terminates (clang only)When running some manual tests of the CB on macOS I noticed that it causes a segfault upon termination. This doesn't impact the operation of the DHCP server. It occurs when the process exits and destructor of the `CfgMgr` is invoked. The...When running some manual tests of the CB on macOS I noticed that it causes a segfault upon termination. This doesn't impact the operation of the DHCP server. It occurs when the process exits and destructor of the `CfgMgr` is invoked. The snippet https://gitlab.isc.org/snippets/840 includes a back trace. This issue only occurs when Kea is compiled with clang.
The direct cause of this issue is that we allocate objects such as subnets, shared networks etc. within the heap that belongs to the dynamically loaded library (hooks library) and then pass them back to the binary (Kea server). As long as the library is loaded the Kea server can safely use those objects. However, when the library is unloaded the memory space dedicated for the library is gone and no longer accessible by the binary. As a result, the binary segfaults when trying to destroy the object.
One of the considered solutions was to make the library clear the configuration when it is being unloaded. I tried that and it indeed prevented the crash. However, we want the configuration to outlive the library. Especially that there is no easy way to clear the configuration that was introduced by the library and preserve all the rest.
The better solution which I tested was to create the static factory functions within Kea, e.g. `Subnet4::create` which would return the shared pointer to the newly created object. The library must call this factory function (rather than create the instance on its own) which will cause the instance to be created by the binary, rather than the library. That way, when the library is unloaded the object is still available.Kea1.6Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/570--with-mysql using 8.x depends on openssl and breaks Mac OS build2019-05-20T12:15:09ZRazvan Becheriu--with-mysql using 8.x depends on openssl and breaks Mac OS buildmysql_config
```
Usage: /usr/local/bin/mysql_config [OPTIONS]
Compiler: Clang 10.0.0.10001145
Options:
--cflags [-I/usr/local/Cellar/mysql/8.0.15/include/mysql ]
--cxxflags [-I/usr/local/Cellar/mysql/8...mysql_config
```
Usage: /usr/local/bin/mysql_config [OPTIONS]
Compiler: Clang 10.0.0.10001145
Options:
--cflags [-I/usr/local/Cellar/mysql/8.0.15/include/mysql ]
--cxxflags [-I/usr/local/Cellar/mysql/8.0.15/include/mysql ]
--include [-I/usr/local/Cellar/mysql/8.0.15/include/mysql]
--libs [-L/usr/local/Cellar/mysql/8.0.15/lib -lmysqlclient -lssl -lcrypto]
--libs_r [-L/usr/local/Cellar/mysql/8.0.15/lib -lmysqlclient -lssl -lcrypto]
--plugindir [/usr/local/Cellar/mysql/8.0.15/lib/plugin]
--socket [/tmp/mysql.sock]
--port [0]
--version [8.0.15]
--variable=VAR VAR is one of:
pkgincludedir [/usr/local/Cellar/mysql/8.0.15/include/mysql]
pkglibdir [/usr/local/Cellar/mysql/8.0.15/lib]
plugindir [/usr/local/Cellar/mysql/8.0.15/lib/plugin]
```
libmysqlclient depends on -lssl -lcrypto which are not added as dependencies in configure.ac
the fix is simple:
```
--- a/configure.ac
+++ b/configure.ac
@@ -709,7 +709,8 @@ if test "$MYSQL_CONFIG" != "" ; then
LIBS_SAVED="$LIBS"
CPPFLAGS="$MYSQL_CPPFLAGS $CPPFLAGS"
- LIBS="$MYSQL_LIBS $LIBS"
+ LIBS="$MYSQL_LIBS $LIBS $CRYPTO_LIBS"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([#include <mysql.h>],
```Kea1.6https://gitlab.isc.org/isc-projects/kea/-/issues/561Make kea to build on last macOS / Xcode2019-05-23T09:40:16ZFrancis DupontMake kea to build on last macOS / XcodeI updated macOS, Xcode, all brewed dependencies, libyang/sysrepo. I am trying to make Kea with premium to build with all options on. Unfortunately the last clang (1001.0.46.3) does not accept some features.
This ticket is to fix all iss...I updated macOS, Xcode, all brewed dependencies, libyang/sysrepo. I am trying to make Kea with premium to build with all options on. Unfortunately the last clang (1001.0.46.3) does not accept some features.
This ticket is to fix all issues which block build and make check on macOS (the idea is they should block on some other systems too).Kea1.6Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/371ld warning message on macOS build2019-01-25T14:05:56ZFrancis Dupontld warning message on macOS buildFrom https://oldkea.isc.org/ticket/5669.
When building on macOS, the message
```
ld: warning: directory not found for option '-L/usr/local/lib64'
```
appears a number of times.
The problem appears to lie in "configure.ac", where "-L$d/...From https://oldkea.isc.org/ticket/5669.
When building on macOS, the message
```
ld: warning: directory not found for option '-L/usr/local/lib64'
```
appears a number of times.
The problem appears to lie in "configure.ac", where "-L$d/lib64" is added to the locations where the log4cplus library may be found. ("d" being the directory tree in which log4cplus was installed). It is suggested that the existence of this directory be checked before adding it to the list.Kea1.6Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/kea/-/issues/356sporadic failure in HttpListenerTest.keepAlive2020-12-22T10:16:30ZTomek Mrugalskisporadic failure in HttpListenerTest.keepAliveI'm running 1.5.0 tarball code with unit-tests on macOS 10.12.6. There was a failure in HttpListenerTest.keepAlive. I've run tests 10 times and it failed 3 times. Looks like a race condition.
```
[ RUN ] HttpListenerTest.keepAlive
...I'm running 1.5.0 tarball code with unit-tests on macOS 10.12.6. There was a failure in HttpListenerTest.keepAlive. I've run tests 10 times and it failed 3 times. Looks like a race condition.
```
[ RUN ] HttpListenerTest.keepAlive
server_client_unittests.cc:558: Failure
Value of: client->isConnectionAlive()
Actual: true
Expected: false
[ FAILED ] HttpListenerTest.keepAlive (1 ms)
```kea1.9.3Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/1199Kea fails to build with macOS homebrew postgresql 12.2_12020-05-22T17:36:01ZFrancis DupontKea fails to build with macOS homebrew postgresql 12.2_1The postgresql 12.2_1 from homebrew on macOS can fail to build: src/lib/pgsql/pgsql_connection.cc does not compile because a boost header includes the wrong math.h and some functions like signbit can't be found.The postgresql 12.2_1 from homebrew on macOS can fail to build: src/lib/pgsql/pgsql_connection.cc does not compile because a boost header includes the wrong math.h and some functions like signbit can't be found.kea1.7.8Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/434Spurious warnings about boost on macOS2019-10-04T21:53:11ZFrancis DupontSpurious warnings about boost on macOSGot on my iMac Pro checking the speed during Mojave download:
```
In file included from encode/base_n.cc:21:
In file included from /usr/local/include/boost/math/common_factor.hpp:13:
/usr/local/include/boost/math/common_factor_ct.hpp:16:...Got on my iMac Pro checking the speed during Mojave download:
```
In file included from encode/base_n.cc:21:
In file included from /usr/local/include/boost/math/common_factor.hpp:13:
/usr/local/include/boost/math/common_factor_ct.hpp:16:1: warning: This header is deprecated. Use <boost/integer/common_factor_ct.hpp> instead. [-W#pragma-messages]
BOOST_HEADER_DEPRECATED("<boost/integer/common_factor_ct.hpp>");
^
/usr/local/include/boost/config/header_deprecated.hpp:23:37: note: expanded from macro 'BOOST_HEADER_DEPRECATED'
# define BOOST_HEADER_DEPRECATED(a) BOOST_PRAGMA_MESSAGE("This header is deprecated. Use " a " instead.")
^
/usr/local/include/boost/config/pragma_message.hpp:24:34: note: expanded from macro 'BOOST_PRAGMA_MESSAGE'
# define BOOST_PRAGMA_MESSAGE(x) _Pragma(BOOST_STRINGIZE(message(x)))
^
<scratch space>:3:2: note: expanded from here
message("This header is deprecated. Use " "<boost/integer/common_factor_ct.hpp>" " instead.")
^
```
BTW I configured with --with-werror but this did _not_ stop building. So very low priority.kea1.7.1