New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
deprecate the nis module #76188
Comments
The nis extension module fails to build against glibc-2.26 with the "obsolete-rpc" option disabled. Downstream bug report: https://bugs.gentoo.org/631488 glibc-2.26 release notes: https://sourceware.org/ml/libc-alpha/2017-08/msg00010.html The nis module is normally skipped since rpcsvc/yp_prot.h will not exist. However, if the external "libnsl" package is installed, compilation is attempted and fails as given below. building 'nis' extension
x86_64-pc-linux-gnu-gcc -pthread -fPIC -Wno-unused-result -Wsign-compare -DNDEBUG -march=native -O2 -pipe -g -fwrapv -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -I./Include -I. -I/var/tmp/portage/dev-lang/python-3.6.3/work/Python-3.6.3/Include -I/var/tmp/portage/dev-lang/python-3.6.3/work/Python-3.6.3 -c /var/tmp/portage/dev-lang/python-3.6.3/work/Python-3.6.3/Modules/nismodule.c -o build/temp.linux-x86_64-3.6/var/tmp/portage/dev-lang/python-3.6.3/work/Python-3.6.3/Modules/nismodule.o
/var/tmp/portage/dev-lang/python-3.6.3/work/Python-3.6.3/Modules/nismodule.c:17:21: fatal error: rpc/rpc.h: No such file or directory
#include <rpc/rpc.h>
^
compilation terminated. To summarize: glibc no longer provides rpc/rpc.h or rpcsvc/yp_prot.h. One must install a couple of external libraries to provide the same functionality. The missing rpcsvc/yp_prot.h file can be resolved by installing the "libnsl" package, which installs the header where setup.py expects to find it. The missing rpc/rpc.h file may be provided by the "libtirpc" package, but this installs the file under /usr/include/tirpc, which must be added to the include path (-I/usr/include/tirpc). Ideally, pkg-config would be used to find both libnsl and libtirpc. |
Rather than investing any effort in nis, we should probably just deprecate and eventually remove it. (If glibc is actually getting rid of something, you know must be very very deprecated.) |
bpo-32521 is a duplicate of this issue. I didn't notice this issue when I created a fix.
|
It seems to be even more weird. Even with installed libnsl-devel (libnsl-devel-1.2.0-2.5.x86_64 on openSUSE/Tumbleweed) I get this in config.log: checking for t_open in -lnsl... no and truly, when grepping for t_open in /usr/include/rpc* I get nothing. |
Agree. a) who will separate its functionality into separate module for PyPI, b) who start a thread on python-devel? |
PEP-549 lists nis among modules to be removed: https://www.python.org/dev/peps/pep-0594/#nis For what it's worth, when I built 3.11 from source on Ubuntu 16.04 I managed to build the nis extension, without installing any special libraries first. |
is deprecated as per PEP-594, so there is no need for a separate issue for it. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: