MySQL 5.5.11

DirectAdmin Support

Administrator
Staff member
Joined
Feb 27, 2003
Messages
9,158
Hello,

MySQL 5.5.11 has been released.
http://dev.mysql.com/doc/refman/5.5/en/news-5-5-11.html

There are a few issues with this in that they've changed the libmysqlclient.so.# version from 16 to 18. For most OSs this shouldn't be an issue, but on Debian 5 and 6, you may need to use this:
Code:
cd /usr/local/mysql/lib
ln -s libmysqlclient.so.18 libmysqlclient.so.16
ldconfig

To try and catch this error, I've added the following code to custombuild for Debian in the doMySQL section
Code:
		#mysql 5.5.11 changed to libmysqlclient.so.18 from libmysqlclient.so.16
		if [ "${MYSQL_OPT}" = "5.5" ] ; then
			if [ -e /usr/local/directadmin/directadmin ]; then
				COUNT=`ldd /usr/local/directadmin/directadmin | grep -c libmysqlclient.so.16`
				if [ "${COUNT}" -eq 1 ]; then
					if [ ! -e /usr/local/mysql/lib/libmysqlclient.so.16 ] && [ -e /usr/local/mysql/lib/libmysqlclient.so.18 ]; then
						echo "*** Linking libmysqlclient.so.16 to libmysqlclient.so.18";
						ln -s libmysqlclient.so.18 /usr/local/mysql/lib/libmysqlclient.so.16
						ldconfig
					fi
				fi
				COUNT=`ldd /usr/local/directadmin/directadmin | grep -c libmysqlclient.so.18`
				if [ "${COUNT}" -eq 1 ]; then
					if [ ! -e /usr/local/mysql/lib/libmysqlclient.so.18 ] && [ -e /usr/local/mysql/lib/libmysqlclient.so.16 ]; then
						echo "*** Linking libmysqlclient.so.18 to libmysqlclient.so.16";
						ln -s libmysqlclient.so.16 /usr/local/mysql/lib/libmysqlclient.so.18
						ldconfig
					fi
				fi
			fi
		fi
I don't usually like relying on libraries that DA wasn't compiled against, but we don't have much choice. For now, I'll continue to compile DA on Debian 5/6 with libmysqlclient.so.16. The code should handle both cases, in case DA is compiled with so.18, but you've still got mysql 5.5.9 or older.

I've also added code to the update.sh for that similar even, if DA is updated and the new DA is linked to so.18. This may not even get that far as the dataskq wouldn't even work to call the update.sh.

I've tested the above, and it does work, but the ride may get bumpy on Debian systems.

John
 
Updated through Custombuild (on Centos 5) and getting this error :

/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

Update :

Solved installing :

yum install libaio libaio-devel
 
Last edited:
On FreeBSD 7.3:

Code:
server# ./build mysql
./mysql-5.5.12.tar.gz                         100% of   22 MB  384 kBps 00m00s
--2011-05-11 11:00:15--  http://files.directadmin.com/services/all/mysql/mysql-5.5.12.tar.gz
Resolving files.directadmin.com... 72.35.85.222
Connecting to files.directadmin.com|72.35.85.222|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23681636 (23M) [application/x-gzip]
Saving to: `mysql-5.5.12.tar.gz'

100%[=====================================================================================================================================================================>] 23,681,636   384K/s   in 62s

2011-05-11 11:01:17 (373 KB/s) - `mysql-5.5.12.tar.gz' saved [23681636/23681636]

Extracting mysql-5.5.12.tar.gz ...
./build: ./configure: not found
Done. Making mysql-5.5.12...
Trying to make mysql-5.5.12...
make: no target to make.

*** The make has failed, do you want to try to make again? (y,n):
 
wow people use freebsd 7.3 still...thats sad.

Extract the tar yourself to see if it actually has a configure file.

Make sure you run:

./build update
./build clean
./build mysql d
./build php n
 
wow people use freebsd 7.3 still...thats sad.

Why exactly? On 32-bit systems you need to run FreeBSD 7.x since DirectAdmin doesn't support FreeBSD 8.x on 32-bit systems. FreeBSD 7.3 is still maintained until 2012-03-31 (latest patchlevel is p5 since 2011-04-20). There is only 1 newer version that users of DirectAdmin on 32-bit systems can run, which is FreeBSD 7.4. Because FreeBSD 7.3 is still maintained and there are no security issues with FreeBSD 7.3: there is absolutly no need to upgrade to FreeBSD 7.4. I think it's sad that you don't know what you're talking about and only want to have the newest OS version available (for whatever reason?): If it ain't broke, don't fix it!

Extract the tar yourself to see if it actually has a configure file.

Make sure you run:

./build update
./build clean
./build mysql d
./build php n

Offcourse I did this already! There is a config file in the dir. BTW: This problem also exists on *** NEW *** FreeBSD 7.4 servers...with the latest patches (p1). Hope your happy with that?
 
Last edited:
Hello,

Looks like they've changed "./configure" to "./configure.cmake". We'll have to update that in custombuild.

As a temporary workaround, edit the "build", find the function:
Code:
compile_mysql_binary()
in that function, there is a call to:
Code:
./configure
change it to be
Code:
./configure.cmake
, leaving the options after it where they are.

John
 
New error after custombuild-update on FreeBSD 7.x:

Code:
server# ./build mysql
./mysql-5.5.12.tar.gz                         100% of   22 MB  522 kBps 00m00s
--2011-05-13 11:54:04--  http://files.directadmin.com/services/all/mysql/mysql-5.5.12.tar.gz
Resolving files.directadmin.com... 72.35.85.222, 69.30.193.202, 72.35.77.7
Connecting to files.directadmin.com|72.35.85.222|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23681636 (23M) [application/x-gzip]
Saving to: `mysql-5.5.12.tar.gz'

100%[=====================================================================================================================================================================>] 23,681,636   411K/s   in 57s

2011-05-13 11:55:01 (408 KB/s) - `mysql-5.5.12.tar.gz' saved [23681636/23681636]

Extracting mysql-5.5.12.tar.gz ...
./build: ./configure.cmake: Permission denied
Done. Making mysql-5.5.12...
Trying to make mysql-5.5.12...
make: no target to make.

*** The make has failed, would you like to try to make again? (y,n):
 
Hello,

MySQL 5.5.11 has been released.
http://dev.mysql.com/doc/refman/5.5/en/news-5-5-11.html

There are a few issues with this in that they've changed the libmysqlclient.so.# version from 16 to 18. For most OSs this shouldn't be an issue, but on Debian 5 and 6, you may need to use this:
Code:
cd /usr/local/mysql/lib
ln -s libmysqlclient.so.18 libmysqlclient.so.16
ldconfig

To try and catch this error, I've added the following code to custombuild for Debian in the doMySQL section
Code:
		#mysql 5.5.11 changed to libmysqlclient.so.18 from libmysqlclient.so.16
		if [ "${MYSQL_OPT}" = "5.5" ] ; then
			if [ -e /usr/local/directadmin/directadmin ]; then
				COUNT=`ldd /usr/local/directadmin/directadmin | grep -c libmysqlclient.so.16`
				if [ "${COUNT}" -eq 1 ]; then
					if [ ! -e /usr/local/mysql/lib/libmysqlclient.so.16 ] && [ -e /usr/local/mysql/lib/libmysqlclient.so.18 ]; then
						echo "*** Linking libmysqlclient.so.16 to libmysqlclient.so.18";
						ln -s libmysqlclient.so.18 /usr/local/mysql/lib/libmysqlclient.so.16
						ldconfig
					fi
				fi
				COUNT=`ldd /usr/local/directadmin/directadmin | grep -c libmysqlclient.so.18`
				if [ "${COUNT}" -eq 1 ]; then
					if [ ! -e /usr/local/mysql/lib/libmysqlclient.so.18 ] && [ -e /usr/local/mysql/lib/libmysqlclient.so.16 ]; then
						echo "*** Linking libmysqlclient.so.18 to libmysqlclient.so.16";
						ln -s libmysqlclient.so.16 /usr/local/mysql/lib/libmysqlclient.so.18
						ldconfig
					fi
				fi
			fi
		fi
I don't usually like relying on libraries that DA wasn't compiled against, but we don't have much choice. For now, I'll continue to compile DA on Debian 5/6 with libmysqlclient.so.16. The code should handle both cases, in case DA is compiled with so.18, but you've still got mysql 5.5.9 or older.

I've also added code to the update.sh for that similar even, if DA is updated and the new DA is linked to so.18. This may not even get that far as the dataskq wouldn't even work to call the update.sh.

I've tested the above, and it does work, but the ride may get bumpy on Debian systems.

John

John, I'm not sure I'm understanding what exactly is going on with the whole libmysqlclient.so mess. The last two times I've used custombuild to update mysql (including just 5 minutes ago), the upgrade process has put libmysqlclient.so in a broken state. It seems to be deleting the actual libmysqlclient.so.16 file and replacing it with a symlink to libmysqlclient.so.18. However, this does not work, and if I delete that symlink and copy the actual libmysqlclient.so.16 file back to /usr/local/mysql/lib then it starts working again (at least seemingly so).

Can you elaborate any on why this might be? I thought custombuild had been updated to fix this issue. I don't want to be putting my system at risk of other issues by manually changing library files and such, so any info you can give would be appreciated. I'm running Debian 6.0.1 x64.
 
Back
Top