gqjjqg has asked for the wisdom of the Perl Monks concerning the following question:

My english so poor, i'm so helpless.... When I cross compile the Perl source(5.10.1) in linux. I followed the README . But the last step: make perl, I got the info :
….. universal.c: In function 'XS_Tie_Hash_NamedCapture_STORE': universal.c:1392:5: warning: unused variable 'Perl___notused' universal.c: In function 'XS_Tie_Hash_NamedCapture_DELETE': universal.c:1417:5: warning: unused variable 'Perl___notused' universal.c: In function 'XS_Tie_Hash_NamedCapture_CLEAR': universal.c:1436:5: warning: unused variable 'Perl___notused' universal.c: In function 'XS_Tie_Hash_NamedCapture_EXISTS': universal.c:1457:5: warning: unused variable 'Perl___notused' universal.c: In function 'XS_Tie_Hash_NamedCapture_FIRSTK': universal.c:1485:5: warning: unused variable 'Perl___notused' universal.c: In function 'XS_Tie_Hash_NamedCapture_NEXTK': universal.c:1517:5: warning: unused variable 'Perl___notused' universal.c: In function 'XS_Tie_Hash_NamedCapture_SCALAR': universal.c:1548:5: warning: unused variable 'Perl___notused' universal.c: In function 'XS_Tie_Hash_NamedCapture_flags': universal.c:1580:5: warning: unused variable 'Perl___notused' ./generate_uudmap uudmap.h bitcount.h ./generate_uudmap: 1: Syntax error: word unexpected (expecting ")") make[1]: *** [bitcount.h] Error 2 make[1]: Leaving directory `/tmp/perl-5.12.3' make: *** [perl] Error 2
how to solve this problem? Help me, thx.

Replies are listed 'Best First'.
Re: perl in arm-linux cross compile failure!
by Anonymous Monk on Apr 14, 2011 at 03:59 UTC
    Why did you use 5.10.1? Why not the current Perl - 5.12.3? If you're brave enough - the git version? :)

    That error looks like something got screwed up in the compile/configure process, can you tell us the commands you used before typing "make perl" ?

    Hope you resolve this!
      config file
      ### Target Arch ARCH = arm #ARCH = i386-pc #ARCH = sh4 #ARCH = mips #ARCH = mipsel #ARCH = ppc ## Specific arm #CONFIG_TARGET_ARM_SA11X0 = 1 #CONFIG_TARGET_ARM_XSCALE = 1 ### Target OS OS = linux #OS = solaris2.8
      readme file :
      You need a working and tested cross-compiler for your build and target combination. The binary directory must be in your path. 1) You should be reading me (README) in perl-5.x.y/Cross 2) Make sure you are in the Cross directory. 3) Edit the file 'config' to contain your target platform informa +tion. 4) make patch ## This will patch the existing source-tree. 5) make perl ## Will make perl
      so , before "make perl", I use "make patch" but the terminal show this info :
      root@guo-qijiang-desktop:/tmp/perl-5.10.1/Cross# make patch cd .. ; if [ ! -e ./CROSS_PATCHED ] ; then \ patch -p1 < Cross/Makefile.SH.patch; \ patch -p1 < Cross/installperl.patch ; mv installperl installpe +rl-patched; \ sed -e 's/XXSTRIPXX/arm-linux/' installperl-patched > installp +erl; \ touch CROSS_PATCHED ; fi root@guo-qijiang-desktop:/tmp/perl-5.10.1/Cross#
      I really don't know what happened then. please help me, thank you.
      I'm so sorry . I found that command "patch" is not in my system. - -! this time , i install the "patch 2.6 ". but, when i use "make patch " the terminal show this:
      root@guo-qijiang-desktop:/tmp/perl-5.10.1/Cross# make patch cd .. ; if [ ! -e ./CROSS_PATCHED ] ; then \ patch -p1 < Cross/Makefile.SH.patch; \ patch -p1 < Cross/installperl.patch ; mv installperl installpe +rl-patched; \ sed -e 's/XXSTRIPXX/arm-linux/' installperl-patched > installp +erl; \ touch CROSS_PATCHED ; fi patching file Makefile.SH Hunk #1 succeeded at 160 (offset 31 lines). Hunk #2 FAILED at 378. Hunk #3 succeeded at 548 with fuzz 2 (offset 158 lines). Hunk #4 FAILED at 568. Hunk #5 FAILED at 576. Hunk #6 succeeded at 973 with fuzz 1 (offset 230 lines). Hunk #7 FAILED at 752. Hunk #8 FAILED at 826. Hunk #9 FAILED at 939. Hunk #10 succeeded at 1347 (offset 257 lines). Hunk #11 succeeded at 1461 with fuzz 2 (offset 258 lines). 6 out of 11 hunks FAILED -- saving rejects to file Makefile.SH.rej patching file installperl Hunk #1 FAILED at 3. Hunk #2 succeeded at 881 with fuzz 2 (offset -65 lines). 1 out of 2 hunks FAILED -- saving rejects to file installperl.rej