Skip to content

Instantly share code, notes, and snippets.

@pointlessone
Created September 8, 2020 14:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pointlessone/4159cc9d4de07c9d9eba069f580fd510 to your computer and use it in GitHub Desktop.
Save pointlessone/4159cc9d4de07c9d9eba069f580fd510 to your computer and use it in GitHub Desktop.
Gentoo, nsswitch.conf, and glibc

Once in a while I get issues intalling glibs. This is the message:

>>> Emerging (1 of 3) sys-libs/glibc-2.32-r1::pointlessone
 * Fetching files in the background.
 * To view fetch progress, run in another terminal:
 * tail -f /var/log/emerge-fetch.log
 * glibc-2.32.tar.xz BLAKE2B SHA512 size ;-) ...                                                                                                                                       [ ok ]
 * glibc-2.32-patches-1.tar.xz BLAKE2B SHA512 size ;-) ...                                                                                                                             [ ok ]
 * locale-gen-2.10.tar.gz BLAKE2B SHA512 size ;-) ...                                                                                                                                  [ ok ]
 * gcc-multilib-bootstrap-20180511.tar.xz BLAKE2B SHA512 size ;-) ...                                                                                                                  [ ok ]
 * Using python3.7 to build
>>> Unpacking source...
make -j3 glibc-test CC=x86_64-pc-linux-gnu-gcc
x86_64-pc-linux-gnu-gcc -O2   -Wl,-O1 -Wl,--as-needed  glibc-test.c   -o glibc-test
 * Your /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.32-r1::pointlessone failed (unpack phase):
 *   nsswitch.conf has no 'files' provider in 'passwd'.
 *
 * Call stack:
 *     ebuild.sh, line  125:  Called src_unpack
 *   environment, line 3490:  Called sanity_prechecks
 *   environment, line 3254:  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.32-r1::pointlessone'`,
 * the complete build log and the output of `emerge -pqv '=sys-libs/glibc-2.32-r1::pointlessone'`.
 * The complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.32-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-libs/glibc-2.32-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-libs/glibc-2.32-r1/work'
 * S: '/var/tmp/portage/sys-libs/glibc-2.32-r1/work/glibc-2.32'

The isssue is not that the nsswitch.conf is incorrect. The issue is that it's not world readable. Make sure emerge can actually read the file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment