develooper Front page | perl.perl5.porters | Postings from June 2008

Re: [perl #55038] Problem with porting perl on Armel

Thread Previous
From:
Bram
Date:
June 10, 2008 01:44
Subject:
Re: [perl #55038] Problem with porting perl on Armel
Message ID:
20080610104256.m2four0z4skookgk@horde.wizbit.be
Citeren devendra purbiya <devendra.purbiya@gmail.com>:

> Hi Bram,
>    Porting latest qemu itself will take quite some time. So as of now that
> option is open.
> I agree with you related to broken perl thing. But I dont see other option
> than skipping tests.
> I am not sure of the fourth option. As in how to do it. Can you guide me
> regarding that.

Not really...
I know absoltly nothing about qemu...

A starting point could be to do an strace which might reveal what  
syscall is being called...

Another starting point could be a/the qemu lists to see if there is a  
way to silence the warnings (perhaps via some options?)

Another way could be to modifiy the qemu source and place the warning  
in comment.

> I tried running a perl script which has following things,
>
> use FindBin;
> use File::Path;
> use File::Spec;
> use File::Basename;
> use Getopt::Long;
> use Cwd 'abs_path';
> use POSIX qw(sys_wait_h strftime);
>
> use strict;
>
> which run on the target hardware. So I am not sure if there are problems
> with the perl.

That test is way too small.
(And basically only tests if it can load a .pm file and can compile  
it. It does not test the functions in the modules - which might return  
something completly incorrect)


> Regards,
> Devendra.
>
>
> On Mon, Jun 2, 2008 at 6:32 PM, Bram <p5p@perl.wizbit.be> wrote:
>
>> Quoting devendra purbiya <devendra.purbiya@gmail.com>:
>>
>>  Hi Bram,
>>>    I tried looking at that link. According to that, the qemu version we
>>> are
>>> using, does not emulate all the commands for arm.
>>>
>>
>> Did you try the latest version?
>> And/Or the latest development version?
>> (I know absoltly nothing about qemu)
>>
>>  So as of now I have two options.
>>> 1. To eliminate some tests. (Is this possible?)
>>>
>>
>> You can skip tests yes... but then no one knows if your perl really works
>> or if it is broken (maybe in subtle ways).
>> The tests are there for a reason.
>>
>>  2. Try to debug the tests to make them run on our qemu. (Looks quite tough
>>> right now)
>>>
>>
>> Your third option is to find out what syscall 338 is and see if it can be
>> added to qemu.
>>
>> Your foruth option is to try to silence the error. Some test expect the
>> output on STDERR in a particular order andon particular lines. If there is
>> another error in that output the test fails.
>>
>>
>>  Also what I have noticed is that in case I skip make test. And directly
>>> try
>>> to build a debian binary using checkinstall utility. And I tested the perl
>>> binary on our target. And it worked fine.
>>>
>>
>> Define fine?
>> How did you test it?
>> The only way to make sure it runs fine is to run make test (and even then
>> you can't be 100% sure)
>>
>>
>>  But the only catch with this
>>> situation is that checkinstall generates only a single binary. And I want
>>> all the packages generated by perl package.
>>>
>>> Regards,
>>> Dev.
>>>
>>>
>>> On Fri, May 30, 2008 at 5:35 PM, Bram <p5p@perl.wizbit.be> wrote:
>>>
>>>  Quoting devendra purbiya <devendra.purbiya@gmail.com>:
>>>>
>>>>  Hi Bram,
>>>>
>>>>>  Below is the result of running all the commands you have mentioned.
>>>>> [sbox-cosmos0.1.4_armel: ~/PERL-ARM/perl-5.8.8/t] > ./perl -wle 'print
>>>>> "\$^X
>>>>> = $^X";print $^X =~ m/\s/ ? qq{"$^X"} : $^X;'
>>>>> qemu: Unsupported syscall: 338
>>>>> $^X = ./perl
>>>>> ./perl
>>>>>
>>>>>
>>>> I suggest you look at
>>>> http://www.google.com/search?&q=%22qemu:+Unsupported+syscall%22
>>>> and see if it mentions something useful...
>>>>
>>>>
>>>>  [sbox-cosmos0.1.4_armel: ~/PERL-ARM/perl-5.8.8/t] > ./perl harness -v
>>>>
>>>>> ../ext/B/t/lint.t
>>>>> qemu: Unsupported syscall: 338
>>>>> ../ext/B/t/lint....qemu: Unsupported syscall: 338
>>>>> qemu: Unsupported syscall: 338
>>>>> 1..15
>>>>> # Failed at ../ext/B/t/lint.t line 31
>>>>> #      got 'qemu: Unsupported syscall: 338
>>>>> # Implicit scalar context for array in scalar assignment at -e line 1
>>>>> # '
>>>>> # expected 'Implicit scalar context for array in scalar assignment at -e
>>>>> line 1
>>>>> # '
>>>>> not ok 1 - context
>>>>> # Failed at ../ext/B/t/lint.t line 31
>>>>> #      got 'qemu: Unsupported syscall: 338
>>>>> # Implicit scalar context for array in length at -e line 1
>>>>> # '
>>>>> # expected 'Implicit scalar context for array in length at -e line 1
>>>>> # '
>>>>> not ok 2 - context
>>>>> # Failed at ../ext/B/t/lint.t line 31
>>>>> #      got 'qemu: Unsupported syscall: 338
>>>>> # Implicit match on $_ at -e line 1
>>>>> # '
>>>>> # expected 'Implicit match on $_ at -e line 1
>>>>> # '
>>>>> not ok 3 - implicit-read
>>>>> # Failed at ../ext/B/t/lint.t line 31
>>>>> #      got 'qemu: Unsupported syscall: 338
>>>>> # Implicit substitution on $_ at -e line 1
>>>>> # '
>>>>> # expected 'Implicit substitution on $_ at -e line 1
>>>>> # '
>>>>> not ok 4 - implicit-write
>>>>> ok 5 # skip: Doesn't work with threaded perls
>>>>> ok 6 # skip: Doesn't work with threaded perls
>>>>> ok 7 # skip: Doesn't work with threaded perls
>>>>> ok 8 # skip: Doesn't work with threaded perls
>>>>> ok 9 # skip: Doesn't work with threaded perls
>>>>> ok 10 # skip: Doesn't work with threaded perls
>>>>> ok 11 # skip: Doesn't work with threaded perls
>>>>> ok 12 # skip: Doesn't work with threaded perls
>>>>> ok 13 # skip: Doesn't work with threaded perls
>>>>> ok 14 # skip: Doesn't work with threaded perls
>>>>> ok 15 # skip: Doesn't work with threaded perls
>>>>> FAILED tests 1-4
>>>>>       Failed 4/15 tests, 73.33% okay
>>>>> Failed Test       Stat Wstat Total Fail  Failed  List of Failed
>>>>>
>>>>>
>>>>> -------------------------------------------------------------------------------
>>>>> ../ext/B/t/lint.t               15    4  26.67%  1-4
>>>>> Failed 1/1 test scripts, 0.00% okay. 4/15 subtests failed, 73.33% okay.
>>>>> [sbox-cosmos0.1.4_armel: ~/PERL-ARM/perl-5.8.8/t] > ./perl -I../lib
>>>>> -MO=Lint
>>>>> -e '$foo = @bar';
>>>>> qemu: Unsupported syscall: 338
>>>>> Implicit scalar context for array in scalar assignment at -e line 1
>>>>> -e syntax OK
>>>>> [sbox-cosmos0.1.4_armel: ~/PERL-ARM/perl-5.8.8/t] > export
>>>>> PERL_RUNPERL_DEBUG=1
>>>>> [sbox-cosmos0.1.4_armel: ~/PERL-ARM/perl-5.8.8/t] > ./perl harness -v
>>>>> ../ext/B/t/lint.t
>>>>> qemu: Unsupported syscall: 338
>>>>> ../ext/B/t/lint....qemu: Unsupported syscall: 338
>>>>> qemu: Unsupported syscall: 338
>>>>> 1..15
>>>>> # Failed at ../ext/B/t/lint.t line 31
>>>>> #      got '/scratchbox/tools/bin/sh: line 1: 1: command not found
>>>>> # '
>>>>> # expected 'Implicit scalar context for array in scalar assignment at -e
>>>>> line 1
>>>>> # '
>>>>> not ok 1 - context
>>>>> # Failed at ../ext/B/t/lint.t line 31
>>>>> #      got '/scratchbox/tools/bin/sh: line 1: 1: command not found
>>>>> # '
>>>>> # expected 'Implicit scalar context for array in length at -e line 1
>>>>> # '
>>>>> not ok 2 - context
>>>>> # Failed at ../ext/B/t/lint.t line 31
>>>>> #      got '/scratchbox/tools/bin/sh: line 1: 1: command not found
>>>>> # '
>>>>> # expected 'Implicit match on $_ at -e line 1
>>>>> # '
>>>>> not ok 3 - implicit-read
>>>>> # Failed at ../ext/B/t/lint.t line 31
>>>>> #      got '/scratchbox/tools/bin/sh: line 1: 1: command not found
>>>>> # '
>>>>> # expected 'Implicit substitution on $_ at -e line 1
>>>>> # '
>>>>> not ok 4 - implicit-write
>>>>> ok 5 # skip: Doesn't work with threaded perls
>>>>> ok 6 # skip: Doesn't work with threaded perls
>>>>> ok 7 # skip: Doesn't work with threaded perls
>>>>> ok 8 # skip: Doesn't work with threaded perls
>>>>> ok 9 # skip: Doesn't work with threaded perls
>>>>> ok 10 # skip: Doesn't work with threaded perls
>>>>> ok 11 # skip: Doesn't work with threaded perls
>>>>> ok 12 # skip: Doesn't work with threaded perls
>>>>> ok 13 # skip: Doesn't work with threaded perls
>>>>> ok 14 # skip: Doesn't work with threaded perls
>>>>> ok 15 # skip: Doesn't work with threaded perls
>>>>> FAILED tests 1-4
>>>>>       Failed 4/15 tests, 73.33% okay
>>>>> Failed Test       Stat Wstat Total Fail  Failed  List of Failed
>>>>>
>>>>>
>>>>> -------------------------------------------------------------------------------
>>>>> ../ext/B/t/lint.t               15    4  26.67%  1-4
>>>>> Failed 1/1 test scripts, 0.00% okay. 4/15 subtests failed, 73.33% okay.
>>>>>
>>>>> Thanks,
>>>>> Devendra.
>>>>>
>>>>>
>>>>> On Fri, May 30, 2008 at 3:56 PM, Bram <p5p@perl.wizbit.be> wrote:
>>>>>
>>>>>  Quoting devendra purbiya <devendra.purbiya@gmail.com>:
>>>>>
>>>>>>
>>>>>>  Hi Bram,
>>>>>>
>>>>>>   I tried to run ./perl harness -v, and below is the result I get. Also
>>>>>>> I
>>>>>>> am using arm-v5te-linux-gnueabi cross compiler.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> Can you run:
>>>>>>
>>>>>> ./perl -wle 'print "\$^X = $^X";print $^X =~ m/\s/ ? qq{"$^X"} : $^X;'
>>>>>>
>>>>>> And:
>>>>>>
>>>>>> ./perl harness -v ../ext/B/t/lint.t
>>>>>>
>>>>>> And:
>>>>>>
>>>>>> ./perl -I../lib -MO=Lint -e '$foo = @bar';
>>>>>>
>>>>>>
>>>>>> And:
>>>>>>
>>>>>> export PERL_RUNPERL_DEBUG=1
>>>>>> ./perl harness -v ../ext/B/t/lint.t
>>>>>>
>>>>>>
>>>>>> Kind regards,
>>>>>>
>>>>>> Bram
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>>
>>
>





Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About