一、问题描述
最近在搞Open 3d 点云point cloud 相关的东西,过程需要安装较高版本的cmake 3.20版本以上,3.20版本又需要gcc 更高版本 至少11.0以上,理论上本机配置的有 ubuntu 官方的源和阿里云的源,不过 通过搜索就只能搜索安装的9.4.0的版本gcc
为什么?
自己到gcc 官网下载一点点编译依赖多的很,很浪费时间,开发效率太低了
我仔细对比了一下,发现结论是ubuntu 操作版本系统太高了 20.04.1
现有官方和 阿里云只有在ubuntu 20.04默认对应的9.0版本中才提供的有20.04.1的deb包 ,所以apt只能搜索到9.4.0
二、要点
ubuntu 20.04 更新后版本为ubuntu20.04.1 官方和阿里云 apt 源中 只有gcc 9.0中提供了9.4.0 的ubuntu 20.04.1的安装deb
三、分析过程
3.1 查看系统版本
uname -a
Linux dltc-ROS-Virtual-Machine 5.15.0-71-generic #78~20.04.1-Ubuntu SMP Wed Apr 19 11:26:48 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
uname -a
Linux dltc-ROS-Virtual-Machine 5.15.0-71-generic #78~20.04.1-Ubuntu SMP Wed Apr 19 11:26:48 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
3.2 查看官方 apt源
3.2.1 gcc-9
http://cn.archive.ubuntu.com/ubuntu/pool/main/g/gcc-9/
gcc 9.4.0 明显提供有20.04.1_amd64.deb
3.2.2 gcc-12
http://cn.archive.ubuntu.com/ubuntu/pool/main/g/gcc-12/
明显不包括 22.04.1 有版本
3.3 查看阿里云 apt
3.3.1 gcc-9
http://mirrors.aliyun.com/ubuntu/pool/main/g/gcc-9/?spm=a2c6h.25603864.0.0.5ec82129l2KwuJ
gcc 9.4.0 明显提供有20.04.1_amd64.deb
3.3.2 gcc12
http://mirrors.aliyun.com/ubuntu/pool/main/g/gcc-12/?spm=a2c6h.25603864.0.0.5ec82129l2KwuJ
阿里gcc 12 中明显没有提供 12.04.1_amd64版本
四、总结
开发时,一般需要更多中件间,尤其linux 系统 各个中件间的依赖是几何倍增长的,如果你用到的库和包比较多时,如果每个都用源代码编译的话消耗的时间是无穷的,很容易崩溃
建议使用次新版本操作系统,对应配套比较成熟,如果一定想用最新版本操作,千万不要让他更新。
不然每次安装包的时候总 是找不到