如何优雅的一键适配Ubuntu20.04的OpenHarmony环境?请关注【itopen:openharmony_env_init】...

itopen组织
1、提供OpenHarmony优雅实用的小工具
2、手把手适配riscv + qemu + linux的三方库移植
3、未来计划riscv + qemu + ohos的三方库移植 + 小程序开发
4、一切拥抱开源,拥抱国产化

一、概述

本工程的作用主要是基于Ubuntu20.04版本一键自动初始化Ubuntu的配置环境,方便在安装Ubuntu20.04系统后能够快速安装所需的依赖库,基于本脚本安装后基本适配均能使用。

小编这里就为大家提供了一键 OpenHarmony 代码下载,如果觉得好用,辛苦动动小手,点个赞

脚本下载请关注:itopen: 一键适配 Ubuntu20.04 的 OpenHarmony 环境二、配置前说明

  • 该更新源仅适用于Ubuntu以下系列

    Ubuntu18.04

    Ubuntu20.04

    Ubuntu22.04

    强烈推荐Ubuntu20.04,本人使用的一直都是Ubuntu20.04

三、一键自动化配置

一键自动化配置必须是root账号,自动化主要是配置以下功能:

  • apt源替换成国内的阿里云的源

  • 配置shbash

  • 配置usr/include/asm软连接

  • 安装UbuntuOpenHarmony的基础依赖包

  • git lfs安装

  • 配置repo工具

  • 安装vim的个性化配置

    这个是个人的vim配置,不需要可以安装完成后删除~/.vim~/.vimrc即可,关于vim的操作可参考:我的个人vim

apt-get -f -y install git
apt-get -f -y install dos2unix
git clone https://gitee.com/itopen/openharmony_env_init.git
cd openharmony_env_init
bash root_init.sh

如果不使用自动化,可以按照如下手动安装

四、apt源替换

sudo su
cd /etc/apt/
mv sources.list sources.list_bak
vim sources.list
添加以下内容到sources.list中

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
apt-get update
apt-get upgrade

五、root权限安装的工具包

5.1 直接安装的程序和依赖包(必须一个一个安装)

apt-get -f -y install apt-utils
apt-get -f -y install vim
apt-get -f -y install software-properties-common
apt-get -f -y install openssh-server
apt-get -f -y install iputils-ping
apt-get -f -y install curl
apt-get -f -y install net-tools
apt-get -f -y install bsdmainutils
apt-get -f -y install kmod
apt-get -f -y install bc
apt-get -f -y install rsync
apt-get -f -y install gawk
apt-get -f -y install ssh
apt-get -f -y install ccache
apt-get -f -y install zip
apt-get -f -y install python-dev
apt-get -f -y install make
apt-get -f -y install m4
apt-get -f -y install gcc-multilib
apt-get -f -y install ca-certificates-java
apt-get -f -y install unzip
apt-get -f -y install python3-yaml
apt-get -f -y install perl
apt-get -f -y install openssl
apt-get -f -y install libssl1.1
apt-get -f -y install gnupg
apt-get -f -y install xsltproc
apt-get -f -y install x11proto-core-dev
apt-get -f -y install tcl
apt-get -f -y install python3-crypto
apt-get -f -y install python-crypto
apt-get -f -y install libxml2-utils
apt-get -f -y install libxml2-dev
apt-get -f -y install libx11-dev
apt-get -f -y install libssl-dev
apt-get -f -y install libgl1-mesa-dev
apt-get -f -y install lib32z1-dev
apt-get -f -y install lib32ncurses5-dev
apt-get -f -y install g++-multilib
apt-get -f -y install flex
apt-get -f -y install bison
apt-get -f -y install doxygen
apt-get -f -y install git
apt-get -f -y install subversion
apt-get -f -y install tofrodos
apt-get -f -y install pigz
apt-get -f -y install expect
apt-get -f -y install python3-xlrd 
apt-get -f -y install git-core
apt-get -f -y install gperf 
apt-get -f -y install build-essential
apt-get -f -y install zlib1g-dev
apt-get -f -y install libc6-dev-i386
apt-get -f -y install lib32z-dev
apt-get -f -y install openjdk-8-jdk
apt-get -f -y install ruby
apt-get -f -y install mtools
apt-get -f -y install python3-pip
apt-get -f -y install gcc-arm-linux-gnueabi
apt-get -f -y install genext2fs
apt-get -f -y install liblz4-tool
apt-get -f -y install libssl-dev
apt-get -f -y install autoconf
apt-get -f -y install pkg-config
apt-get -f -y install zlib1g-dev
apt-get -f -y install libglib2.0-dev
apt-get -f -y install libmount-dev
apt-get -f -y install libpixman-1-dev
apt-get -f -y install libncurses5-dev
apt-get -f -y install exuberant-ctags
apt-get -f -y install silversearcher-ag
apt-get -f -y install libtinfo5
apt-get -f -y install device-tree-compiler
apt-get -f -y install libssl-dev
apt-get -f -y install libelf-dev
apt-get -f -y install dwarves
apt-get -f -y install gcc-arm-none-eabi
apt-get -f -y install default-jdk
apt-get -f -y install u-boot-tools
apt-get -f -y install mtd-utils
apt-get -f -y install scons
apt-get -f -y install automake
apt-get -f -y install libtinfo5
apt-get -f -y install gcc-multilib
apt-get -f -y install libtool
apt-get -f -y install libgmp-dev
apt-get -f -y install texinfo
apt-get -f -y install mpc
apt-get -f -y install autotools-dev
apt-get -f -y install libmpc-dev
apt-get -f -y install libmpfr-dev
apt-get -f -y install libgmp-dev
apt-get -f -y install patchutils
apt-get -f -y install libexpat-dev
apt-get -f -y install libfdt-dev
apt-get -f -y install libncursesw5-dev
apt-get -f -y install cmake
apt-get -f -y install wget
apt-get -f -y install libelf-devel

