zoukankan      html  css  js  c++  java
  • [移植"myslam"到zynq上的arm手记] 3

    1. hello world

    没毛病,在arm上成功运行

    2. useEigen

    第一次报错:

    ./eigenMatrix: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./eigenMatrix)
    ./eigenMatrix: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./eigenMatrix)
    

    板子上的系统里的libstdc++.so.6太老了,到xilinx的那坨里头找,然后替换

    注意是armhf架构,找gnueabihf

    找到路径是 /media/albireo/backup/opt/Xilinx/SDK/2017.1/gnu/aarch32/lin/gcc-arm-linux-gnueabi/arm-linux-gnueabihf/lib/libstdc++.so.6

    看到link target: libstdc++.so.6.0.22

    把 libstdc++.so.6.0.22 撸到板子上

    cp libstdc++.so.6.0.22 /usr/lib/arm-linux-gnueabihf/libstdc++.so.6.0.22
    rm -rf libstdc++.so.6
    ln -s libstdc++.so.6.0.22 libstdc++.so.6
    

    再次尝试,第二次报错

    ./eigenMatrix: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.18' not found (required by /usr/lib/arm-linux-gnueabihf/libstdc++.so.6)
    ./eigenMatrix: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.17' not found (required by /usr/lib/arm-linux-gnueabihf/libstdc++.so.6)
    

    同样的操作

    结果发现炸了,libc好像太底层了, rm掉libc.so.6之后,ln等基础的命令都无法使用了(当然,这时候如果关机的话就没法启动了,虽然也并没有什么事情

    因为问题出在没了libc.so.6,找不到库了,直接用LD_PRELOAD指定使用libc-2.15.so,链接上

    LD_PRELOAD=libc-2.15.so ln -s libc-2.22.so libc.so.6
    

     链接上libc-2.22.so之后发现还是不行,仅仅libc-2.15.so换掉并不行,还会报其他的库的错,尝试依次替换,没有什么卵用。把2.15的重新链接回去,放弃这种搞法。

    尝试其他办法。报错原因是编译用的xilinx给的交叉编译器和板子上的arm-linux-gnueabihf不一样(首先版本就不一样,其他还有啥区别就不知道了),应该弄成一样就行了

    去linardo那找他们提供的最新的filesystem以及对应的编译器,分别是15.06和4.8,选择gnueabihf

    http://releases.linaro.org/archive/15.06/ubuntu/vivid-images/gnome/

    http://releases.linaro.org/archive/15.06/components/toolchain/binaries/4.8/armeb-linux-gnueabihf/

    下载一看,里面的各种so的版本真的都是一样耶(废话

    文件系统弄到sd卡上,把xilinx的交叉编译器扔掉,换成新的,加入环境变量

    export PATH=/home/albireo/lib/gcc-linaro-4.8-2015.06-x86_64_arm-linux-gnueabihf/bin:$PATH
    

     重新编译hello world和useEigen,撸到板子上,运行通过。就很舒服

    然而板子上装的新系统不知道为啥连不上network了,就很难受

  • 相关阅读:
    public interface IBaseService<T> where T:class, new()含义
    mvc多条件查询
    jquery select下拉框和 easy-ui combox 选定指定项区别
    .net 中主框架的搭建(2种方式)
    linq ->sql & linq->lambda中的cud
    mvc中日志的原理和使用步骤
    Sprint.Net和Mvc结合使用
    2017.5.12总结
    c#前端验证和后台验证总结
    matlab根据url链接下载*.tar文件并解压
  • 原文地址:https://www.cnblogs.com/dreamingsheep/p/8624403.html
Copyright © 2011-2022 走看看