Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 638316

Summary: sys-libs/glibc-2.26-r3 - nsswitch.conf has no 'files' provider in 'passwd'
Product: Gentoo Linux Reporter: Martin Mokrejš <mmokrejs>
Component: Current packagesAssignee: Gentoo Toolchain Maintainers <toolchain>
Status: RESOLVED INVALID    
Severity: normal CC: prefix
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Martin Mokrejš 2017-11-21 12:48:28 UTC
Hi,
  when upgrading glibc on Gentoo::RAP I get the following:

>>> Running pre-merge checks for sys-libs/glibc-2.26-r3
make -j8 -s glibc-test 
make -j8 -s glibc-test 
 * Your /apps/gentoo//etc/nsswitch.conf is out of date.
 * Please make sure you have 'files' entries for
 * 'passwd:', 'group:' and 'shadow:' databases.
 * For more details see:
 *   https://wiki.gentoo.org/wiki/Project:Toolchain/nsswitch.conf_in_glibc-2.26
 * ERROR: sys-libs/glibc-2.26-r3::gentoo failed (pretend phase):
 *   nsswitch.conf has no 'files' provider in 'passwd'.
 * 
 * Call stack:
 *              ebuild.sh, line 115:  Called pkg_pretend
 *   glibc-2.26-r3.ebuild, line 203:  Called die
 * The specific snippet of code:
 *   				die "nsswitch.conf has no 'files' provider in '${entry}'."
 * 
 * If you need support, post the output of `emerge --info '=sys-libs/glibc-2.26-r3::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-libs/glibc-2.26-r3::gentoo'`.
 * The complete build log is located at '/apps/gentoo/var/tmp/portage/sys-libs/glibc-2.26-r3/temp/build.log'.
 * The ebuild environment file is located at '/apps/gentoo/var/tmp/portage/sys-libs/glibc-2.26-r3/temp/die.env'.
 * Working directory: '/apps/gentoo/var/tmp/portage/sys-libs/glibc-2.26-r3/homedir'
 * S: '/apps/gentoo/var/tmp/portage/sys-libs/glibc-2.26-r3/work/glibc-2.26'


I think this is a false alarm provided this is Gentto::RAP install.

$ cat /apps/gentoo//etc/nsswitch.conf
# /etc/nsswitch.conf:
# $Header: /var/cvsroot/gentoo/src/patchsets/glibc/extra/etc/nsswitch.conf,v 1.1 2006/09/29 23:52:23 vapier Exp $

passwd:      ldap compat
shadow:      ldap compat
group:       ldap compat

# passwd:    db files nis
# shadow:    db files nis
# group:     db files nis

hosts:       files dns
networks:    files dns

services:    db files
protocols:   db files
rpc:         db files
ethers:      db files
netmasks:    files
netgroup:    files
bootparams:  files

automount:   files
aliases:     files
$

Adding the 'files' entries help to overcome that but I think it is not worth the effort.
Comment 1 Jonathan Callen (RETIRED) gentoo-dev 2017-11-21 17:51:34 UTC
The "compat" provider no longer is available in glibc 2.26, you need to replace it with "files" (and possibly "nis", if you use it) on the lines beginning with "passwd:", "shadow:", and "group:" in $EPREFIX/etc/nsswitch.conf.  Failure to do so will, as the message suggests, cause your Gentoo::RAP install to be unable to look up usernames at all (as there is no libnss_compat.so.2 in glibc 2.26).