microsoft instant instalar for descargar cliente 12c 10g linux oracle oci

linux - instant - oracle client basic



libaio.so.1: no se puede abrir el archivo de objeto compartido (6)

Aquí en un openSuse 12.3 la solución fue instalar la versión de 32 bits de libaio además. Oracle parece necesitar esto ahora, aunque en 12.1 se ejecuta sin la versión de 32 bits.

Tengo un programa de prueba simple que cuando corro obtengo:

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

Lo enlace así:

$(CC) $(CCFLAGS) -o hello hello.o -L../ocilib-3.9.3/src/.libs -L../instantclient_11_2 -locilib

Mi LD_LIBRARY_PATH contiene esto:

LD_LIBRARY_PATH=../ocilib-3.9.3/src/.libs:../instantclient_11_2:/usr/lib

/ usr / lib se ve así:

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

Salida de ldd hola:

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

Espero que me esté perdiendo algo simple aquí. El paquete de Oracle instantclient parece requerir libaio, pero parece que ya está instalado, entonces, ¿cuál es el problema?


Escriba lo siguiente:

sudo apt-get install libaio1 libaio-dev

o

sudo yum install libaio


Estoy teniendo un problema similar.

encontré

conda instalar pyodbc

¡Está Mal!

cuando uso

apt-get install python-pyodbc

Resolví este problema.


Parece una discrepancia de 32/64 bits. El resultado de ldd muestra que se eligen principalmente bibliotecas de /lib64 . Eso indicaría que ha instalado una versión de 64 bits del cliente Oracle y ha creado un ejecutable de 64 bits. Pero libaio.so es probablemente una biblioteca de 32 bits y no se puede usar para su aplicación.

Entonces, o necesitas una versión de 64 bits de libaio o creas una versión de 32 bits de tu aplicación.


Tenía que hacer lo siguiente (en Kubuntu 16.04.3):

  1. Instale las bibliotecas: sudo apt-get install libaio1 libaio-dev
  2. Encuentre dónde está instalada la biblioteca: sudo find / -iname ''libaio.a'' -type f -> dio como resultado /usr/lib/x86_64-linux-gnu/libaio.a
  3. Agregar resultado a la variable de entorno: export LD_LIBRARY_PATH="/usr/lib/oracle/12.2/client64/lib:/usr/lib/x86_64-linux-gnu"