summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Misc/NEWS.d/next/Library/2018-01-08-18-02-33.bpo-32521.Kh-KoN.rst2
-rw-r--r--setup.py17
2 files changed, 14 insertions, 5 deletions
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 f1933f78de..250425ebd3 100644
--- a/setup.py
+++ b/setup.py
@@ -1373,12 +1373,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: