Bug #58227 improve error message "aio is required on Linux"
Submitted: 16 Nov 2010 12:25 Modified: 12 Dec 2010 14:58
Reporter: Vladislav Vaintroub Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.5+ OS:Any
Assigned to: Sunanda Menon CPU Architecture:Any

[16 Nov 2010 12:25] Vladislav Vaintroub
Description:
When compiling 5.5 on Linux, they way releases are done
using cmake .. -DBUILD_CONFIG=mysql_release
,as documented  here http://forge.mysql.com/wiki/CMake and also described here
http://www.perkin.org.uk/blog/2010/11/how-to-build-mysql-releases/ 

the build fails
with 
CMake Error at cmake/build_configurations/mysql_release.cmake:123 (MESSAGE):
 aio is required on Linux

and does not give user any hint what to do with it.

How to repeat:
On any Linux installation, where libaio is not installed (and it is not installed by default)

mkdir bld
cd bld
cmake .. -DBUILD_CONFIG=mysql_release

Suggested fix:
Either issue only a warning, or give a good description how to fix the situation, e.g
"aio is required on Linux. To install : on Debian and derivates use 'apt-get
install <libname>', on Redhat and derivates use 'yum install <libname>', on Suse use 'zypper install <libname>"
[16 Nov 2010 12:31] Jonathan Perkin
Sunanda, could you take a look at this?

A warning is not appropriate, we need the build to fail as shipping a release with this feature missing is unacceptable, and we need to catch it early.  Instructions for Red Hat, Debian and SuSE should suffice (make sure that the commands are on their own line for easy cut-and-paste, and add some whitespace around so that it doesn't get lost in the cmake output noise).
[17 Nov 2010 12:03] Jonathan Perkin
For Ubuntu/Debian, the required packages are 'libaio1' and 'libaio-dev'.
[19 Nov 2010 9:36] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/124388

3130 Sunanda Menon	2010-11-19
      Bug #58227 	improve error message "aio is required on Linux"
[19 Nov 2010 11:47] Jonathan Perkin
Looks good, thanks!
[5 Dec 2010 12:36] Bugs System
Pushed into mysql-trunk 5.6.1 (revid:alexander.nozdrin@oracle.com-20101205122447-6x94l4fmslpbttxj) (version source revid:alexander.nozdrin@oracle.com-20101205122447-6x94l4fmslpbttxj) (merge vers: 5.6.1) (pib:23)
[12 Dec 2010 14:58] Paul DuBois
Noted in 5.5.8 changelog.

When configuring the build with -DBUILD_CONFIG=mysql_release on
Linux, libaio is required, but the error message if it was missing
was uninformative.
[16 Dec 2010 22:25] Bugs System
Pushed into mysql-5.5 5.5.9 (revid:jonathan.perkin@oracle.com-20101216101358-fyzr1epq95a3yett) (version source revid:jonathan.perkin@oracle.com-20101216101358-fyzr1epq95a3yett) (merge vers: 5.5.9) (pib:24)
[2 Mar 2011 12:33] Sebastian Tarach
I have installed libaio-dev on my Debian 6.0 but I still get that damn error/warning or whatever. Should I refresh something?
[3 Mar 2011 11:13] Daniel Fischer
You may have to remove existing CMake cache files, or start a fresh build in a fresh directory.