SW 개발

[Arm Linux] active perl 을 크로스 컴파일하기

. . . 2013. 7. 18. 15:25
반응형

크로스 컴파일용 소스받기

정식 홈페이지http://www.perl.org/에서 perl 소스를 안된다.. http://perlcross.berlios.de/index.html 를 받는다.

크로스 컴파일용 소스코드 받기

일단 위의 perl 의 소스들을 버젼별로 크로스 컴파일을 하기위해 여러가지 시도를 하였다.

  • 결론은 안된다 ㅡㅡ;

원본 perl 의경우 config 과정에서 target board 에 ssh 에 접속을하고 make 과정에서 library를 빌드하기위해 크로스컴파일된 perl 을 이용한다. 타겟보드에 ssh 가 안되면 잉? config 도 안된단말인가?!!?!!?!?!?!!?!?

arm 용으로 컴파일된 perl 을 x86 pc 에서 실행시키려고 하니 안될수 밖에;;; 뭔가 config 설정이 잘못됐나 싶어서 이것저것 시도해봤지만 안됨.. 좀더 구글링을 해보니 cross compile 용 perl 프로젝트가 있었다;

위의 사이트에가면 크로스컴파일용으로 된 perl 소스를 구할수있다.

크로스 컴파일과정은 다음과같다.

크로스 컴파일하기

1. cross compile 용 perl 소스 다운받기

2. 원본 perl 소스받기

위에서 받은 cross compile 용 perl 버젼과 동일한 원본 perl 소스를 받는다.

  • perl 공식 홈페이지 : http://www.cpan.org/src/
    • 각 버젼별로 perl 소스를 구할 수 있다.
    • perl-5.16.3 버젼용 크로스 컴파일을 받았으니, 5.16.3 을 받는다.

3. 코드 압축풀기

  1. 원본 perl 소스 (perl-5.16.3.tar.gz)를 압축푼다.
  2. 그 위에... 크로스컴파일용 perl 소스(perl-5.16.3-cross-0.7.4.tar.gz) 를 덮어씌운다.

4. 컴파일하기

위의 사이트에가면 컴파일과정이 자세히 나와있다. 해당내용을 바탕으로 작성한다.

크로스 컴파일준비

configure 명령어를 통해 환경설정

mkdir output_bin
./configure --prefix=${PWD}/output_bin --target=arm-linux --target-tools-prefix=arm-linux-

크로스 컴파일

컴파일

make
make DESTDIR=./output_bin install

생각보다 쉽게 컴파일 완료 ㅋㅋ

덧붙임...

configure 시에 prefix 는 크로스 컴파일된 프로그램 실행시에 참조하는 경로이다. (해당 --prefix 옵션을 빼고 빌드하는게 나을듯;;;)

--prefix=/usr/lib/perl 명령어로 빌드했더니...


Built under linux
Compiled at Jul 18 2013 16:13:47
@INC:
   /usr/lib/perl/lib/perl5/site_perl/5.16.3/arm-linux
   /usr/lib/perl/lib/perl5/site_perl/5.16.3
   /usr/lib/perl/lib/perl5/5.16.3/arm-linux
   /usr/lib/perl/lib/perl5

위와같이 나온다..

반응형