# Shared object "libintl.so.9" not found



## Anand Suresh (Dec 4, 2014)

Since the last upgrade for the port devel/gettext, I've been noticing this error pop up. Checking the system, I cannot find the file libintl.so.9. There is a libintl.so.8 which symlinks to libintl.so.8.1.2. The only references to libintl.so.9 that I find in my Chef logs is for the bash package which lists libintl.so.9 as a shared library dependency.

The result is that after the chef run breaks half-way (attempting to run `npm install` for a node package that has a dependency on python which in turn depends on libintl.so.9), I am unable to do much, since sudo and bash both have a dependency on libintl.so.9, and fail with: "Shared object "libintl.so.9" not found, required for [sudo|bash]".

```
-bash-4.3$ pkg which /usr/local/lib/libintl.so.9
/usr/local/lib/libintl.so.9 was installed by package gettext-runtime-0.19.3
-bash-4.3$ ls -laG /usr/local/lib/libintl.so.9
ls: /usr/local/lib/libintl.so.9: No such file or directory
```

Is there a known issue with the latest update to devel/gettext
Is there a workaround for this problem?
If it helps, I'm running FreeBSD 10.1-RELEASE with a custom kernel (dtrace-related patches).


----------



## wblock@ (Dec 5, 2014)

If you installed from binary packages, the 20141130 entry in /usr/ports/UPDATING might not be required.  For ports, it is.


----------



## Anand Suresh (Dec 5, 2014)

wblock@ said:


> If you installed from binary packages, the 20141130 entry in /usr/ports/UPDATING might not be required.  For ports, it is.



I did install from binary packages using pkg. I also checked the file you mentioned and there was no entry for 20141130.


----------



## ShelLuser (Dec 5, 2014)

Seems there was a problem with version 4.3.30 of the port. I could reproduce the problem on my laptop. And just when I was trying if a forced re-install would work did I notice an upgrade which fixed all this.

Right now version 4.3.30_1 is available and no more issues...


```
feliner:/home/peter $ uname -a
FreeBSD feliner.intranet.lan 10.0-RELEASE-p12 FreeBSD 10.0-RELEASE-p12 #6 r275474: Thu Dec  4 20:22:26 CET 2014     peter@feliner.intranet.lan:/usr/obj/usr/src/sys/FELINER  i386
feliner:/home/peter $ bash
[peter@feliner ~]$ pkg info -ix bash
bash-4.3.30_1
feliner:/usr/local/bin $ ldd bash
bash:
  libncurses.so.8 => /lib/libncurses.so.8 (0x28126000)
  libintl.so.8 => /usr/local/lib/libintl.so.8 (0x28162000)
  libc.so.7 => /lib/libc.so.7 (0x2816b000)
```


----------



## wblock@ (Dec 5, 2014)

When using packages, that file might not be updated.  It's possible this is a problem with the package.  Here is what I have from ports:

```
[cmd=%]ls -lh /usr/local/lib/libintl.so*[/cmd]
lrwxr-xr-x  1 root  wheel  16B Nov 29 18:41 /usr/local/lib/libintl.so -> libintl.so.8.1.2
lrwxr-xr-x  1 root  wheel  16B Nov 29 18:41 /usr/local/lib/libintl.so.8 -> libintl.so.8.1.2
-rw-r--r--  1 root  wheel  54K Nov 29 18:41 /usr/local/lib/libintl.so.8.1.2
lrwxr-xr-x  1 root  wheel  12B Nov 29 18:41 /usr/local/lib/libintl.so.9 -> libintl.so.8
```


----------



## ShelLuser (Dec 5, 2014)

And I also was a bit too hasty with my previous comment; the problem doesn't only involve the bash package but much more. Today I tried to upgrade vlc on my laptop (it runs on FreeBSD 10 and only uses binary packages) and well...


```
root@feliner:/home/peter # pkg upgrade vlc
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
Checking integrity... done (0 conflicting)
The following 1 packages will be affected (of 0 checked):

Installed packages to be UPGRADED:
        vlc: 2.1.5_10,4 -> 2.1.5_11,4

Proceed with this action? [y/N]: y
[1/1] Upgrading vlc from 2.1.5_10,4 to 2.1.5_11,4: 100%
Shared object "libintl.so.9" not found, required by "update-desktop-database"
```
Guess I got more sorting out to do this evening


----------



## robert1307 (Dec 5, 2014)

`sudo /etc/rc.d/ldconfig restart`
should resolve the issue with the "libintl.so.9 not found" error.


----------



## ondra_knezour (Dec 6, 2014)

After upgrading the package, I got only libintl.so.8.1.2 and libintl.so.8 files, second being a symbolic link to the first one.


----------



## ondra_knezour (Dec 6, 2014)

And when doing upgrade on second snapshot of the same virtual machine, I got exactly what wblock@ has by following an /usr/ports/UPGRADING entry
`# pkg delete -f gettext`
`# pkg upgrade`


----------



## karadaharu (Dec 6, 2014)

I got the same trouble and here is my temporary solution.


```
$ su
# ln -s /usr/local/lib/libintl.so.8 /usr/local/lib/libintl.so.9
# ln -s /usr/local/lib/libiconv.so.3 /usr/local/lib/libiconv.so.2
# ln -s /usr/lobal/lib/libxml2.so.5 /lib/libxml2.so.2
```


----------



## wblock@ (Dec 6, 2014)

karadaharu, please see http://forums.freebsd.org/threads/error-upgrading-kde4-from-4-7-4-8.32311/.  Manually symlinking libraries for missing versions causes mysterious failures sooner or later.


----------



## wimwauters (Dec 12, 2014)

OR you could simply wait a week (or less) for the next update of the packages: the problem above got resolved for me yesterday, after running `pkg update`, `pkg fetch -u` and `pkg upgrade`


----------



## netaccs (Feb 9, 2018)

I have same error about libintl.so.9: 
Shared object "" not found, required by "check_load"  (check_load is nagios plugin)
FreeBSD 9.3 upgraded to 11.1R p4.

```
ll -h /usr/local/lib/libintl.so*
lrwxr-xr-x  1 root  wheel    16B Jan  2 03:18 /usr/local/lib/libintl.so@ -> libintl.so.8.1.5
lrwxr-xr-x  1 root  wheel    16B Jan  2 03:18 /usr/local/lib/libintl.so.8@ -> libintl.so.8.1.5
-rw-r--r--  1 root  wheel    54K Jan  2 03:18 /usr/local/lib/libintl.so.8.1.5
```

Also running

```
/etc/rc.d/ldconfig restart
```


----------



## SirDice (Feb 9, 2018)

After a major version upgrade you must reinstall _all_ ports/packages.


----------



## netaccs (Feb 12, 2018)

Thanks


----------

