19

When I try to mount a cifs share with option iocharset=utf8 I receive the error: mount error 79 = Can not access a needed shared library. What shared library am I missing?

2 Answers 2

26

Probably, your Kernel doesn't contain the nls_utf8.ko module.

If it's your case, you will see similar entries in your dmesg output:

[  612.598233]  CIFS VFS: CIFS mount error: iocharset utf8 not found
[  612.598547]  CIFS VFS: cifs_mount failed w/return code = -79

To confirm it, you can try to find the nls_utf8.ko module:

ls /lib/modules/$(uname -r)/kernel/fs/nls/nls_utf8.ko

To fix, install a kernel witch contains this module, like linux-generic or linux-image-extra-virtual.

In my case (Ubuntu 14.04), the solution was:

apt install linux-generic
reboot

In newer Ubuntu versions, maybe you will need one of the linux-modules-extra kernel packages (tks @pxlinux). For example, if your current kernel is linux-generic:

apt install linux-modules-extra-$(uname -r)-generic
reboot

More info can be found at this answer at superuser and at this bug report at Launchpad.

3
  • Interesting... I have linux-generic installed and the nls_utf8.ko file exists, but I still get this error.
    – Hubro
    Commented Jul 31, 2015 at 23:19
  • Hi @Hubro, did you have any message like "CIFS VFS: CIFS mount error: iocharset utf8 not found" at your dmesg output? And what is the output of ls /lib/modules/$(uname -r)/kernel/fs/nls/nls_utf8.ko? Commented Aug 1, 2015 at 1:28
  • 1
    There was a typo, I had written "utf-8" rather than "utf8"
    – Hubro
    Commented Aug 1, 2015 at 1:57
13

When dmesg complains like this:

CIFS VFS: CIFS mount error: iocharset utf8 not found

Let me slightly update the information for Ubuntu 16.04

When the package below is not installed only NLS for ISO_8859-1 is present

ls /lib/modules/$(uname -r)/kernel/fs/nls/

after installation of the extra kernel modules by

sudo apt install linux-modules-extra-$(uname -r)

also the UTF-8 is there.

Thanks for the hint above!

2
  • 3
    Since I had the same issue on another kernel version, I did it that way : sudo apt install linux-modules-extra-$(uname -r)
    – MensSana
    Commented Feb 7, 2019 at 19:54
  • Thanx @menssana for good trick making it more generic!
    – pxlinux
    Commented Feb 8, 2019 at 20:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .