Edit online

Ubuntu

3 Jan 2025
Read time: 5 minute(s)
Luban-Lite SDK 的开发可以在 Linux 系统中进行,Luban-Lite SDK 目前自动支持的 Linux 发行版为:
  • Ubuntu 14.04、16.04、18.04、20.04、22.04
  • CentOS 7.x、8.x

ArtInChip 推荐的 Linux 发行版为 Ubuntu 20.04 LTS(Long Term Support)版本,本节以此版本展示 Ubuntu 系统安装注意事项。如使用其他版本,需要安装软件包对应的依赖和版本。

系统安装注意事项

安装 Ubuntu 系统时,需注意以下事项:

  • 至少保留 10 GB 磁盘空间,用于保存 SDK 源码。

  • 若使用虚拟机,不建议将 SDK 放在虚拟机与实体机的共享目录。

注:
本节不涉及 Ubuntu 系统安装的详细步骤。关于详细安装流程,可查看安装 Ubuntu
Edit online

搭建开发环境

Luban SDK 的开发环境需要安装一些依赖包,且关键工具需满足下列版本要求:
  • GCC 版本 ≥ 6.4

  • GLIBCXX 版本 ≥ 3.4.22:可在 libstd++.so.6 库文件中查看版本号

  • Python3 版本 ≥ 3.5

ArtInChip 提供多种开发环境搭建方式,用户可根据软件版本要求和软件源是否可访问等条件选择开发环境搭建方式。

一键安装

如果使用的 Ubuntu 系统上已有可以访问的软件源,无论来自外网还是从内网搭建,Ubuntu 系统可以自动完成一键安装。执行一键安装之前,确保开发环境满足以下条件:
  • 开发环境中有可用的软件源。

  • 已有 apt-get 工具。在安装软件时,Ubuntu 系统和一键安装脚本都需要使用 apt-get 工具。

Luban SDK 提供了一键安装脚本 oneclick.sh,用户可在一分钟内搭建好开发环境,详细安装流程如下所示:
  1. 进入 SDK 根目录:
    cd /path/to/Luban_SDK_Root_Directory/
  2. 在 SDK 根目录下,执行一键安装脚本 oneclick.sh,并添加 quiet 参数以静默模式运行:
    ./tools/scripts/oneclick.sh quiet
    oneclick.sh 会自动检查当前系统的版本、环境,在软件源可以正常访问的情况下,逐个安装 Luban 需要的软件工具。quiet 参数会隐藏所有需要用户确认的环节,如果去掉 quiet 参数,会在以下几个软件包的安装时提问是否继续:
    • GCC
    • Python3
    • Python3-dev
    • Python3-pip
    注:
    oneclick.sh 目前支持下列系统版本:
    • Ubuntu 14.04、16.04、18.04、20.04、22.04
    • CentOS 7.x、8.x

    其中,Ubuntu 14.04、16.04 和 CentOS 7.x 自带的 GCC 版本太低, oneclick.sh 会自动编译安装一份 GCC 6.4。

  3. 等待安装完成。脚本将自动处理依赖项并完成安装过程。

    安装成功后,系统会返回以下提示信息:
    ...
    fdt        0.3.2
                                                                    [OK]
    
    >>> Congratulations! All the package is ready.
    >>> Enjoy the LubanOS!
  4. 如需要,可以通过手动执行下列 apt-get 命令来逐个安装所需依赖,否则可以跳过此步。
    sudo apt-get update
    sudo apt-get install build-essential python3 python3-pip
    sudo pip install pycrypto
    sudo pip install fdt

手动安装

