Como tengo que instalar múltiples versiones de Python en múltiples servidores Oracle Linux que están construidos a través de un proceso kickstart, quería construir un rpm python para nuestro repositorio de yum. Pude construir Python manualmente usando 'make altinstall' que no se instala sobre la instalación predeterminada de Python del sistema, así que pensé que ese sería el camino a seguir.Python RPM que construí no instalará
Después de mucho ensayo y error, logró construir un rpm a partir de un paquete de 2,7 .bz2 pitón - pero ahora cuando intento instalarlo, me sale un error:
error: Failed dependencies:
/usr/local/bin/python is needed by Python-2.7.2-1.i386
Lo que el .. ¿??? ¡Python es lo que intento instalar! Y el sistema por defecto Python (2.4) está en/usr/bin/python !!! Y mi ubicación de creación de prototipos para el directorio de python es /tmp/python2.7 (y el ejecutable fue /tmp/python2.7/bin/python2.7). Entonces, ¿por qué está buscando en/usr/local/bin?
Aquí es el centro de mi SPEC RPM:
%prep
%setup -q
%build
./configure --prefix=/tmp/python2.7
make
%install
make altinstall
echo un vistazo más de cerca el registro rpm acumulación y veo:
Requires: /bin/sh /tmp/python2.7/bin/python2.7 /usr/bin/env /usr/local/bin/python libc.so.6 libc.so.6(GLIBC_2.0)...[a lot more...]
Ok, por lo que hay que/usr/local/bin entra ... Ahora, la pregunta es, ¿cómo está determinando estos requisitos? ¿Especifiqué algo mal? ¿Debo anular algo?
Como muchos novatos de rpm, obtengo la parte de compilación, pero realmente no "grok" lo que sucede al final de rpmbuild y lo que realmente se pone en el archivo rpm (aparte de los archivos que especifique en% files) y luego lo que sucede realmente cuando haces la instalación de rpm.
¿Alguien puede sugerir por qué mi instalación está fallando o lo que podría leer para entender por qué mi generación de rpm requiere lo que intento construir?
Suena prometedor - Lo intentaré ... – Ilane
>>> print "¡Gracias, F.J !!!" Gracias, F.J !!! – Ilane
No desea desactivar el procesamiento de dependencia en este caso. Esto puede romper el paquete de Python porque RPM no sabrá de qué archivos depende el paquete. Lo correcto es parchar el archivo que contiene la línea de shebang errónea. – jayhendren