databases/mysql55-server, Error: shared library "mysqlclient.18" does not exist

L Campbell lcampbell at ironclad.mobi
Fri Jun 10 00:32:43 UTC 2011


On Thu, Jun 9, 2011 at 6:01 PM, Steven Hartland <killing at multiplay.co.uk> wrote:
> ----- Original Message ----- From: "L Campbell" <lcampbell at ironclad.mobi>
> To: <ale at freebsd.org>; <ports at freebsd.org>
> Sent: Thursday, June 09, 2011 7:32 PM
> Subject: databases/mysql55-server, Error: shared library "mysqlclient.18"
> does not exist
>
>
>> For some reason, I can't compile databases/mysql55-server on a fresh
>> install; it errors out with
>
> ...
>
> Works fine for me here Campbell, are you sure your ports are up to date
> properly?
>
> locate libmysql |grep -v ports
> /usr/local/lib/mysql/libmysqlclient.a
> /usr/local/lib/mysql/libmysqlclient.so
> /usr/local/lib/mysql/libmysqlclient.so.18
> /usr/local/lib/mysql/libmysqlclient_r.a
> /usr/local/lib/mysql/libmysqlclient_r.so
> /usr/local/lib/mysql/libmysqlclient_r.so.18
> /usr/local/lib/mysql/libmysqld.a
> /usr/local/lib/mysql/libmysqlservices.a
>

Nah, turns out it was a umask issue with ldconfig -- for some reason
my .cshrc on this jail has the non-righteous umask of 002, which means
any directories created are group-writable. Naturally, ldconfig
doesn't like this --

$ ldconfig /usr/local/lib /usr/local/lib/mysql
ldconfig: /usr/local/lib/mysql: ignoring group-writable directory

Changing the permissions to the appropriate 755

$ chmod 755 /usr/local/lib/mysql

Then re-indexing the ldconfig hints file

$ ldconfig -R /usr/local/lib/mysql

Makes libmysqlclient.so(.18) show up in ldconfig correctly:

$ ldconfig -r | grep mysql
	search directories: /usr/local/lib:/usr/local/lib/mysql
	83:-lmysqlclient.18 => /usr/local/lib/mysql/libmysqlclient.so.18
	84:-lmysqlclient_r.18 => /usr/local/lib/mysql/libmysqlclient_r.so.18

Sorry about the noise; user error as usual :D


More information about the freebsd-ports mailing list