lib32 biarch support and libnss-extrausers

Loïc Minier loic.minier at
Mon Mar 21 16:23:17 UTC 2016

(BTW there's a workaround for this particular case: just add /usr/lib32 to
LD_LIBRARY_PATH in your snap, and libc will find the 32-bits

On Mon, Mar 21, 2016 at 5:17 PM, Loïc Minier <loic.minier at> wrote:

> Hi,
> in our images, the ubuntu user is not in the shipped /etc/passwd NSS
> database, but in /var/lib/extrausers/passwd. (This is to make sure that OS
> usernames and locally created users dont clash, e.g. if an OS update adds a
> system user id such as dbus or systemd and ships file owned by that system
> user, it should not collide with a locally created user id.)
> libnss-extrausers is a libc extension and gets loaded automatically so
> that running "getent passwd" or doing the equivalent getpwnam libc calls
> returns both system users and local users, such as the ubuntu user.
> However, while 32-bits programs on a 64-bits snappy system generally work
> fine, the ubuntu user is not returned from a 32-bits program. You can try
> this by running "getent passwd" with i386 getent extracted from libc-bin on
> a 64-bits snappy: it will list all system users but not ubuntu.
> libnss-extrausers *does* ship a 32-bits version, but under the legacy
> /usr/lib32; I had originally filed LP #1551321
> <> thinking
> this was purely a libnss-extrausers issues, but it turns out it's both
>  snappy and a libnss-extrausers issue. So two things:
> - I believe we should change libnss-extrausers to use multiarch pathnames
> instead of the legacy lib32 ones
> - do we want to support lib32 in snappy? this would be achieved with a
> config provided by libc6-i386, so basically we'd just add
> libc6-i386 to the image
> Thanks,
> - Loïc Minier
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the snappy-devel mailing list