Estoy intentando compilar uno de los proyectos que se encuentran aquí Adaptador de interfaz USB-I2C/SPI/GPIO.No se puede abrir el archivo de objeto compartido
He descargado el paquete i2c_bridge-0.0.1-rc2.tgz
. Instalé libusb
y eso pareció ir bien sin problemas. Voy al directorio i2c_bridge-0.0.1-rc2/
y hago. Eso compila. Me muevo a la carpeta i2c_bridge-0.0.1-rc2/i2c
y hago. Compila y me da ./i2c
. Sin embargo, cuando lo ejecuto, dice error while loading shared libraries: libi2cbrdg.so: cannot open shared object file: No such file or directory
El archivo MAKE en i2c_bridge-0.0.1-rc2/i2c
tiene el directorio de la biblioteca como ../
. El libi2cbrdg.so
se encuentra en este directorio (i2c_bridge-0.0.1-rc2
). También copié el archivo al /usr/local/lib
. Un ls
del directorio i2c_bridge-0.0.1-rc2/
es
i2c i2cbrdg.d i2cbrdg.o libi2cbrdg.a Makefile tests
i2cbrdg.c i2cbrdg.h INSTALL libi2cbrdg.so README u2c4all.sh
(Eso i2c
es un directorio)
Si sudo ./i2c
, todavía me da el problema.
Tuve que quitarme las opciones -Werror
y -noWdecrepated
(¿deletreo?) En todos los archivos MAKE para que compilen, pero eso no debería afectar esto ¿o sí?
¿Qué más es necesario para encontrar el archivo .so
? Si alguien puede ayudarme a descubrir qué está mal, estaría muy agradecido. Si se necesita más información, puedo publicarlo.
¿LD_LIBRARY_PATH para todas mis bibliotecas? Entonces, si hago ese comando, ¿arruinará otras cosas hasta que lo cambie? ¿Cómo veo lo que está configurado ahora? – Sterling
Es una variable de entorno. Por lo tanto, puede verificarlo a través de "echo $ LD_LIBRARY_PATH" y, la forma en que se establece en la línea de comandos, es local para el proceso i2c y sus subprocesos. – thiton
No es mi pregunta, pero gracias a esto ayudó a resolver mi problema exacto – Rich