classification
Title: NIS module fails to build due to the removal of interfaces related to Sun RPC from glibc.
Type: Stage: patch review
Components: Extension Modules Versions: Python 3.7, Python 3.6, Python 2.7
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: benjamin.peterson, christian.heimes, cstratak, vstinner
Priority: normal Keywords: patch

Created on 2018-01-08 16:35 by cstratak, last changed 2018-01-15 11:56 by christian.heimes.

Pull Requests
URL Status Linked Edit
PR 5137 merged christian.heimes, 2018-01-08 17:03
PR 5165 merged python-dev, 2018-01-12 14:26
PR 5166 merged python-dev, 2018-01-12 14:27
PR 5190 open christian.heimes, 2018-01-15 11:54
Messages (12)
msg309674 - (view) Author: Charalampos Stratakis (cstratak) * Date: 2018-01-08 16:35
Currently on the development branch of Fedora (28), an upstream change of glibc is being pushed where the Sun RPC support is removed from our downstream glibc package in favor of the libtirpc library. More details [0].

As a result, when python is trying to build the nis extension, it will complain with:
fatal error: rpc/rpc.h: No such file or directory
#include <rpc/rpc.h>
          ^~~~~~~~~~~
compilation terminated.
 
[0] https://fedoraproject.org/wiki/Changes/SunRPCRemoval
msg309675 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-01-08 16:41
Do you know if installing libtirpc-devel does install required rpc/rpc.h / fixes the issue?
msg309676 - (view) Author: Charalampos Stratakis (cstratak) * Date: 2018-01-08 16:43
Already tried. Unfortunately it doesn't.
msg309677 - (view) Author: Charalampos Stratakis (cstratak) * Date: 2018-01-08 16:45
The header is located at /usr/include/tirpc/rpc/rpc.h
msg309678 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-01-08 16:48
> The header is located at /usr/include/tirpc/rpc/rpc.h

configure.ac should be modified to detect tirpc is installed. If yes, setup.py should add /usr/include/tirpc/ to includes to build the "nis" module.
msg309681 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2018-01-08 19:45
I modified setup.py to look for libtirpc. In case the library is detected, it's added as dependency and /usr/include/tirpc is included in search path.
msg309684 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2018-01-09 05:54
I think this is a duplicate of #32007.
msg309856 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2018-01-12 14:26
New changeset f3031b8a7ad71d3b6ed05da7f3041d9efbe773cf by Christian Heimes in branch 'master':
bpo-32521: nis libtirpc (#5137)
https://github.com/python/cpython/commit/f3031b8a7ad71d3b6ed05da7f3041d9efbe773cf
msg309860 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2018-01-12 15:29
New changeset d55d6825d7bd0fc120c95d579065623ce6392a2f by Christian Heimes (Miss Islington (bot)) in branch '3.6':
[3.6] bpo-32521: nis libtirpc (GH-5137) (#5165)
https://github.com/python/cpython/commit/d55d6825d7bd0fc120c95d579065623ce6392a2f
msg309861 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2018-01-12 15:35
New changeset ab95b3074ee43098edf3f23b07fb18ef57ee614d by Christian Heimes (Miss Islington (bot)) in branch '2.7':
bpo-32521: nis libtirpc (GH-5137) (#5166)
https://github.com/python/cpython/commit/ab95b3074ee43098edf3f23b07fb18ef57ee614d
msg309863 - (view) Author: Charalampos Stratakis (cstratak) * Date: 2018-01-12 17:03
Unfortunately the yp_prot.h and ypclnt.h [0] headers have also moved to a different package.

Currently they reside at /usr/include/nsl/rpcsvc/*.h

[0] https://github.com/python/cpython/blob/f3031b8a7ad71d3b6ed05da7f3041d9efbe773cf/Modules/nismodule.c#L18
[1] https://fedoraproject.org/wiki/Changes/NISIPv6
msg309967 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2018-01-15 11:56
It's not just the headers. The shared library is now /usr/lib64/nsl/libnsl.so.2 instead of /usr/lib64/libnsl.so.1.
History
Date User Action Args
2018-01-15 11:56:21christian.heimessetmessages: + msg309967
2018-01-15 11:54:33christian.heimessetpull_requests: + pull_request5044
2018-01-12 17:03:38cstrataksetmessages: + msg309863
2018-01-12 15:35:28christian.heimessetmessages: + msg309861
2018-01-12 15:29:39christian.heimessetmessages: + msg309860
2018-01-12 14:27:42python-devsetpull_requests: + pull_request5022
2018-01-12 14:26:41python-devsetstage: patch review
pull_requests: + pull_request5021
2018-01-12 14:26:34christian.heimessetmessages: + msg309856
2018-01-09 05:54:22benjamin.petersonsetnosy: + benjamin.peterson
messages: + msg309684
2018-01-08 19:45:58christian.heimessetassignee: christian.heimes ->
stage: patch review -> (no value)
messages: + msg309681
versions: - Python 3.5, Python 3.8
2018-01-08 17:03:38christian.heimessetkeywords: + patch
stage: patch review
pull_requests: + pull_request4997
2018-01-08 16:52:46christian.heimessetassignee: christian.heimes

nosy: + christian.heimes
2018-01-08 16:48:16vstinnersetmessages: + msg309678
2018-01-08 16:45:20cstrataksetmessages: + msg309677
2018-01-08 16:43:45cstrataksetmessages: + msg309676
2018-01-08 16:41:57vstinnersetmessages: + msg309675
2018-01-08 16:41:17vstinnersetnosy: + vstinner
2018-01-08 16:35:17cstrataksettitle: NIS module fails to build due to the remove of interfaces related to Sun RPC from glibc. -> NIS module fails to build due to the removal of interfaces related to Sun RPC from glibc.
2018-01-08 16:35:03cstratakcreate