# Shared object "libintl.so.9" not found, required by "bash"



## bojinov (Oct 5, 2011)

Hello,

I m facing a strange problem over here. Hope you can help sorting it out.
Here it goes:


```
[root@XXXXX /usr/local/etc/rc.d]# ./mysql-server start
Starting mysql.
/libexec/ld-elf.so.1: Shared object "libintl.so.9" not found, required by "bash"
./mysql-server: WARNING: failed to start mysql
```

Same goes for the squid rc script.
I re-installed gettext, libiconv and bash (in that order) and now get no dep issues with bash, but I still can not start the RC scripts.


```
ldd /usr/local/bin/bash
/usr/local/bin/bash:
        libncurses.so.8 => /lib/libncurses.so.8 (0x8006e7000)
        libintl.so.9 => /usr/local/lib/libintl.so.9 (0x800834000)
        libiconv.so.3 => /usr/lib/libiconv.so.3 (0x80093d000)
        libc.so.7 => /lib/libc.so.7 (0x800b38000)
```


```
locate libintl.so.9
/s/usr-local/lib/libintl.so.9
```

I should mention that this is jailed installation running freebsd 8.2 AMD64
The host OS is fine.

I tried copying the libintl.so.9 and libiconv.so.3 to the /lib/ folder of the jail. (just for the test) Then I get no errors, but the RC scripts will fail with no reason.


----------



## SirDice (Oct 5, 2011)

Your devel/gettext is out of sync. Try rebuilding bash.

It also appears you have replaced /bin/sh with bash, or changed root's shell to bash, bad idea, really bad idea.


----------



## bojinov (Oct 5, 2011)

Hi,

Thanx for replying.

I have rebuilt bash. That fixed the problem partially as I mentioned
Meaning that I could now start bash. But when I try to run the RC script it still fails

Do not get what does out of sync mean ? 
I updated gettext by mistake and that is when it all started.

As for the default shell ... not sure. I ll check, but I haven't set anything. I just execute bash with jexec (jexec 1 bash)


----------



## bojinov (Oct 5, 2011)

I switched default shell to tcsh and RC scripts will not start somewhat properly.
No missing lib error, but still fail.
How do I rebuild all ports that depend on gettext ?


----------



## SirDice (Oct 5, 2011)

bojinov said:
			
		

> Do not get what does out of sync mean ?


It means bash was build with a different version of gettext, they are out of sync.



			
				bojinov said:
			
		

> How do I rebuild all ports that depend on gettext ?


If you have ports-mgmt/portmaster installed:
`# portmaster -r devel/gettext`

ports-mgmt/portupgrade has a similar option.


----------



## bojinov (Oct 5, 2011)

I use portupgrade. Can you provide the parameters for it ? just for future reference
portmaster will have to do.
Cheers


----------



## SirDice (Oct 5, 2011)

I would suggest reading portupgrade(1).


----------



## DutchDaemon (Oct 5, 2011)

And read /usr/ports/UPDATING before you upgrade anything. There have been quite a number of gettext warnings in there.


----------



## SirDice (Oct 5, 2011)

Ah, yes. Updating gettext can be a real pain. A lot of ports depend on it and those seem to break really easy, even with a relatively minor update to gettext.


----------



## Carpetsmoker (Oct 6, 2011)

Plus, many ports link against gettext seemingly at random, even if you don't need it or if you explicitly disabled it. This is usually some form of autotools failure.

My solution: don't update gettext. Only update it with system upgrades (7->8->9, etc).


----------



## SirDice (Oct 6, 2011)

Since I build all my packages myself in a clean jail I never had any issues with updating. I simply pkg_delete everything and reinstall the packages I need.


----------

