控制器开发板配置(Ubuntu 18.04 LTS(ARMv8架构,NVIDIA Tegra Xavier))
目录
- 安装教程
-
-
- 一、Python:选择3.6/3.8(系统兼容+生态完善)
- [二、CUDA:通过JetPack安装(适配Tegra Xavier)](#二、CUDA:通过JetPack安装(适配Tegra Xavier))
- 三、OpenCV(带CUDA加速):源码编译适配Tegra
- 四、Qt:安装Qt5.9(系统兼容+ARM适配)
- 核心适配说明
-
- 问题记录
安装教程
以下是适配的Python、CUDA、OpenCV、Qt的安装方案:
一、Python:选择3.6/3.8(系统兼容+生态完善)
Ubuntu 18.04 ARMv8默认支持Python 3.6,可升级到3.8(稳定性与兼容性平衡):
-
安装Python 3.8 :
bashsudo apt update sudo apt install -y python3.8 python3.8-dev python3.8-distutils # 设置Python3.8为默认(可选) sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1 -
安装pip :
bashcurl https://bootstrap.pypa.io/get-pip.py | sudo python3.8
二、CUDA:通过JetPack安装(适配Tegra Xavier)
Tegra Xavier的CUDA需通过NVIDIA JetPack安装(Ubuntu 18.04对应的JetPack版本为4.6,内置CUDA 10.2):
-
准备JetPack :
从NVIDIA SDK Manager下载并安装,选择对应JetPack 4.6版本,自动配置CUDA、驱动、cuDNN。 -
验证CUDA :
bashnvcc --version # 应输出CUDA 10.2版本 nvidia-smi # 显示GPU信息
三、OpenCV(带CUDA加速):源码编译适配Tegra
Ubuntu 18.04 ARM源的OpenCV版本低,需源码编译并启用CUDA:
-
安装依赖 :
bashsudo apt install -y build-essential cmake git libgtk2.0-dev pkg-config \ libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev \ libtiff-dev libv4l-dev libxvidcore-dev libx264-dev python3-dev \ python3-numpy libtbb2 libtbb-dev libdc1394-22-dev -
下载OpenCV源码(4.5.5,适配CUDA 10.2) :
bashmkdir -p ~/opencv_build && cd ~/opencv_build git clone --depth 1 --branch 4.5.5 https://github.com/opencv/opencv.git git clone --depth 1 --branch 4.5.5 https://github.com/opencv/opencv_contrib.git -
编译配置(启用CUDA) :
bashcd opencv && mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \ -D WITH_CUDA=ON \ -D CUDA_ARCH_BIN="7.2" \ # Tegra Xavier的CUDA架构 -D CUDA_ARCH_PTX="" \ -D PYTHON3_EXECUTABLE=/usr/bin/python3.8 \ -D BUILD_EXAMPLES=ON .. -
编译安装 :
bashmake -j4 # Tegra Xavier为4核,用-j4避免过载 sudo make install sudo ldconfig -
验证 :
pythonimport cv2 print(cv2.__version__) # 输出4.5.5 print(cv2.cuda.getCudaEnabledDeviceCount()) # 输出≥1
四、Qt:安装Qt5.9(系统兼容+ARM适配)
Ubuntu 18.04 ARM源支持Qt5.9,也可编译Qt5.12(更稳定):
-
APT快速安装(推荐) :
bashsudo apt install -y qt5-default qt5-qmake qttools5-dev qttools5-dev-tools -
验证 :
bashqmake --version # 输出Qt 5.9.5版本 -
若需更高版本(Qt5.12) :
从源码编译(参考CSDN教程),需注意依赖安装与编译时间(约3-12小时)。
核心适配说明
- 架构适配:所有工具均选择ARMv8/aarch64版本,避免x86架构包;
- CUDA兼容性:Tegra Xavier仅支持JetPack配套的CUDA版本(不可手动升级);
- 版本匹配:OpenCV 4.5.5与CUDA 10.2兼容,Qt5.9与Ubuntu 18.04系统依赖匹配。
按以上步骤可完成适配环境的搭建,满足开发需求。
问题记录
1、若安装python时发生下面问题
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'python3.8-lib2to3' for regex 'python3.8'
Note, selecting 'python3.8-distutils' for regex 'python3.8'
Note, selecting 'python3.8-tk' for regex 'python3.8'
Note, selecting 'python3-tk' instead of 'python3.8-tk'
Note, selecting 'python3-lib2to3' instead of 'python3.8-lib2to3'
Note, selecting 'python3-distutils' instead of 'python3.8-distutils'
Note, selecting 'python3-distutils' instead of 'python3.8-distutils'
E: Unable to locate package python3.8-dev
E: Couldn't find any package by glob 'python3.8-dev'
E: Couldn't find any package by regex 'python3.8-dev'
这是Ubuntu 18.04(ARM架构)终端中安装Python 3.8时出现的软件包找不到问题,核心原因是Ubuntu 18.04的ARM源中默认不提供Python 3.8-dev包。以下是解决方案:
一、问题分析
- 错误核心:
E: Unable to locate package python3.8-dev,Ubuntu 18.04 ARM(Jetson平台)的官方源中,Python 3.8的开发包(python3.8-dev)未被收录,仅提供基础包。 - 连带问题:系统自动匹配了
python3-tk等替代包,但无法满足开发需求。
二、解决方案
方案1:使用系统默认Python 3.6(最稳定)
Ubuntu 18.04 ARM默认自带Python 3.6,其开发包可直接安装,无需额外配置:
bash
# 安装Python 3.6开发包
sudo apt install -y python3-dev python3-distutils
# 安装pip
curl https://bootstrap.pypa.io/pip/3.6/get-pip.py | sudo python3
方案2:通过源码编译安装Python 3.8(获取dev包)
若必须使用Python 3.8,需从源码编译(包含dev组件):
-
安装编译依赖:
bashsudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget -
下载Python 3.8源码:
bashwget https://www.python.org/ftp/python/3.8.10/Python-3.8.10.tgz tar -xf Python-3.8.10.tgz cd Python-3.8.10 -
编译并安装(包含dev组件):
bash./configure --enable-optimizations make -j4 # 4核编译 sudo make altinstall # 避免覆盖系统默认Python -
验证:
bashpython3.8 --version # 输出3.8.10 # 开发包已包含在源码编译结果中,可直接使用
三、后续建议
- 优先选择方案1(Python 3.6),与Ubuntu 18.04 ARM的系统依赖兼容性最佳,可满足OpenCV、Qt等开发需求。
- 若需Python 3.8,方案2的源码编译可完整获取
dev组件,但编译耗时较长(约10-20分钟)。
2、若安装QT时发生下面故障
~$ sudo apt install -y qt5-default qt5-qmake qttools5-dev-too
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
qt5-default : Depends: qtbase5-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
这是Ubuntu 18.04(ARM架构)下安装Qt5时出现的依赖冲突问题,核心原因是系统中存在损坏的包或源配置不匹配。以下是问题分析与解决方案:
一、问题分析
- 直接错误 :
qt5-default依赖qtbase5-dev,但该依赖包无法安装;- 最终提示"无法修正问题,存在损坏的包"。
- 根本原因 :
- 系统源(尤其是Jetson平台的NVIDIA源)与Ubuntu 18.04官方源的包版本不兼容;
- 之前的操作可能残留了未完成的包安装,导致依赖链断裂。
二、解决方案
步骤1:修复损坏的包
首先清理系统中损坏或残留的包:
bash
# 修复损坏的包
sudo apt --fix-broken install
# 清理过时的包缓存
sudo apt clean && sudo apt autoremove
步骤2:调整软件源(适配Jetson平台)
Jetson平台的Ubuntu 18.04需确保NVIDIA源与官方源兼容:
-
备份当前源列表:
bashsudo cp /etc/apt/sources.list /etc/apt/sources.list.bak -
编辑源列表,使用国内ARM源(如清华源):
bashsudo nano /etc/apt/sources.list替换为以下内容(仅保留必要源):
debdeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse -
保存文件:按Ctrl+O,回车确认;
-
退出编辑器:按Ctrl+X
-
更新源:
bash
sudo apt update
步骤3:手动安装Qt5依赖包
直接安装qtbase5-dev(qt5-default的核心依赖),再安装Qt5组件:
bash
# 先安装核心依赖
sudo apt install -y qtbase5-dev
# 再安装Qt5工具链
sudo apt install -y qt5-qmake qttools5-dev qttools5-dev-tools
三、验证安装
执行以下命令,确认Qt5工具正常:
bash
qmake --version
若输出QMake version 3.1及Qt5版本信息,说明安装成功。
四、替代方案:源码编译Qt5(若上述方法失败)
若APT安装持续失败,可从Qt官网下载ARM架构的Qt5源码编译,步骤如下:
-
下载Qt5.12源码(适配Ubuntu 18.04):
bashwget https://download.qt.io/archive/qt/5.12/5.12.12/single/qt-everywhere-src-5.12.12.tar.xz -
编译并安装(参考Qt官方文档,需约2小时)。
该方案可解决Jetson平台下Qt5的依赖冲突问题,确保开发环境正常。