Chinaunix

标题: 【求助】 移植Perl到ARM平台遇到问题 [打印本页]

作者: iGoodmood    时间: 2011-08-10 13:50
标题: 【求助】 移植Perl到ARM平台遇到问题
本帖最后由 iGoodmood 于 2011-08-23 16:37 编辑

我当前正在移植Perl到ARM平台,根据Perl自带的Cross目录下手README文件描述。

1、采用Cross目录下自带的文件,修改config文件中的架构信息为ARM,然后Makefile执行完make patch和make perl,发现出现此问题:miniperl不是一个可执行文件。
file miniperl表明miniperl是ARM架构文件,确实是无法执行。

2、Cross目录中自带了另一份脚本文件build-arm-n770-sh,该脚本先编译出本机的miniperl,后用编译出来的miniperl交叉编译ARM架构下的perl。
Makefile-cross-arm是运行Makefile-cross-SH生成的,输入文件为config-arm.sh,config-arm.sh为perl源码包中自带的文件,有进行少量修改。

问题描述:
1、每次调用该脚本的时候,运行到编译generate_uudmap的时候不会生成generate_uudmap.armo文件?
2、当脚本执行到编译DynaLoader.armo时,提示无法生成DynaLoader.armo文件?
3、我修改了源文件config-arm.sh中的部分关于交叉编译的设置,比如:CC,AR,LD和相应的LIB、INCLUDE目录等,有些选项不确定是用交叉编译的路径还是用本机的路径,有哪位大虾能否解读一下该文件如何设置?
4、另外我本机上不存在该目录:/usr/lib/perl5/5.10.0/armv4l-linux,不知道这对整编译过程有什么影响?
5、我不清楚在Cross目录下的文件generate_config_sh在整个编译过程中起到什么样的作用?
6、我在用Cross目录下的Makefile.SH.patch和installer.patch打补丁的时候总有好几个补丁无法打上,我找出问题是原Makefile.SH里面的语句描述与补丁中的不符,所以打补丁失败,问一下,这个情况是否有遇见过,之后是如何处理的?
7、我调通了单板上的SSH,试着用INSTALL里面描述的方法来编译Perl,但是碰到另一个问题。每次服务器将编译好的ARM程序通过SSH发到单板上去运行,然后再对运行结果进行判断,
但是取回的结果判断都是失败的,有没有朋友遇见过这种情况?


我现在用的perl源码版本为:perl-5.10.0.tar.gz2,      本机上的perl版本是:perl-5.10.0,
    交叉编译工具链的gcc版本是:gcc-4.5.2,         本机的gcc版本是:gcc-4.3.4。

在线等,大虾们指点一下,谢谢!
作者: iakuf    时间: 2011-08-10 16:44
大虾们都没到这水平
作者: iGoodmood    时间: 2011-08-10 16:50
回复 2# iakuf


    呵呵
作者: jason680    时间: 2011-08-10 16:51
开车与修车....水平不同...
作者: zhlong8    时间: 2011-08-10 17:04
看 readme google 不行就去 perl-porters 问
作者: iGoodmood    时间: 2011-08-11 09:48
回复 5# zhlong8


    你的意识是上google查询相关信息?
作者: heiheizzjj    时间: 2011-08-16 19:37
哥们,我们同病相连啊,我也是最近在移植perl,和你遇到的问题一样。。 你试过install文档的方法没有?
作者: liuqiao007    时间: 2011-08-18 14:26
好像  perl有嵌入式的吧?
作者: 兰花仙子    时间: 2011-08-18 14:33
牛X。我还在想windriver系统啥时支持perl就好了,什么Cavium, RMI都可以用perl开发。
作者: iGoodmood    时间: 2011-08-23 09:58
回复 7# heiheizzjj


    我后来调通了单板上的SSH功能,试了INSTALL上的方法,但是很无语的是,服务器上编译好的东西到单板上去验证,所有的返回结果都是错误的,结果还是无法正常编译
作者: iGoodmood    时间: 2011-08-23 10:00
回复 9# 兰花仙子


    嵌入式的东西还是没办法全都在WDS上搞的
作者: iGoodmood    时间: 2011-09-15 17:02
据悉此问题可以通过在pudn上买一份资料解决。
作者: iGoodmood    时间: 2011-09-17 17:59
Parsing flags for 483.xalancbmk base: ERROR: While parsing flags, the compartment returned:
        'eval "string"' trapped by operation mask at /usr/lib/perl5/5.10.0/Carp.pm line 33.
