Bug 214816 - dns/powerdns-recursor: Fix compilation on FreeBSD 9.3
Summary: dns/powerdns-recursor: Fix compilation on FreeBSD 9.3
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Thomas Zander
URL:
Keywords: patch, patch-ready
Depends on:
Blocks:
 
Reported: 2016-11-25 08:16 UTC by Ralf van der Enden
Modified: 2016-11-29 17:36 UTC (History)
1 user (show)

See Also:
riggs: merge-quarterly+


Attachments
fix build on freebsd 9.3 (873 bytes, patch)
2016-11-25 08:16 UTC, Ralf van der Enden
tremere: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ralf van der Enden 2016-11-25 08:16:35 UTC
Created attachment 177372 [details]
fix build on freebsd 9.3

- Fix compilation on FreeBSD 9.3 (OpenSSL or variant required from ports)
Comment 1 Thomas Zander freebsd_committer 2016-11-28 13:21:15 UTC
Does still not build on 9.3 i386.

std::nested_exception'
misc.o: In function `std::ctype<char>::widen(char) const [clone .part.35]':
misc.cc:(.text+0x37): undefined reference to `std::ctype<char>::_M_widen_init() const'
misc.o: In function `splitField(std::string const&, char)':
misc.cc:(.text+0x166b): undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)'
misc.o: In function `makeIPv6sockaddr(std::string const&, sockaddr_in6*)':
misc.cc:(.text+0x2e3a): undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)'
misc.o: In function `parseService(std::string const&, ServiceTuple&)':
misc.cc:(.text+0x3f07): undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)'
...

Instead or marking it broken if ssl == base, why not enforce ssl from ports on 9.3?
Comment 2 Ralf van der Enden 2016-11-28 23:17:41 UTC
Hi Thomas,

I don't understand why it doesn't build for you (unless you used 'poudriere testport' instead of 'poudriere bulk'). I've built it just fine with libressl on 9.3-i386 (https://pkg.cainites.net/data/freebsd_9-3x32-system/2016-11-28_23h34m45s/logs/powerdns-recursor-4.0.3_2.log).

The reason I'm not forcing an SSL version from ports is, because I don't know how. WITH_OPENSSL_PORT use is deprecated, so I'm open to suggestions on how to get that done. Also, databases/mysql57-server doesn't force a version from ports, but also marks the port BROKEN unless you pick something other than SSL from base.

Hopefully you can shed some light on why it fails to build on your end, but doesn't on mine.
Comment 3 commit-hook freebsd_committer 2016-11-29 11:01:36 UTC
A commit references this bug:

Author: riggs
Date: Tue Nov 29 11:00:35 UTC 2016
New revision: 427374
URL: https://svnweb.freebsd.org/changeset/ports/427374

Log:
  Fix build on FreeBSD 9.3

  PR:		214816
  Submitted by:	tremere@cainites.net (maintainer)
  MFH:		2016Q4

Changes:
  head/dns/powerdns-recursor/Makefile
Comment 4 Thomas Zander freebsd_committer 2016-11-29 11:06:51 UTC
(In reply to Ralf van der Enden from comment #2)

I found a typo in my poudriere config files. Sorry for the noise in comment #1. You were right, it does indeed build on both 9.3 i386 and amd64.

It's a bit puzzling, though, that it fails in the configure stage if the BUILD_DEPENDS on libatomic_ops is enabled. But this calls for a new PR.

Thanks for double-checking!
Comment 5 commit-hook freebsd_committer 2016-11-29 17:12:35 UTC
A commit references this bug:

Author: riggs
Date: Tue Nov 29 17:12:29 UTC 2016
New revision: 427386
URL: https://svnweb.freebsd.org/changeset/ports/427386

Log:
  MFH: r427374

  Fix build on FreeBSD 9.3

  PR:		214816
  Submitted by:	tremere@cainites.net (maintainer)

  Approved by:	ports-secteam (feld)

Changes:
_U  branches/2016Q4/
  branches/2016Q4/dns/powerdns-recursor/Makefile