develooper Front page | perl.perl5.porters | Postings from August 2013

perl on ARM

Thread Next
From:
H.Merijn Brand
Date:
August 4, 2013 09:40
Subject:
perl on ARM
Message ID:
20130804113950.0ea1e0f0@pc09.procura.nl
I bought myself a Synology DS213, which ships with

Linux 2.6.32.12 #3211 Tue Apr 16 20:04:57 CST 2013 armv5tel GNU/Linux
CPU model Marvell Kirkwood mv6282 ARMv5te

I could not resist trying to build perl-5.18.1-rc1 on that
The default box ships with no devel tools at all and no ipkg avail,
but there is info enough on the Synology fora and wiki to get that up
and running.

Some findings …

• $LANG should be C, all other settings cause major grief
• Everything installed with ipkg ens up in /opt, which symlinks
  to /volume1/@opt, so *inc* should include /opt/local/include
  and /opt/include and all *lib* should include /opt/local/lib
  and /opt/lib
• Even when building unthreaded perl, libpthread is needed. POSIX is
  the first to complain if that is not linked
• Installing gcc does not provide a symlink to cc, so -Dcc=gcc is still
  required
• Errno_pm.PL does not find errno.h because it does not look in
  $Config{locincpth} and /opt/include is not scanned


Test Summary Report
-------------------
op/array.t                                                      (Wstat: 0 Tests: 127 Failed: 1)
  Failed test:  83
op/taint.t                                                      (Wstat: 65280 Tests: 695 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 797 tests but ran 695.
../cpan/ExtUtils-MakeMaker/t/xs.t                               (Wstat: 256 Tests: 5 Failed: 1)
  Failed test:  5
  Non-zero exit status: 1
../cpan/Term-Cap/test.pl                                        (Wstat: 256 Tests: 31 Failed: 0)
  Non-zero exit status: 1
  Parse errors: Bad plan.  You planned 45 tests but ran 31.
../ext/DynaLoader/t/DynaLoader.t                                (Wstat: 256 Tests: 40 Failed: 1)
  Failed test:  20
  Non-zero exit status: 1
../lib/ExtUtils/t/Embed.t                                       (Wstat: 0 Tests: 2 Failed: 2)
  Failed tests:  1, 9
  Parse errors: Tests out of sequence.  Found (9) but expected (2)
                Bad plan.  You planned 9 tests but ran 2.
../lib/Tie/Array/std.t                                          (Wstat: 0 Tests: 127 Failed: 1)
  Failed test:  83
../lib/perl5db.t                                                (Wstat: 0 Tests: 116 Failed: 1)
  Failed test:  116
../lib/warnings.t                                               (Wstat: 0 Tests: 792 Failed: 1)
  Failed test:  266
Files=2304, Tests=624127, 6255 wallclock secs (621.61 usr 46.44 sys + 3682.44 cusr 272.85 csys = 4623.34 CPU)
Result: FAIL

Summary of my perl5 (revision 5 version 18 subversion 1) configuration:

  Platform:
    osname=linux, osvers=2.6.32.12, archname=armv5tel-linux-64int
    uname='linux nasynology 2.6.32.12 #3211 tue apr 16 20:04:57 cst 2013 armv5tel gnulinux '
    config_args='-Dprefix=/pro -Duse64bitint -des -Dcc=gcc'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=undef, usemultiplicity=undef
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=undef, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2',
    cppflags='-fno-strict-aliasing -pipe -fstack-protector'
    ccversion='', gccversion='4.2.3', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='ld', ldflags =' -fstack-protector -L/opt/local/lib -L/opt/arm-none-linux-gnueabi/lib -lc -lm'
    libpth=/opt/local/lib /opt/arm-none-linux-gnueabi/lib /lib /usr/lib
    libs=
    perllibs=
    libc=, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.5'
  Dynamic Linking:
    dlsrc=dl_none.xs, dlext=none, d_dlsymun=undef, ccdlflags=''
    cccdlflags='', lddlflags=''


Characteristics of this binary (from libperl):
  Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV
                        PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
                        PERL_PRESERVE_IVUV PERL_SAWAMPERSAND USE_64_BIT_INT
                        USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
                        USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
                        USE_PERL_ATOF
  Locally applied patches:
        RC1
  Built under linux
  Compiled at Aug  3 2013 22:27:24
  @INC:
    lib
    /pro/lib/site_perl/5.18.1/armv5tel-linux-64int
    /pro/lib/site_perl/5.18.1
    /pro/lib/5.18.1/armv5tel-linux-64int
    /pro/lib/5.18.1
    .

I am now trying to rework all my findings in hints/linux.sh and
ext/Errno/Errno_pm.PL and push that to a branch for review when build
from scratch works

-- 
H.Merijn Brand  http://tux.nl   Perl Monger  http://amsterdam.pm.org/
using perl5.00307 .. 5.19   porting perl5 on HP-UX, AIX, and openSUSE
http://mirrors.develooper.com/hpux/        http://www.test-smoke.org/
http://qa.perl.org   http://www.goldmark.org/jeff/stupid-disclaimers/

Thread Next


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