Compilation failed in require at /usr/lib/perl5/5.10.0/utf8.pm line 19.
这个错误有没有人碰到过啊?
作者: iGoodmood    时间: 2011-09-17 18:00
runspec finished at Thu Jan  1 17:34:13 1970; 76 total seconds elapsed
runspec v6152 - Copyright 1999-2008 Standard Performance Evaluation Corporation
Using 'unknown' tools
Reading MANIFEST... 18334 files
Loading runspec modules................
Locating benchmarks...found 31 benchmarks in 6 benchsets.
Reading config file '/mnt/benchmark/config/arm.cfg'
Benchmarks selected: 464.h264ref
Compiling Binaries
  Up to date 464.h264ref base phosphor default


Setting Up Run Directories
  Setting up 464.h264ref ref base phosphor default: existing (run_base_ref_phosphor.0000)
Running Benchmarks
  Running 464.h264ref ref base phosphor default

*** Miscompare of foreman_ref_baseline_encodelog.out; for details see
    /mnt/benchmark/benchspec/CPU2006/464.h264ref/run/run_base_ref_phosphor.0000/foreman_ref_baseline_encodelog.out.mis

*** Miscompare of foreman_ref_baseline_leakybucketparam.cfg; for details see
    /mnt/benchmark/benchspec/CPU2006/464.h264ref/run/run_base_ref_phosphor.0000/foreman_ref_baseline_leakybucketparam.cfg.mis

*** Miscompare of foreman_ref_main_encodelog.out; for details see
    /mnt/benchmark/benchspec/CPU2006/464.h264ref/run/run_base_ref_phosphor.0000/foreman_ref_main_encodelog.out.mis

*** Miscompare of foreman_ref_main_leakybucketparam.cfg; for details see
    /mnt/benchmark/benchspec/CPU2006/464.h264ref/run/run_base_ref_phosphor.0000/foreman_ref_main_leakybucketparam.cfg.mis

*** Miscompare of sss_main_encodelog.out; for details see
    /mnt/benchmark/benchspec/CPU2006/464.h264ref/run/run_base_ref_phosphor.0000/sss_main_encodelog.out.mis

*** Miscompare of sss_main_leakybucketparam.cfg; for details see
    /mnt/benchmark/benchspec/CPU2006/464.h264ref/run/run_base_ref_phosphor.0000/sss_main_leakybucketparam.cfg.mis
Error: 1x464.h264ref
Producing Raw Reports
mach: default
  ext: phosphor
    size: ref
      set: int
        format: raw -> /mnt/benchmark/result/CINT2006.034.ref.rsf
Parsing flags for 464.h264ref base: ERROR: While parsing flags, the compartment returned:
        'eval "string"' trapped by operation mask at /usr/lib/perl5/5.10.0/Carp.pm line 33.
Compilation failed in require at /usr/lib/perl5/5.10.0/utf8.pm line 19.


done
Doing flag reduction: done
        format: ASCII -> /mnt/benchmark/result/CINT2006.034.ref.txt
      set: fp

The log for this run is in /mnt/benchmark/result/CPU2006.034.log
The debug log for this run is in /mnt/benchmark/result/CPU2006.034.log.debug

runspec finished at Thu Jan  1 19:34:05 1970; 7187 total seconds elapsed

这个错误也一直没有解决,有高手指点没有啊,谢了。
作者: wlxwsj    时间: 2011-11-29 16:52
楼主大哥,这么长时间了,你那个搞定了没啊.我现在也遇到此类问题了,卡在这动不了哪
作者: jixuuse    时间: 2016-04-09 14:07
你找厂家的SDK,里面一般带的有这种东西,自己移植太费时间了
作者: sunnaxun    时间: 2019-04-02 10:51
gfortran,我需要交叉编译atlas库,提示需要gfortran库,但我没有arm下的gfortran编译工具?如何制作arm下的gfortran.标准的只有CC=arm-none-linux-gnueabi-gcc \
              CXX=arm-none-linux-gnueabi-g++ \
              AR=arm-none-linux-gnueabi-ar \
              RANLIB=arm-none-linux-gnueabi-ranlib \
              --host=arm-none-linux-gnueabi\
              --build=x86_64-linux-gnu \
              --target=arm-none-linux-gnueabi \
作者: sunnaxun    时间: 2019-04-02 10:52
邮箱,sunnaxun@163.com




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2