ubuntu16.04 交叉编译 mbedtls

编程入门 行业动态 更新时间:2024-10-18 14:22:00

ubuntu16.04 交叉编译 <a href=https://www.elefans.com/category/jswz/34/1359826.html style=mbedtls"/>

ubuntu16.04 交叉编译 mbedtls

在为客户交叉编译项目时需要依赖 mbedtls, 客户的机器是 arm64 的 ubuntu 16.04, 交叉编译过程中遇到几个问题。

首先, mbedtls 需要依赖 python, 在 cmake 的过程中, 如果不是使用系统默认的 cmake 可能会导致,mbedtls 在执行 cmake 的过程中选择与预期不符的 python 版本,导致安装的 jinja2 和 jsonschema 在以安装的情况下仍然找不到

另外一个问题是, ubuntu 16.04 上默认的版本是 python 3.5 ,而这个版本是不支持 jsonschema 的,所以需要安装 python 3.6。

首先安装交叉编译工具链

$ apt-get update
$ apt-get install gcc-aarch64-linux-gnu

安装 python 3.6

$ cd /opt
$ wget .6.3/Python-3.6.3.tgz
$ tar -xvf Python-3.6.3.tgz
$ cd Python-3.6.3
$ ./configure
$ make 
$ make install

检查 python3.6 是否安装成功

$ python3.6 -V
Python 3.6.3

安装 jinja2 和 jsonschema, 此处注意需要使用 pip3.6 安装

pip3.6 install jsonschema
pip3.6 install jinja2

mbedtls 交叉编译

$ git clone .git && cd mbedtls &&  git checkout tags/v3.3.0
$ mkdir build && cd build
$ cmake  -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc  -DENABLE_TESTING=OFF -DCMAKE_INSTALL_PREFIX=/opt/  ..
$ make && make install

note: cmake 执行的过程中需要关注下找到的 python 的版本,需要是 3.6 才能保证正常的交叉编译

更多推荐

ubuntu16.04 交叉编译 mbedtls

本文发布于:2023-11-15 11:38:48,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1598954.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:mbedtls

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!