5.2 配置sh为bash

ls -l /bin/sh                   #如果显示为“/bin/sh -> bash”则为正常,否则请按以下方式修改: 
sudo dpkg-reconfigure dash       #然后选择no

5.3 git lfs安装

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
apt-get install git-lfs
apt install git-lfs
git lfs install

5.4 repo工具安装

curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > repo
chmod a+x repo
mv repo /usr/local/bin/

六、个人账号必须配置的工具

6.1 Git配置

git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global core.editor vim
git config --global credential.helper store
git config --global http.sslverify false

【NOTE】:如果代码在gitlab上需要将个人账号下的ssh key添加到gitlab中,具体如何配置百度搜索

6.2 安装hb命令

# 方法一:
# 下载一套master分支的代码然后进入root目录下执行
pip3 install build/lite
vim ~/.bashrc
export PATH=$PATH:~/.local/bin
source ~/.bashrc

# 方法二:
python3 -m pip install --user ohos-build
vim ~/.bashrc
export PATH=$PATH:~/.local/bin
source ~/.bashrc

# 方法三:
# 安装指定版本,例如:0.4.3
python3 -m pip install ohos-build==0.4.3
vim ~/.bashrc
export PATH=$PATH:~/.local/bin
source ~/.bashrc

6.3 卸载hb命令

pip3 uninstall ohos-build

6.4 Ubuntu安装hdc方法

每日构建 | OpenHarmony CI中下载ohos-sdk全量包,然后找到hdc和libusb_shared.so放到环境变量中即可

