problemas de dependencias con libssl.so.0 y libcrypto.so.0

Imagen de kannabiskn

Forums: 

Saludos,

Estoy intentando instalar el gnusim8085 en mandriva 2007.1 pero tengo un problema d dependencias... leyendo por ahi encontre que tenia que hacer accesos a las dependencias de esta manera

ln -s libssl.so.0.9.8 libssl.so.0 Porque si tengo esas librerias pero cambia un poquito el nombre....

y ademas modifique el

/etc/ld.so.conf

actualise con ldconfig

pero aun me sale

libcrypto.so.0 is needed by GNUSim8085-1.2.8-1.i686
libssl.so.0 is needed by GNUSim8085-1.2.8-1.i686

Que mas puedo hacer

De lo que usted menciona,

Imagen de a_villacis

De lo que usted menciona, con el mensaje que sale, deduzco que usted intenta instalar el programa via rpm. Específicamente el GNUSim8085-1.2.8-1.i686.rpm .

Lo que ocurre es que la utilidad rpm NO se basa en el sistema de archivos para resolver las dependencias al momento de instalar un paquete. En su lugar, cada paquete que ha sido instalado en el sistema reporta una lista de las "capacidades" que proporciona, así como de las capacidades que requiere. Las "capacidades" son cadenas de texto arbitrarias, opcionalmente con una versión asociada, pero usualmente representan nombres de archivo o de paquetes completos. Por ejemplo, el paquete openssl instalado en Fedora 7 reporta lo siguiente:


[alex@srv64 ~]$ rpm -q --provides openssl
config(openssl) = 0.9.8b-14.fc7
lib4758cca.so
libaep.so
libatalla.so
libchil.so
libcrypto.so.6
libcswift.so
libgmp.so
libnuron.so
libssl.so.6
libsureware.so
libubsec.so
openssl = 0.9.8b-14.fc7
[alex@srv64 ~]$ rpm -q --requires openssl
/bin/sh
/sbin/ldconfig
/sbin/ldconfig
config(openssl) = 0.9.8b-14.fc7
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libc.so.6(GLIBC_2.1.3)
libc.so.6(GLIBC_2.3)
libc.so.6(GLIBC_2.3.4)
libc.so.6(GLIBC_2.4)
libcom_err.so.2
libcrypto.so.6
libdl.so.2
libdl.so.2(GLIBC_2.0)
libdl.so.2(GLIBC_2.1)
libgssapi_krb5.so.2
libk5crypto.so.3
libk5crypto.so.3(k5crypto_3_MIT)
libkrb5.so.3
libkrb5.so.3(krb5_3_MIT)
libresolv.so.2
libssl.so.6
libz.so.1
mktemp
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
[alex@srv64 ~]$

El construir enlaces simbólicos no tiene efecto alguno en satisfacer las dependencias para un paquete RPM ya compilado, e incluso si lo tuviera, es peligroso porque las distintas versiones del paquete dependiente, de la arquitectura (32 versus 64 bits, por ejemplo), o incluso del compilador, pueden causar caídas al momento de ejecutar el paquete que ha sido forzado a instalarse. Esto es precisamente lo que rpm intenta impedir al mostrar el error de dependencias.

Todos estos problemas pueden evitarse si usted instala desde fuentes el programa. Para esto, usted requiere descargar la versión de código fuente del programa, y además tener las herramientas de desarrollo instaladas (el compilador gcc, la utilidad make), así como los paquetes de desarrollo que correspondan a las bibliotecas que usa el programa. Por ejemplo, su problema implica dependencia en openssl, pero para construir programas que usan openssl, se requiere instalar además el rpm de openssl-devel.

Antes que nada, remueva los enlaces que fueron creados para la situación indicada anteriormente, ya que podrían interferir en el caso de que un paquete rpm posterior sí provea los archivos que se intentó simular vía enlaces.

Luego de descargar el tar.gz de las fuentes, se debe de descomprimir, y verificar si existe un archivo "configure" en el directorio primario. Si así es, se puede hacer lo siguiente:

./configure
make
make install (como root)

Preste atención a la salida de la ejecución de configure. Si se requieren paquetes adicionales (ademas del que indiqué de openssl-devel), las dependencias serán mostradas como librerías faltantes por la salida de configure.

Por si acaso, gnusim8085 ya anda por la versión 1.3, así que es mejor que se baje la versión actualizada.

perl -e '$x = 2.4; print sprintf("%.0f + %.0f = %.0f\n", $x, $x, $x + $x);'

perl -e '$x = 2.4; print sprintf("%.0f + %.0f = %.0f\n", $x, $x, $x + $x);'