8 de juny 2010

Verifying archive integrity...tail: no se puede abrir «+6», error checksum

http://caleidoscopio.netii.net/index.php/tuto/128-iusas-linux-de-64-bits-y-los-juegos-no-funcionan-aqui-la-solucion

El problema que surgía a la hora de correr el archivo con extensión .sh, .run o cualquier otro eran del tipo de los siguientes:

Al ingresar en la consola el comando, devolvía algo como lo siguiente:

view source
print?
1.sh setup.sh
2.setup.sh: 9: function: not foundx86_64

O en otros casos el error era del tipo:
view source
print?
1.This installation doesn't support glibc-2.1 on x86_64

O incluso:
view source
print?
1.Verifying archive integrity...tail: no se puede abrir «+6» para lectura: No existe el fichero ó directorio ...



* Para este tipo de errores:

Tenemos diversas formas de instalar un archivo .run. Una de las más difundidas es la de ingresar en el Terminal
view source
print?
1.sh setup.sh

Cuando la consola nos devuelve un error del tipo "Verifying archive integrity...tail: no se puede abrir «+6» para lectura: No existe el fichero ó directorio", podremos solucionarlo con un comando del tipo:
view source
print?
1.bash setup.sh

Al intercambiar sh por bash estamos utilizando otro shell de Linux, el cual puede dar resultados bastante efectivos.

sh y bash son diferentes intérpretes: bash es más reciente y tiene características sintácticas más nuevas. En este caso, en el sh faltaba una función incorporada que bash tiene.

En los casos en que el comando no nos funcione, y la consola nos siga entregando un error del tipo:
view source
print?
1.setup.sh: 9: function: not foundx86_64

O en otros casos el error era del tipo:
view source
print?
1.This installation doesn't support glibc-2.1 on x86_64

Entonces estamos en presencia de una aplicación que necesita de las librerías de 32bits para poder correr. La solución a esto es

1. Descargar del repositorio de nuestra distro las librerías de 32bits. El paquete se llama 'ia32-libs'
2. delante del comando bash que utilizamos antes, ingresamos linux32. Deberá quedar así:

view source
print?
1.linux32 bash setup.sh

* Y si aún así nos sigue dando problemas:

Ingresamos en la consola la siguiente línea:
view source
print?
1.export _POSIX2_VERSION=199209

Realmente no tengo idea de qué función cumple este último comando, pero es ampliamente utilizado para resolver problemas de este tipo, donde aplicaciones de 32bits no corren y con este comando vuelven a la vida.

Es cuestión de ir probando.

Por experiencia propia, se que funciona para el Unreal Tournament, Quake 3, Railroad Tycoon II, y Return to Castle Wolfenstein.