Red de conocimiento informático - Material del sitio web - Cómo realizar una compilación cruzada de Perl

Cómo realizar una compilación cruzada de Perl

Primero descargue el código fuente de Perl: /projects/perlcross.berlios/files/, versión de descarga: perl-5.10.0-cross-0.3.tar.gz

Copie cada archivo Extraer al mismo directorio respectivamente;

1

Instalar perlbrew en ubuntu: ?Instalar perlbrew en ubuntu: ?sudo apt-get install perlbrew

perlbrew init

fuente ~/perl5/perlbrew/etc/bashrc

perlbrew instala perl-5.10.1

2

3

4

5

Espere a que se complete la instalación de perlbrew;

2

3

1

Fusiona los dos directorios descomprimidos en uno. Vaya al directorio Cross de perl-5.10.1: cp -rfv perl-5.10.0/* ?perl-5.10.1/

cd perl-5.10.1/Cross

2

1

El archivo es el siguiente, preste atención al contenido del asterisco: ### Target Arch

** ARCH = arm **

#ARCH = i386-pc

#ARCH = sh4

#ARCH = mips

#ARCH = mipsel

#ARCH = ppc

#### Brazo específico

2

1

Tenga en cuenta el asterisco.

Brazo específico

***#CONFIG_TARGET_ARM_SA11X0 = 1**

#CONFIG_TARGET_ARM_XSCALE = 1

#### Sistema operativo de destino

***OS = linux**

#OS = solaris2.8

1

Modificar el archivo de configuración de perl gedit Cross/config ## o vi gedit Cruz/config

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

La fuente en negrita de arriba indica que se ha notado o modificado;

Directorio actual modificado (directorio cruzado):

Primero cambie los permisos del contenido del directorio:

chmod 777 /Cross/*

Contenido del archivo Makefile modificado: exportar TOPDIR =${shell pwd}

incluir $ (TOPDIR)/config

exportar CFLAGS

** export SYS=arm-linux **

** exportar CROSS=/stuff/bitbake/bin/tmp/sysroots/i686-linux/ usr/armv7a/bin/arm-angstrom-linux-gnueabi- **

** exportar LD_LIBRARY =/stuff/bitbake/bin/tmp/sysroots/i686-linux/usr/lib:$(LD_ LIBRARY_PATH) **

export FULL_OPTIMIZATION = -fexpensive-optimizations -fomit-frame-pointer -O2

export OPTIMIZATION = -O2

export CC = arm-angstrom-linux-gnueabi-gcc

export CXX = arm-angstrom-linux-gnueabi-g++

export LD = arm-angstrom-linux-gnueabi-g++

export LD = arm-angstrom-linux-gnueabi-ld

export STRIP = arm- angstrom -linux-gnueabi-strip

export AR = arm-angstrom-linux-gnueabi-ar

export RANLIB = arm-angstrom -linux-gnueabi-ranlib

12345678910111213141516

make CC=arm-angstrom-linux-gnueabi-gcc ARCH=arm patch

make CC=arm-angstrom-linux-gnueabi-gcc ARCH=arm perl< / p>

Se producirá un error durante la compilación, pero no importa, generará un archivo ejecutable de Perl en el directorio raíz;