Fix building on OpenIndiana (and possibly Solaris) #3400

Merged
merged 4 commits into from Jun 13, 2016

Projects

None yet

3 participants

@pieterlexis
Member

This PR closes #3369 by fixing the issues noted therein.

auth, recursor and dnsdist now succesfully build on openindana hipster (tested).

@pieterlexis pieterlexis and 1 other commented on an outdated diff Feb 17, 2016
m4/pdns_enable_reproducible.m4
@@ -12,7 +12,7 @@ AC_DEFUN([PDNS_ENABLE_REPRODUCIBLE], [
AC_DEFINE([REPRODUCIBLE], [1], [Define to 1 for reproducible builds])
],[
build_user=$(id -u -n)
- if [ test x"$host_os" = "xSunOS" ]; then
+ if [ test x"$host_os" = "xSunOS" -o x"$host_os" = "xsolaris2.11" ]; then
@pieterlexis
pieterlexis Feb 17, 2016 Member

we could use $have_solaris here, but that would mean always calling PDNS_CHECK_OS before PDNS_ENABLE_REPRODUCIBLE

@rubenk
rubenk Feb 22, 2016 Contributor

You could use AC_REQUIRE([PDNS_CHECK_OS])

Btw, I'm wondering when $host_os is ever SunOS? The systems I've seen always have something like solaris*

Otherwise LGTM.

@pieterlexis
Member

all 3 products still build on linux as well, FreeBSD and OpenBSD need to be tested.

@Habbie
Member
Habbie commented Feb 25, 2016

I think OpenBSD didn't work before this PR either, so feel free to ignore that. For FreeBSD I also feel the community can pick that up.

@pieterlexis pieterlexis added this to the auth-4.0.0 milestone Feb 25, 2016
@Habbie Habbie and 1 other commented on an outdated diff Mar 21, 2016
m4/pdns_check_os.m4
@@ -2,7 +2,7 @@ AC_DEFUN([PDNS_CHECK_OS],[
THREADFLAGS=""
case "$host_os" in
- solaris2.10)
+ solaris2.10 | solaris2.11)
@Habbie
Habbie Mar 21, 2016 Member

solaris2.1* ?

@pieterlexis
pieterlexis Mar 21, 2016 Member

"but maybe they will break it in 2.12"

@Habbie
Habbie Mar 21, 2016 Member

That is far less likely than 2.12 being exactly the same, in which case we need to edit. It is a gamble either way, but I like gambles that have a fair chance of not causing action :)

@Habbie Habbie and 1 other commented on an outdated diff Mar 21, 2016
pdns/recursordist/Makefile.am
@@ -216,3 +222,14 @@ $(MANPAGES):
exit 1
endif
endif
+
+if !HAVE_LUA_HPP
+# no lua.hpp on solaris :(
+lua.hpp:
@Habbie
Habbie Mar 21, 2016 Member

We have this code in two places now. How about just shipping our own lua.hpp and never relying on the distro?

@pieterlexis
pieterlexis Mar 21, 2016 Member

In the odd case that the OS's (or user's with CFLAGS=-Imyspeciallua) lua.hpp is 'special' (patched from upstream for whatever reason), we don't break this setup

@Habbie
Habbie Mar 21, 2016 Member

Ok, then how about shipping compat-lua.hpp that we can symlink in to the right projects, to avoid the duplication?

@pieterlexis
pieterlexis Mar 21, 2016 Member

this file is created at build-time, not distribution time. We could have a lua_hpp.mk that is symlinked and included into the makefiles?

@Habbie
Member
Habbie commented May 23, 2016

This branch has conflicts that must be resolved.

@Habbie
Member
Habbie commented May 23, 2016

Other than that we are still duplicationg the lua C++ header (which I can overlook), this LGTM.

@pieterlexis
Member

@Habbie fixed! I'll try another build on OpenSolaris soon to verify it all still works

@pieterlexis
Member

Confirmed this allows building the Authoritative Server, Recursor and dnsdist on OpenIndiana Hipster.

@pieterlexis pieterlexis merged commit 89d69e2 into PowerDNS:master Jun 13, 2016

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
@pieterlexis pieterlexis deleted the pieterlexis:issue-3369-lidresolv-libsocket-libnsl branch Jun 13, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment