Tôi có một chương trình thử nghiệm đơn giản mà khi tôi chạy tôi nhận được:libaio.so.1: không thể mở được chia sẻ tập tin đối tượng
./hello: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
tôi liên kết nó như thế này:
$(CC) $(CCFLAGS) -o hello hello.o -L../ocilib-3.9.3/src/.libs -L../instantclient_11_2 -locilib
LD_LIBRARY_PATH My chứa này:
LD_LIBRARY_PATH=../ocilib-3.9.3/src/.libs:../instantclient_11_2:/usr/lib
/usr/lib vẻ như thế này:
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
Sản lượng 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
Tôi hy vọng rằng tôi đang thiếu một cái gì đó đơn giản ở đây. Gói instantclient oracle xuất hiện để yêu cầu libaio, nhưng điều đó dường như đã được cài đặt rồi, vậy vấn đề là gì?
bài đầu ra của '$ ldd hello'. – trojanfoe
Dường như bạn cần phiên bản 64-bit của thư viện mà bạn không có. –