如果使用的 Ubuntu 系统上没有可以访问的软件源,则需要手动逐个下载安装包并手动执行安装。可以使用 ArtInChip 提供的 deb 离线包进行离线安装,详细流程如下:
  1. 执行下列命令分别安装对应的 deb 离线包类别:
    • tools

      cd tools
      sudo dpkg -i *.deb
    • python

      cd python
      sudo dpkg -i *.deb
    • vim

      cd vim
      vim包需要手动安装依赖:
      sudo dpkg -i vim-tiny_2%3a8.1.2269-1ubuntu5.7_amd64.deb
      sudo dpkg -i *.deb
  2. deb 文件安装完成后,如发现依赖缺失,可按照下列流程解决,否则可跳过此步。

    不同的系统的依赖可能会有不同。以 libgcc-9-dev 安装包为例:
    1. 执行下列命令安装离线包:
      sudo dpkg -i libgcc-9-dev_9.3.0-17ubuntu1~20.04_amd64.deb
      以下输出示例中,系统提示缺少了依赖包:
      dpkg: dependency problems prevent configuration of libgcc-9-dev:amd64:
      libgcc-9-dev:amd64 depends on libitm1 (≥ 9.3.0-17ubuntu1~20.04); however:
          Package libitm1 is not installed.
      libgcc-9-dev:amd64 depends on libatomic1 (≥ 9.3.0-17ubuntu1~20.04); however:
          Package libatomic1 is not installed.
      libgcc-9-dev:amd64 depends on libasan5 (≥ 9.3.0-17ubuntu1~20.04); however:
          Package libasan5 is not installed.
      libgcc-9-dev:amd64 depends on liblsan0 (≥ 9.3.0-17ubuntu1~20.04); however:
          Package liblsan0 is not installed.
      libgcc-9-dev:amd64 depends on libtsan0 (≥ 9.3.0-17ubuntu1~20.04); however:
          Package libtsan0 is not installed.
      libgcc-9-dev:amd64 depends on libubsan1 (≥ 9.3.0-17ubuntu1~20.04); however:
          Package libubsan1 is not installed.
      libgcc-9-dev:amd64 depends on libquadmath0 (≥ 9.3.0-17ubuntu1~20.04); however:
          Package libquadmath0 is not installed.
      
      dpkg: error processing package libgcc-9-dev:amd64 (--install):
      dependency problems - leaving unconfigured
      Errors were encountered while processing:
          libgcc-9-dev:amd64
    2. 通过以下任意方式下载依赖包:

      • 单独安装某一 deb 安装包,获取缺失的依赖。
      • 在另外一台有网络环境的计算机上下载缺失的依赖包。
      • 复制所下载的依赖包到本服务器,安装依赖包。
      apt-get download libitm1 libatomic1 libasan5 liblsan0 libtsan0 libubsan1 libquadmath0
      Get:1 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libasan5 amd64 9.3.0-17ubuntu1~20.04 [394 KB]
      Get:2 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libatomic1 amd64 10.3.0-1ubuntu1~20.04 [9,284 B]
      Get:3 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libitm1 amd64 10.3.0-1ubuntu1~20.04 [26.2 KB]
      Get:4 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 liblsan0 amd64 10.3.0-1ubuntu1~20.04 [835 KB]
      Get:5 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libquadmath0 amd64 10.3.0-1ubuntu1~20.04 [146 KB]
      Get:6 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libtsan0 amd64 10.3.0-1ubuntu1~20.04 [2,009 KB]
      Get:7 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libubsan1 amd64 10.3.0-1ubuntu1~20.04 [784 KB]
      Fetched 4,204 KB in 18s (231 KB/s)
    3. 将下载好的依赖包复制到 /media/aic/SDCARD/ 目录中:
      cp *.deb /media/aic/SDCARD/
    4. 使用下列命令安装依赖包。
      sudo dpkg -i /media/aic/SDCARD/*.deb
      上述命令可安装指定目录下的所有 .deb 文件。如果安装过程中出现新的依赖问题,可以运行以下命令来解决:
      sudo apt-get install -f
    5. 重复2.a,再次尝试安装 libgcc-9-dev

Python 安装

Python 目录中包含 Python 的 deb 安装文件,和普通的 deb 文件安装步骤类似。Python 工具有两种安装方式:
  • 编译安装,适用于需要从源码编译的 Python 包。

    下载源码进行安装,以 pip 为例:
    1. 进入下载的源码目录,例如 pip-22.0.3/
      cd pip-22.0.3/
    2. 使用 Python 构建工具进行构建:
      python3 setup.py build
    3. 安装构建好的包
      sudo python3 setup.py  install

    关于其他 Python 工具下载安装,可查看官网 http://www.pypi.org

  • 压缩包安装。

    Python 的打包格式分为 Wheel (.whl) 和 Egg (.egg) ,两者都属于压缩文件,目的是支持不需要编译的安装过程。

    Wheel 文件可以使用 pip 直接安装:
    sudo pip install pycryptodome-3.14.1-cp27-cp27mu-manylinux2010.whl

上述安装过程中,如需安装依赖,可参考依赖安装流程