Closed
Description
Bug report
Bug description:
import os
print(os.getlogin())
$ python3 -c "import os; print(os.getlogin())"
Traceback (most recent call last):
File "<string>", line 1, in <module>
import os; print(os.getlogin())
~~~~~~~~~~~^^
OSError: [Errno -34] Unknown error: -34
It appears that if Python is compiled in an environment without HAVE_MAXLOGNAME
but with HAVE_UT_NAMESIZE
, getlogin_r
will return error 34 if username is >9 characters.
This appears to be a regression introduced in #132751:
The correct header file to search for is sys/param.h
, not sys/params.h
. As a result, HAVE_UT_NAMESIZE
is satisfied (via utmp.h
) but HAVE_MAXLOGNAME
is not.
This was originally reported to Homebrew via Homebrew/homebrew-core#226857.
CPython versions tested on:
3.15
Operating systems tested on:
macOS