From: "Sven Wegener" <swegener@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: net-dns/pdns-recursor/files/, net-dns/pdns-recursor/
Date: Sat, 30 May 2020 09:53:58 +0000 (UTC) [thread overview]
Message-ID: <1590832404.13cb72bb0421f600e12802111db6d05514d763d8.swegener@gentoo> (raw)
commit: 13cb72bb0421f600e12802111db6d05514d763d8
Author: Sven Wegener <swegener <AT> gentoo <DOT> org>
AuthorDate: Sat May 30 09:50:25 2020 +0000
Commit: Sven Wegener <swegener <AT> gentoo <DOT> org>
CommitDate: Sat May 30 09:53:24 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13cb72bb
net-dns/pdns-recursor: Fix building with gcc-10, bug #724398
Closes: https://bugs.gentoo.org/724398
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Sven Wegener <swegener <AT> gentoo.org>
.../files/pdns-recursor-4.3.1-gcc-10.patch | 61 ++++++++++++++++++++++
net-dns/pdns-recursor/pdns-recursor-4.3.1.ebuild | 1 +
2 files changed, 62 insertions(+)
diff --git a/net-dns/pdns-recursor/files/pdns-recursor-4.3.1-gcc-10.patch b/net-dns/pdns-recursor/files/pdns-recursor-4.3.1-gcc-10.patch
new file mode 100644
index 00000000000..8244a456e64
--- /dev/null
+++ b/net-dns/pdns-recursor/files/pdns-recursor-4.3.1-gcc-10.patch
@@ -0,0 +1,61 @@
+commit b35614ed8b45adba304bcddcb3f2db6cb36b1462
+Author: Sander Hoentjen <shoentjen@antagonist.nl>
+Date: Mon Dec 16 22:44:43 2019 +0100
+
+ Fix build with gcc-10
+
+ From an e-mail from Jeff Law <law@redhat.com>:
+
+ Subject: Minor problem in pdns, dnsdist and pdns-recursor packages in Fedora
+
+ [ All three packages have embedded copies of the same problematic code
+ and the same patch fixes all three. ]
+
+ Red Hat's compiler team continues to try and be proactive in identifying
+ issues that will arise as a result of the introduction of a new GCC
+ release into Fedora each spring.
+
+ You're being contacted because a package you maintain in Fedora is going
+ to fail to build with gcc-10 in the spring. Yes, I know that's a few
+ months away, but it's far easier to fix this stuff proactively now than
+ wait.
+
+ Fixing it now also means that your package will continue to be built
+ with testing versions of gcc-10 as we proceed through the development
+ process thus allowing additional issues to be caught early.
+
+ Your particular package will fail due to an uninstantiated template for
+ AsyncLoader<Request>. These kinds of problems are relatively common due to
+ changes in the tuning of the inliner for gcc-10:
+
+ > BUILDSTDERR: /usr/bin/ld: webserver.o: in function `WebServer::serveConnection(std::shared_ptr<Socket>) const':
+ > BUILDSTDERR: /builddir/build/BUILD/pdns-4.2.1/pdns/webserver.cc:373: undefined reference to `YaHTTP::AsyncLoader<YaHTTP::Request>::feed(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
+ > BUILDSTDERR: collect2: error: ld returned 1 exit status
+ > BUILDSTDERR: make[3]: *** [Makefile:2751: ixfrdist] Error 1
+ >
+
+ The attached patch arranges for an instance to be instantiated when
+ compiling reqresp.cpp and is sufficient to fix this problem. The
+ choice of reqresp.cpp fairly arbitrary IIRC.
+
+ Ideally you'll with upstream to get this fixed, but a Fedora patch is
+ clearly OK as well. I'll install the attached fix into Fedora in a
+ week or so if I haven't heard from you.
+
+ Jeff
+
+ (cherry picked from commit ffb885e937c27bb1c62dee8f18c58ae0d5d52d39)
+
+diff --git a/ext/yahttp/yahttp/reqresp.cpp b/ext/yahttp/yahttp/reqresp.cpp
+index 686a6c7bd..ca2154f6a 100644
+--- a/ext/yahttp/yahttp/reqresp.cpp
++++ b/ext/yahttp/yahttp/reqresp.cpp
+@@ -2,6 +2,8 @@
+
+ namespace YaHTTP {
+
++ template class AsyncLoader<Request>;
++
+ bool isspace(char c) {
+ return std::isspace(c) != 0;
+ }
diff --git a/net-dns/pdns-recursor/pdns-recursor-4.3.1.ebuild b/net-dns/pdns-recursor/pdns-recursor-4.3.1.ebuild
index 30eca37b6ed..378e02c50a6 100644
--- a/net-dns/pdns-recursor/pdns-recursor-4.3.1.ebuild
+++ b/net-dns/pdns-recursor/pdns-recursor-4.3.1.ebuild
@@ -36,6 +36,7 @@ S="${WORKDIR}"/${P/_/-}
PATCHES=(
"${FILESDIR}"/${P}-boost-1.73.0.patch
+ "${FILESDIR}"/${P}-gcc-10.patch
)
pkg_setup() {
next reply other threads:[~2020-05-30 9:54 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-30 9:53 Sven Wegener [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-08-11 20:30 [gentoo-commits] repo/gentoo:master commit in: net-dns/pdns-recursor/files/, net-dns/pdns-recursor/ Sven Wegener
2022-08-22 18:54 Sven Wegener
2022-06-16 21:25 Sven Wegener
2020-10-17 9:23 Sven Wegener
2020-10-14 7:13 Sven Wegener
2020-05-30 9:53 Sven Wegener
2019-01-25 6:33 Sven Wegener
2019-01-21 15:22 Sven Wegener
2016-12-30 11:27 Sven Wegener
2016-10-14 12:48 Sven Wegener
2016-07-19 22:03 Sven Wegener
2015-11-03 19:30 Sven Wegener
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1590832404.13cb72bb0421f600e12802111db6d05514d763d8.swegener@gentoo \
--to=swegener@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox