侧边栏壁纸
  • 累计撰写 4 篇文章
  • 累计收到 73 条评论

移植Python3.6到i.MX6ULL

pone
2021-02-22 / 21 评论 / 555 阅读 / 正在检测是否收录...

移植Python3.6到i.MX6ULL

前期准备

ARM平台: imx6ull linux 4.1.15
主机环境: Ubuntu 18.04 x86_64 (虚拟机)

移植流程

  1. 确定配置好交叉编译环境。
    注意:如果未安装则安装SDKsudo ./fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.0.0.sh
  2. Python官网下载Python3.6。
    下载地址:Python Source
  3. 将压缩包Python-3.6.9.tgz解压到Ubuntu18系统下的目录下。
    tar xvf Python-3.6.9.tgz
  4. 进入到Python-3.6.9文件夹下,并创建两个文件夹build-armbuild-install

    cd Python-3.6.9
    mkdir build-arm build-install
  5. 编译安装PC端的Python3.6.9。(Ubuntu18默认自带Python3.6.9,可以跳过此步,此文在移植的时候没有跳过这一步。如果系统安装的Python版本高于需要编译的版本则可以跳过,如果系统版本低于将要编译的版本则不能跳过)

    ./configure
    make
    sudo make install 

    注意:make无需使用sudo,而make install需要sudo,不然没有权限安装Python到系统。

  6. 清除编译产生的临时文件。
    sudo make clean
  7. 交叉编译-配置Makefile.

    cd build-arm
    
    . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
    # 此处CONFIG_SITE环境变量如果不加入则会在configure的时候打印出错 "#error LONG_SIZE"
    echo ac_cv_file__dev_ptmx=no > config.site
    echo ac_cv_file__dev_ptc=no >> config.site
    export CONFIG_SITE=config.site
    # 配置参数
    # --build=编译该软件所使用的平台,交叉编译环境根据系统而定,Ubuntu18选择x86_64-linux,如果系统使用的是Ubuntu的32位版本,可以配置成i386
    # --host 该软件将运行的平台
    # --target 该软件所处理的目标平台
    # --prefix 文件安装的位置
    # --silent 选项配置后终端不会打印详细的过程。
    ../configure \
    --host=arm-poky-linux-gnueabi \
    --build=x86_64-linux \
    --target=arm-poky-linux-gnueabi \
    --disable-ipv6 \
    --prefix=/home/neo/Desktop/fcu1104/Python-3.6.9/build-install \
    --enable-shared --enable-optimizations
  8. 添加ssl及zlib依赖的支持。已经在yocoto中拷贝出相应的文件。修改Setup文件vi Modules/Setup修改如下。

    #替换相关字段
    SSL=/home/neo/Desktop/fcu1104/python3/openssl/usr
    _ssl _ssl.c \
            -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
            -L$(SSL)/lib -lssl -lcrypto
    
    mypath=/home/neo/Desktop/fcu1104/python3/zlib
    zlib zlibmodule.c -I$(prefix)/include -L$(mypath)/lib -lz
  9. 编译并安装。

    make 
    # make install过程中
    make install

问题汇总

  1. 问题:使用交叉编译环境编译时报错error: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
    解答:是因为没有配置CONFIG_SITE环境变量导致数据类型中的long型在configure时配置成了8Byte,而ARM环境上long型占用4Byte。参考:LONG_BIT
  2. 问题:make install命令时报错subprocess.CalledProcessError: Command ‘(‘lsb_release’, ‘-a’)’ returned non-zero exit status 1.
    解答:执行命令rm -rf /usr/bin/lsb_release可以解决这个问题,此时需要make clean下,然后再次执行make & make install进行编译安装。

参考链接

python交叉编译移植到ARM
python移植到arm的单板
交叉编译Python3.6
python3.7移植到ARM开发板

2

评论 (21)

取消
  1. 头像
    12
    Windows 10 · Google Chrome

    画图

    回复
  2. 头像
    caqxldioqg
    Windows 10 · Google Chrome

    博主真是太厉害了!!!

    回复
  3. 头像
    dghvjwqdqm
    Windows 10 · Google Chrome

    想想你的文章写的特别好https://www.ea55.com/

    回复
  4. 头像
    gdqmzlwamy
    Windows 10 · Google Chrome

    你的文章内容非常专业,让人佩服。 http://www.55baobei.com/kppLKSCrP2.html

    回复
  5. 头像
    kivhtjigts
    Windows 10 · Google Chrome

    你的文章让我感受到了不一样的风景,谢谢分享。 http://www.55baobei.com/G6WGGyzZZV.html

    回复
  6. 头像
    rclhjtcutf
    Windows 10 · Google Chrome

    《帮规粤语》动作片高清在线免费观看:https://www.jgz518.com/xingkong/28939.html

    回复
  7. 头像
    gerdtfrqpo
    Windows 10 · Google Chrome

    你的文章充满了欢乐,让人忍不住一笑。 https://www.4006400989.com/qyvideo/57358.html

    回复
  8. 头像
    invcwqbutn
    Windows 10 · Google Chrome

    你的文章内容非常用心,让人感动。 http://www.55baobei.com/ZrAliDuUe4.html

    回复
  9. 头像
    xkrlchxoin
    Windows 10 · Google Chrome

    你的文章总是能给我带来欢乐,谢谢你! http://www.55baobei.com/DpLFM6dW7c.html

    回复
  10. 头像
    hguvpmuczw
    Windows 10 · Google Chrome

    《帮规粤语》动作片高清在线免费观看:https://www.jgz518.com/xingkong/28939.html

    回复
  11. 头像
    yvmpddpjqe
    Windows 10 · Google Chrome

    《我的叔叔国语》喜剧片高清在线免费观看:https://www.jgz518.com/xingkong/127381.html

    回复
  12. 头像
    lgxwhjjytg
    Windows 10 · Google Chrome

    哈哈哈,写的太好了https://www.lawjida.com/

    回复
  13. 头像
    uatsnpmvsa
    Windows 10 · Google Chrome

    作者的才华横溢,让这篇文章成为了一篇不可多得的艺术品。

    回复
  14. 头像
    lzkvfpjenq
    Windows 10 · Google Chrome

    理性与感性平衡得当,读来既有深度又有温度。

    回复
  15. 头像
    kuooyvakfe
    Windows 10 · Google Chrome

    内容的丰富性和深度让人仿佛置身于知识的海洋,受益匪浅。

    回复
  16. 头像
    sedptnnwon
    Windows 10 · Google Chrome

    案例丰富且贴合主题,论证逻辑环环相扣。

    回复
  17. 头像
    zpabdiulke
    Windows 10 · Google Chrome

    建议增加个人经历分享,增强情感穿透力。

    回复
  18. 头像
    ifhypbqouk
    Windows 10 · Google Chrome

    ?国际化视角评语?

    回复
  19. 头像
    zscormucdt
    Windows 10 · Google Chrome

    文章的叙述风格独特,用词精准,让人回味无穷。

    回复
  20. 头像
    chnjlbfkck
    Windows 10 · Google Chrome

    作者以简洁明了的语言,传达了深刻的思想和情感。

    回复
  21. 头像
    fyiqwycvrw
    Windows 10 · Google Chrome

    字里行间流露出真挚的情感,让人感同身受,共鸣不已。

    回复