I have a simple test program that when I run I get:
./hello: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
I link it like this:
$(CC) $(CCFLAGS) -o hello hello.o -L../ocilib-3.9.3/src/.libs -L../instantclient_11_2 -locilib
My LD_LIBRARY_PATH contains this:
LD_LIBRARY_PATH=../ocilib-3.9.3/src/.libs:../instantclient_11_2:/usr/lib
/usr/lib looks like this:
Linux$ ls -l /usr/lib/libaio*
lrwxrwxrwx 1 root root 15 Nov 5 2008 /usr/lib/libaio.so.1 -> libaio.so.1.0.1
-rwxr-xr-x 1 root root 2632 Sep 16 2005 /usr/lib/libaio.so.1.0.0
-rwxr-xr-x 1 root root 2628 Sep 16 2005 /usr/lib/libaio.so.1.0.1
Output of ldd hello:
libocilib.so.3 => ../ocilib-3.9.3/src/.libs/libocilib.so.3 (0x0000002a95558000)
libc.so.6 => /lib64/tls/libc.so.6 (0x0000003811200000)
libclntsh.so.11.1 => ../instantclient_11_2/libclntsh.so.11.1 (0x0000002a956c4000)
/lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)
libnnz11.so => ../instantclient_11_2/libnnz11.so (0x0000002a97f56000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003811500000)
libm.so.6 => /lib64/tls/libm.so.6 (0x0000003811700000)
libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000003811b00000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003819000000)
libaio.so.1 => not found
I'm hoping that I'm missing something simple here. The oracle instantclient package appears to require libaio, but that seems to be installed already so what's the problem?
This question is related to
linux
oracle
oracle-call-interface
Install the packages:
sudo apt-get install libaio1 libaio-dev
or
sudo yum install libaio
Here on a openSuse 12.3 the solution was installing the 32-bit version of libaio in addition. Oracle seems to need this now, although on 12.1 it run without the 32-bit version.
I had to do the following (in Kubuntu 16.04.3):
sudo apt-get install libaio1 libaio-dev
sudo find / -iname 'libaio.a' -type f
--> resulted in /usr/lib/x86_64-linux-gnu/libaio.a
export LD_LIBRARY_PATH="/usr/lib/oracle/12.2/client64/lib:/usr/lib/x86_64-linux-gnu"
I had the same problem, and it turned out I hadn't installed the library.
this link was super usefull.
I'm having a similar issue.
I found
conda install pyodbc
is wrong!
when I use
apt-get install python-pyodbc
I solved this problem?
In case one does not have sudo privilege, but still needs to install the library.
Download source for the software/library using:
apt-get source libaio
or
wget https://src.fedoraproject.org/lookaside/pkgs/libaio/libaio-0.3.110.tar.gz/2a35602e43778383e2f4907a4ca39ab8/libaio-0.3.110.tar.gz
unzip the library
Install with the following command to user-specific library:
make prefix=`pwd`/usr install #(Copy from INSTALL file of libaio-0.3.110)
or
make prefix=/path/to/your/lib/libaio install
Include libaio library into LD_LIBRARY_PATH for your app:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/your/lib/libaio/lib
Now, your app should be able to find libaio.so.1
Source: Stackoverflow.com