Front page | perl.perl5.porters |
Postings from September 2013
Re: [perl #41275] Failure in ARM-Linux cross compile
Thread Previous
From:
Brian Fraser
Date:
September 17, 2013 00:47
Subject:
Re: [perl #41275] Failure in ARM-Linux cross compile
Message ID:
CA+nL+nY3AYd9Y+EFCmXrKDAVD1191jKgoTF95YY8VXUB58KiOw@mail.gmail.com
On Thu, Sep 12, 2013 at 9:50 PM, James E Keenan via RT <
perlbug-followup@perl.org> wrote:
> On Thu May 24 18:38:52 2012, jkeenan wrote:
> > On Mon Jan 15 19:01:43 2007, liu.wu@intel.com wrote:
> > > Dear Sir,
> > >
> > > I want to port perl to embedded Linux . my environment is : ARM-Linux
> > > ,use xscale_be-gcc C compile .
> > >
> > > I according to the steps in "Cross-compilation" section in INSTALL in
> > > ~/perl-5.8.8
>
It's been quite a long time, but if you're still interested in
cross-compiling perl, the first recommendation would be to use castaway's
branch:
https://github.com/castaway/perl/tree/jrobinson/configure-for-cross
Since that simplifies the process considerably.
> > >
> > > Like this :
> > >
> > > sh ./Configure -des -Dusecrosscompile \
> > >
> > > -Dtargethost=*.*.*.*\
> > >
> > > -Dtargetdir=/tar/get/dir \
> > >
> > > -Dtargetuser=wuliu \
> > >
> > > -Dtargetarch=arm-linux \
> > >
> > > -Dcc=xscale_be-gcc \
> > >
> > > -Dusrinc=/opt/Perl_install/usr/local/include\
> > >
> > > -Dincpth=/opt/Perl_install/usr/local/include \
> > >
> > > -Dlibpth=/opt/Perl_install/usr/local/lib \
> > >
> > > -D...
> > >
> > > Our host that running redhat 's ip address is *.*.*.*
>
Hm, unless I'm reading this wrong, it sounds like you used that IP address
in -Dtargethost, rather than setting it to the target's IP? This sounds
like a "did you turn it off and on again" sort of question, but it's worth
checking.
> > >
> > > But this is can't run success
> > >
> > > The error :
> > >
> > > I've tried to compile and run the following simple program:
> > >
> > >
> > >
> > > #include <stdio.h>
> > >
> > > int main() { printf("Ok\n"); return(0); }
> > >
> > >
> > >
> > > I used the command:
> > >
> > >
> > >
> > > xscale_be-gcc -o try -O2 -DOVR_DBL_DIG=14 try.c
> > >
> > > /home/roger/Perl/perl-5.8.8/Cross/run-ssh ./try
> > >
> > >
> > >
> > > and I got the following output:
> > >
> > >
> > >
> > > Permission denied, please try again.
> > >
> > > bash: line 1: ././try: cannot execute binary file
> > >
> > > The program compiled OK, but exited with status 126.
>
It's possible that the user you're connecting to the device with doesn't
have the necessary permissions for the targetdir you specified? Even if you
do have the permissions, can you try creating a simple shell script, giving
it an execute bit, and trying to run it manually? Some OSs have partitions
mounted with the no-exec bit set (hello, Android's /sdcard), which trumps
everything else.
Thread Previous