cp version-Daily_Version-ohos-sdk-20230523_020127-ohos-sdk.tar.gz ~/Download
tar -xvf version-Daily_Version-ohos-sdk-20230523_020127-ohos-sdk.tar.gz
cd ohos-sdk/linux
unzip toolchains-linux-x64-4.0.7.3-Beta1.zip
cd toolchains
cp hdc libusb_shared.so ~/bin
<think>好的,我需要帮助用户在Ubuntu 20.04上安装Kalibr。首先,我得回忆一下用户提供的引用内容。引用[1]提到Ubuntu 20.04和18.04的依赖差异大,需要修改和参考博客及官网。引用[2]则提到了使用Ubuntu 20.04、ROS Noetic、OpenCV4和Python3安装Kalibr的教程。用户之前可能尝试过安装,但遇到了问题,现在需要更详细的步骤。 首先,Kalibr的安装通常依赖ROS环境Ubuntu 20.04对应的ROS版本是Noetic,而较早的Kalibr可能基于ROS Melodic(Ubuntu 18.04)或更早版本。因此,可能需要处理依赖兼容性问题。根据引用[1]和[2],用户需要安装一些依赖项,可能需要手动调整或替换某些包。 接下来,安装步骤大概包括:安装ROS Noetic,创建Catkin工作空间,安装必要的依赖如OpenCV、Eigen、SuiteSparse等。然后,可能需要从源代码编译Kalibr。这里需要注意Python版本的问题,因为Ubuntu 20.04默认使用Python3,而旧版Kalibr可能依赖Python2,需要调整。 用户提供的参考博客提到了解决依赖关系的问题,比如可能通过修改CMakeLists.txt或安装特定版本的库。例如,OpenCV4可能与Kalibr的某些代码不兼容,需要修改头文件引用或函数调用方式。此外,还可能遇到Boost库版本的问题,需要安装合适的版本。 在编译过程中,用户可能会遇到各种错误,例如缺少头文件、函数未声明等。需要根据错误信息逐一排查,可能需要修改源码中的部分内容,或者安装缺失的依赖包。例如,引用[1]中提到的逐步更改依赖内容,可能涉及到修改package.xml或CMakeLists中的依赖项版本。 最后,测试安装是否成功,可能需要运行Kalibr提供的示例命令,检查是否有错误输出。如果一切顺利,用户应该能够使用Kalibr进行传感器校准。 现在需要将这些步骤整理成清晰的安装指南,确保用户能够逐步执行,并指出可能遇到的常见问题及解决方法。同时,需要提醒用户注意不同Ubuntu版本的差异,特别是ROS和Python版本的变化,以及如何调整依赖项来适应这些变化。</think>### 在 Ubuntu 20.04 上安装 Kalibr 的步骤 Kalibr 是一个用于传感器校准的工具,但其安装过程依赖较多且易受系统环境影响。以下是针对 Ubuntu 20.04 的安装方法: --- #### **1. 安装 ROS Noetic** Kalibr 需要 ROS 支持,Ubuntu 20.04 对应 ROS 版本为 Noetic: ```bash sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt update sudo apt install ros-noetic-desktop-full echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` --- #### **2. 安装依赖项** 安装 Kalibr 编译所需的库和工具: ```bash sudo apt install python3-catkin-tools python3-osrf-pycommon \ libeigen3-dev libsuitesparse-dev libopencv-dev libboost-all-dev \ libv4l-dev libceres-dev python3-pip pip3 install numpy scipy matplotlib ``` --- #### **3. 创建 Catkin 工作空间** ```bash mkdir -p ~/kalibr_ws/src cd ~/kalibr_ws catkin init catkin config --extend /opt/ros/noetic catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release ``` --- #### **4. 下载并编译 Kalibr 源码** 从 GitHub 克隆源码并编译: ```bash cd ~/kalibr_ws/src git clone https://github.com/ethz-asl/kalibr.git cd .. catkin build -j4 # 根据 CPU 核心数调整 j 后的数字 ``` --- #### **5. 处理可能的依赖问题** - **OpenCV4 兼容性**: 若编译报错与 OpenCV 相关,需修改源码中头文件引用,例如将 `#include <opencv/cv.h>` 替换为 `#include <opencv2/opencv.hpp>`[^2]。 - **Python3 适配**: Kalibr 部分脚本可能默认使用 Python2,需在文件头部修改解释器为 `#!/usr/bin/env python3`,并确保 `numpy` 等库已安装。 - **Boost 库版本**: 若报错 `boost::filesystem` 未找到,安装指定版本: ```bash sudo apt install libboost1.71-dev ``` --- #### **6. 验证安装** 编译成功后,运行测试命令: ```bash source ~/kalibr_ws/devel/setup.bash kalibr_calibrate_cameras --help # 应显示帮助信息 ``` --- ### **常见问题解决** 1. **依赖冲突**: 若出现 `catkin build` 失败,尝试删除 `build` 和 `devel` 目录后重新编译。 2. **OpenCV 函数未定义**: 需检查代码中 OpenCV 函数调用是否兼容 OpenCV4,例如 `CV_LOAD_IMAGE_GRAYSCALE` 需改为 `cv::IMREAD_GRAYSCALE`[^2]。 3. **ROS 环境未生效**: 确保 `source /opt/ros/noetic/setup.bash` 和 `source ~/kalibr_ws/devel/setup.bash` 已执行。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值