From d55d6825d7bd0fc120c95d579065623ce6392a2f Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 12 Jan 2018 07:29:35 -0800 Subject: [PATCH] [3.6] bpo-32521: nis libtirpc (GH-5137) (#5165) glibc has removed Sun RPC. Use replacement libtirpc headers and library in nis module Signed-off-by: Christian Heimes (cherry picked from commit f3031b8a7ad71d3b6ed05da7f3041d9efbe773cf) --- .../2018-01-08-18-02-33.bpo-32521.Kh-KoN.rst | 2 ++ setup.py | 17 ++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2018-01-08-18-02-33.bpo-32521.Kh-KoN.rst diff --git a/Misc/NEWS.d/next/Library/2018-01-08-18-02-33.bpo-32521.Kh-KoN.rst b/Misc/NEWS.d/next/Library/2018-01-08-18-02-33.bpo-32521.Kh-KoN.rst new file mode 100644 index 0000000000..5ca9bcf768 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2018-01-08-18-02-33.bpo-32521.Kh-KoN.rst @@ -0,0 +1,2 @@ +glibc has removed Sun RPC. Use replacement libtirpc headers and library in +nis module. diff --git a/setup.py b/setup.py index 5e2b81bbb6..e8891e6b79 100644 --- a/setup.py +++ b/setup.py @@ -1365,12 +1365,19 @@ class PyBuildExt(build_ext): # Sun yellow pages. Some systems have the functions in libc. if (host_platform not in ['cygwin', 'qnx6'] and find_file('rpcsvc/yp_prot.h', inc_dirs, []) is not None): - if (self.compiler.find_library_file(lib_dirs, 'nsl')): - libs = ['nsl'] - else: - libs = [] + nis_libs = [] + nis_includes = [] + if self.compiler.find_library_file(lib_dirs, 'nsl'): + nis_libs.append('nsl') + if self.compiler.find_library_file(lib_dirs, 'tirpc'): + # Sun RPC has been moved from glibc to libtirpc + # rpcsvc/yp_prot.h is still in /usr/include, but + # rpc/rpc.h has been moved into tirpc/ subdir. + nis_libs.append('tirpc') + nis_includes.append('/usr/include/tirpc') exts.append( Extension('nis', ['nismodule.c'], - libraries = libs) ) + libraries = nis_libs, + include_dirs=nis_includes) ) else: missing.append('nis') else: -- 2.50.1