Monday, February 24, 2014

libaio.so.1 cannot open shared object file: No such file or directory - Ubuntu Percona MySQL Installation

While installing binary Percona MySQL in Ubuntu at first time we may get the below error.


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

/usr/local/mysql//bin/mysqld: error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory


Follow the steps to solve this,

1.Do "ldd" with mysql installation base directory.
 
#ldd /usr/local/mysql/bin/mysql

Output:

inux-vdso.so.1 => (0x00007fff83dff000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f20fb4e9000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f20fb1ef000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f20fafe6000)
libssl.so.6 => not found
libcrypto.so.6 => not found
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f20fade1000)
libncurses.so.5 => /lib/x86_64-linux-gnu/libncurses.so.5 (0x00007f20fabc0000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f20fa803000)
/lib64/ld-linux-x86-64.so.2 (0x00007f20fb70c000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f20fa5db000) 

2.Install the below packages,

# apt-get install libaio1 libaio-dev
# apt-get install libssl-dev

3.Link the files like below,

#ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /lib/x86_64-linux-gnu/libcrypto.so.6

#ln -s /lib/x86_64-linux-gnu/libssl.so.1.0.0 /lib/x86_64-linux-gnu/libssl.so.6

4.Now check ldd,

#ldd /usr/local/mysql/bin/mysql

Output:

 linux-vdso.so.1 =>  (0x00007fffbe9d6000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f37776ea000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f37773ee000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f37771e5000)
    libssl.so.6 => /lib/x86_64-linux-gnu/libssl.so.6 (0x00007f3776f87000)
    libcrypto.so.6 => /lib/x86_64-linux-gnu/libcrypto.so.6 (0x00007f3776bac000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f37769a7000)
    libncurses.so.5 => /lib/x86_64-linux-gnu/libncurses.so.5 (0x00007f3776786000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f37763c6000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f3777925000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f37761ae000)
    libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f3775f87000)

Now all files are there.


5.Now install MySQL.It will install fine with out throwing any errors.