问题描述


  其实在虚拟机下部署apollo网上是有线程教程的。可以参考在虚拟机上安装运行百度Apollo 6.0Apollo 6.0 安装完全指南。我依靠这两个指南准备部署的是apollo 7.0,事实证明虽然版本不同,但部署方法基本是一致的。

  接下来说说遇到的问题,最主要的问题有:

  1. 在虚拟机与主机的共享文件夹下解压apollo代码遇到symlink error: Operation not permitted
  2. 调用docker/scripts/dev_into.sh进入到docker环境后发现所有的shell指令都只能通过sudo执行
  3. ./apollo.sh build_opt报错:failed to sync “/apollo/.cache/…/jdk” invalid arguments error 22
    前两个问题开始遇到的时候没有太在意,在第三个问题上卡了很久,不管怎样添加权限,重新下载都没能解决。尝试了各种关键字进行搜索基本没有找到的相似的问题。

解决方法

  其实现在想来这三个问题根因只有一个那就是共享文件夹!这是今天偶然想看一下unzip解压apollo-v7.0.0.zip为什么会遇到软连接创建失败的问题时做的检索,错误信息如下:
symlink_error
根据这个错误信息在StackExchange找到了答案,问题就是windows和linux之间的共享文件由于文件系统的原因,在这个目录下解压文件会报错。因此将压缩包复制到虚拟机的其他目录下发现确实可以解决软连接创建失败的问题。
其实一旦解决了这个问题以上遇到的三个问题全都解决了。

编译问题

  除了以上提到的三个问题之外,还有几个问题可以在网上搜索到,比如:

  1. zlib版本问题(1.2.11已经不支持了,相关网页无法打开),可以参考这里
  2. driver/camera下编译util.cc时报inlining failed in call to always_inline ‘_mm_mullo_epi32’: target specific option mismatch或者inlining failed in call to always_inline ‘_mm256_adds_epi16’: target specific option mismatch等类似的错误可以把apollo目录下modules/drivers/camera下的BUILD文件打开,找到编译camera的位置
    util_error
    在里面增加一行:
    在这里插入图片描述
    这个修改方式可以参考这里这里

总结

  前后折腾了两三天,终于把环境编译通过了,其实在虚拟机下编译通过最主要的目的还是阅读源代码(因为没有GPU,环境是不完善的)的时候能有语法提示。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