2012-07-25 9 views
5

Me gustaría poder instalar varias versiones de Perl pero también necesito tenerlas por arquitectura.Usando perlbrew ¿es posible hacer múltiples instalaciones por arquitectura?

Sé que puedo usar perlbrew para obtener instalaciones por versión: 5.10.1, 5.12.3, 5.16.0, etc. No pude encontrar la manera de tener también instalaciones por arquitectura, Solaris-sparc, Solaris -x86, Linux-i686, x86_64-Linux, etc.

haciendo un hand install puedo hacer esto

no es gran cosa, pero haciendo la mano instala perlbrew hace algunas cosas más fáciles en materia de gestión y tal.

EDIT: Como he mencionado en los comentarios, estoy usando un directorio de inicio común montado en NFS a través de varias plataformas.

+0

¿Qué estás tratando de hacer? Instale la versión de solaris-sparc en linux-x86_64? ¿Cómo te ayuda eso? –

+0

Tengo un directorio de inicio común montado a través de NFS. Cuando inicio sesión en un host Solaris obtengo 'perl: No se puede encontrar/lib64/ld-linux-x86-64.so.2'. Como Hobbs sugirió, puedo usar '--as' para crear un nombre para eso y hacer que mi configuración de shell cambie al Perl apropiado cuando entre en un host. –

Respuesta

4

Usted puede utilizar la opción --as a perlbrew install para dar una instale un nombre diferente (para evitar choques con la misma versión), y se puede pasar cualquier Configure-D, -U o -A opciones para perlbrew y pasará a través de . Pero tampoco veo cómo un perl para un arco diferente es útil en el contexto de perlbrew.

Aquí es un ejemplo de la instalación de Perl de 32 bits en una máquina de 64 bits real utilizando perlbrew:

perlbrew install perl-5.8.8 --as perl-5.8.8-i386-linux-thread-multi -Dcc='cc -m32' -Dplibpth='/lib64 /usr/lib64 /usr/lib/ /usr/lib/x86_64-linux-gnu/' -Darchname=i386-linux-thread-multi -Dusethreads 

Banderas pasados ​​a través de Configure-D variará en función de medio ambiente y necesidades específicas.

+0

Mi máquina principal es Linux x86_64 bit. Sin embargo, también trabajo con hosts Solaris. Cuando los veo, obtengo: 'perl: No puedo encontrar/lib64/ld-linux-x86-64.so.2'. Por lo que puedo decir es porque mi instalación predeterminada de Perl fue compilada en Linux. Gracias por la información, voy a darle un giro. –

+0

Instale la versión de Solaris desde Solaris y la versión de Linux desde Linux. Esto probablemente será menos doloroso que la compilación cruzada. Y deberá asegurarse de cambiar a la versión de Perl que admita su plataforma. –

+0

Una cosa más: los módulos no se compartirán en diferentes plataformas ya que las diferentes versiones usan directorios de lib diferentes. Los módulos de Pure Perl pueden ser compartibles, pero cualquier cosa que necesite compilación (XS, Swig, Inline :: C *) no funcionará en todas las plataformas. –

Cuestiones relacionadas