[Pkg-mongodb-maintainers] Bug#882643: [PATCH] mongodb FTBFS with glibc 2.25

Robie Basak robie.basak at ubuntu.com
Tue Dec 19 11:46:55 UTC 2017


tag 882643 + patch
user ubuntu-devel at lists.ubuntu.com
usertag 882643 + bionic ubuntu-patch
thanks

Patch against mongodb/1:3.4.7-1 below.

---
 debian/patches/major-minor-sysmacros | 45 ++++++++++++++++++++++++++++++++++++
 debian/patches/series                |  1 +
 2 files changed, 46 insertions(+)
 create mode 100644 debian/patches/major-minor-sysmacros

diff --git a/debian/patches/major-minor-sysmacros b/debian/patches/major-minor-sysmacros
new file mode 100644
index 0000000..b91e884
--- /dev/null
+++ b/debian/patches/major-minor-sysmacros
@@ -0,0 +1,45 @@
+From 67f179e75fa606d854d53bb2f5eac94fcd44ba92 Mon Sep 17 00:00:00 2001
+From: Jason Carey <jcarey at argv.me>
+Date: Mon, 26 Jun 2017 11:09:10 -0400
+Subject: [PATCH] SERVER-29855 Pull major/minor from sys/sysmacros.h
+
+Per newer versions of glibc:
+
+----
+error: In the GNU C Library, "major" is defined
+ by <sys/sysmacros.h>. For historical compatibility, it is
+ currently defined by <sys/types.h> as well, but we plan to
+ remove this soon. To use "major", include <sys/sysmacros.h>
+ directly. If you did not intend to use a system-defined macro
+ "major", you should undefine it after including <sys/types.h>. [-Werror]
+         string path = str::stream() << "/sys/dev/block/" << major(dev) << ':' << minor(dev)
+----
+
+Including <sys/sysmacros.h> appears to be the correct solution to quiet
+the warning
+
+Origin: backport, https://github.com/mongodb/mongo/commit/e245cac2b3c18015dee8caddd449532785d15c2b
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=882643
+Last-Update: 2017-12-18
+---
+ src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp b/src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp
+index e185afe..71b3ada 100644
+--- a/src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp
++++ b/src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp
+@@ -36,6 +36,10 @@
+ #include <boost/filesystem/path.hpp>
+ #include <fstream>
+ 
++#ifdef __linux__
++#include <sys/sysmacros.h>
++#endif
++
+ #include "mongo/db/mongod_options.h"
+ #include "mongo/db/storage/mmap_v1/data_file_sync.h"
+ #include "mongo/db/storage/mmap_v1/dur.h"
+-- 
+2.7.4
+
diff --git a/debian/patches/series b/debian/patches/series
index fe49862..595d632 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -10,3 +10,4 @@ fix-wt-checksum-on-arm64
 use-std::regex.patch
 disable-hw-crc32-on-arm64-s390x.patch
 fix-ftbfs-with-gcc-7.patch
+major-minor-sysmacros
-- 
2.7.4

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-mongodb-maintainers/attachments/20171219/f0b9c9ab/attachment.sig>


More information about the Pkg-mongodb-maintainers mailing list