On Sun, Aug 31, 2025 at 03:46:45PM +0300, Niko Tyni wrote:
> 
> This package fails to build from source on current sid.
> 
>   
> https://tests.reproducible-builds.org/debian/rbuild/unstable/arm64/collectd_5.12.0-26.rbuild.log.gz
> 
> I think these are the relevant parts:
> 
>     configure:126594: result:     libmongoc . . . . . . no (pkg-config could 
> not find libmongoc)
>     [...]
>     configure:127022: result:     write_mongodb . . . . no (pkg-config could 
> not find libmongoc) (dependency error)
>     [...]
>     configure:127052: error: "Some plugins are missing dependencies - see the 
> summary above for details"
> 

The attached patch fixes this.

Regards,

-Roberto

-- 
Roberto C. Sánchez
---
 configure.ac        |   26 +++++++++++++++++++-------
 src/write_mongodb.c |    4 ++++
 2 files changed, 23 insertions(+), 7 deletions(-)

--- a/configure.ac
+++ b/configure.ac
@@ -3430,9 +3430,12 @@
 )
 
 if test "x$with_libmongoc" = "xyes"; then
-  PKG_CHECK_MODULES([LIBMONGOC], [libmongoc-1.0],
+  PKG_CHECK_MODULES([LIBMONGOC], mongoc2,
     [with_libmongoc="yes"],
-    [with_libmongoc="no (pkg-config could not find libmongoc)"]
+    [PKG_CHECK_MODULES([LIBMONGOC], [libmongoc-1.0],
+      [with_libmongoc="yes"],
+      [with_libmongoc="no (pkg-config could not find libmongoc)"]
+    )]
   )
 fi
 
@@ -3441,9 +3444,15 @@
 
   CPPFLAGS="$CPPFLAGS $LIBMONGOC_CFLAGS"
 
-  AC_CHECK_HEADERS([mongoc.h],
-    [with_libmongoc="yes"],
-    [with_libmongoc="no ('mongoc.h' not found)"]
+  AC_CHECK_HEADERS([mongoc/mongoc.h],
+    [
+      with_libmongoc="yes"
+      AC_DEFINE([HAVE_MONGOC2], [1], [Have mongoc2.])
+    ],
+    [AC_CHECK_HEADERS([mongoc.h],
+      [with_libmongoc="yes"],
+      [with_libmongoc="no ('mongoc.h' not found)"]
+    )]
   )
 
   CPPFLAGS="$SAVE_CPPFLAGS"
@@ -3456,9 +3465,12 @@
   CPPFLAGS="$CPPFLAGS $LIBMONGOC_CFLAGS"
   LDFLAGS="$LDFLAGS $LIBMONGOC_LDFLAGS"
 
-  AC_CHECK_LIB([mongoc-1.0], [mongoc_init],
+  AC_CHECK_LIB([mongoc2], [mongoc_init],
     [with_libmongoc="yes"],
-    [with_libmongoc="no (symbol 'mongoc_init' not found)"]
+    [AC_CHECK_LIB([mongoc-1.0], [mongoc_init],
+      [with_libmongoc="yes"],
+      [with_libmongoc="no (symbol 'mongoc_init' not found)"]
+    )]
   )
 
   CPPFLAGS="$SAVE_CPPFLAGS"
--- a/src/write_mongodb.c
+++ b/src/write_mongodb.c
@@ -36,7 +36,11 @@
 #include "utils/common/common.h"
 #include "utils_cache.h"
 
+#ifdef HAVE_MONGOC2
+#include <mongoc/mongoc.h>
+#else
 #include <mongoc.h>
+#endif
 
 struct wm_node_s {
   char name[DATA_MAX_NAME_LEN];

Reply via email to