problem in Cross compile !!!!
Hello,
I have been trying to cross compile Perl for an ARM-Linux for few days but without result:
I have an ssh working connection between my Intel-Linux host and my
Arm-Linux device. I'm calling Configure as the following:
sh ./Configure -des -Dusecrosscompile \
-Dtargethost=192.167.2.4 \
-Dtargetdir=/cross/bin \
-Dtargetuser=root
-Dtargetarch=arm-linux \
-Dcc=/opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu-gcc \
-Dincpth=/opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/include \
-Dusrinc=/opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/include \
-Dlibpth=/opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/lib
Then I make: make (inside the perl-5.10.0 directory ).
I'm not getting an executable miniperl after calling make inside the
Perl directory, but the follow message:
* makefile:646: target `lib/auto/Encode/Byte/Byte.a' given more
than once in the same rule.
* makefile:646: target `lib/auto/Encode/CN/CN.a' given more than
once in the same rule.
* makefile:646: target `lib/auto/Encode/EBCDIC/EBCDIC.a' given
more than once in the same rule.
* makefile:646: target `lib/auto/Encode/JP/JP.a' given more than
once in the same rule.
* makefile:646: target `lib/auto/Encode/KR/KR.a' given more than
once in the same rule.
* makefile:646: target `lib/auto/Encode/Symbol/Symbol.a' given
more than once in the same rule.
* makefile:646: target `lib/auto/Encode/TW/TW.a' given more than
once in the same rule.
* makefile:646: target `lib/auto/Encode/Unicode/Unicode.a' given
more than once in the same rule.
* `sh cflags "optimize='-O'" miniperlmain.o` miniperlmain.c
* CCCMD
= /opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu-gcc -DPERL_CORE -c -fno-strict-aliasing -pipe -O -Wall
* In file included from perl.h:38,
* from miniperlmain.c:36:
* config.h:4296:12: operator '==' has no left operand
* In file included from miniperlmain.c:36:
* .
* .
* .
* .
* proto.h:4256: warning: data definition has no type or storage
class
* proto.h:4258: error: parse error before "Perl_PerlIO_unread"
* proto.h:4259: warning: type defaults to `int' in declaration of
`Perl_PerlIO_unread'
* proto.h:4259: warning: data definition has no type or storage
class
* proto.h:4298: error: parse error before "Perl_pad_add_name"
* proto.h:4299: warning: type defaults to `int' in declaration of
`Perl_pad_add_name'
* proto.h:4299: warning: data definition has no type or storage
class
* proto.h:4301: error: parse error before "Perl_pad_add_anon"
* proto.h:4302: warning: type defaults to `int' in declaration of
`Perl_pad_add_anon'
* proto.h:4302: warning: data definition has no type or storage
class
* proto.h:4327: warning: type defaults to `int' in declaration of
`PADOFFSET'
* proto.h:4327: error: parse error before "po"
make: *** [miniperlmain.o] Error 1
I tried to put these commands inside the t directory but i have always :
./perl TEST the message is:-sh: ./perl: No such file or directory
or:
./perl -MTestInit op/groups.t the message is:-sh: ./perl: No such file
or:
./perl harness the message is:-sh: ./perl: No such file
Can you please help me with that. I need to be able to cross compile
Linux on the ARM-Linux device as soon as possible and I really need
your help here.
I'm sure I'm doing something wrong or I'm missing some steps. Help!!
Thanks.
|