STEPS:

0. Install Homebrew

1.  Install 'Docker for Mac 18.03+',配置CPUs (n个CPUs,Bazel开n个线程编译), Memory (>2G,编译最小内存,推荐4G), Swap (>2G,推荐2G)

2. git clone ... apollo ...

3. 进入apollo目录,pull docker image for apollo (首次运行会pull 5G 的images)

./docker/scripts/dev_start.sh

*注意 这里的dev_start.sh需要修改下来适配Docker for Mac特性, 需要改成手动配置端口映射:

Replace
--net host \

with bellow, both 8887 and 8888 works.
-p 8887:8887 -p 8888:8888 \

4. 进入apollo container by using

./docker/scripts/dev_into.sh

5. Docker for mac 的实现基于轻量虚拟机技术,网络和文件系统共享完善。

在container中的/apollo文件夹直接映射host中的工作文件夹./apollo

6. 编译

./apollo.sh build

(or)

./apollo.sh build_no_perception dbg

由于macbook 13" 性能不佳或者网络不好(编译中可能会下载一个小文件),编译可能中断。

直接退出后重启docker, 清空container,重启apollo container进入接着编译

Bazel会自动跳过已编译过的项目。

整个编译过程大概要~1h,需要约10G硬盘空间。

7. 编译成功后运行

./scripts/bootstrap.sh

启动

andrew@in_dev_docker:/apollo$ ./scripts/bootstrap.sh

Started supervisord with dev conf

Start roscore...

voice_detector: started

dreamview: started

Dreamview is running at http://localhost:8888

8. 在host mac上打开chrome输入地址 localhost:8888

进入dreamview前端界面

From the dropdown box selet "Navigation" mode.

9.  Replay demo rosbag

To see if the system works, use the demo 'bag' which feeds the system.

下载演示数据集 demo_2.5.bag (~约3G)

# get rosbag note that the command download is required
python ./docs/demo_guide/rosbag_helper.py demo_2.5.bag 运行演示数据集 demo_2.5.bag
# You can now replay this demo "bag" in a loop with the '-l' flag
rosbag play -l demo_2.5.bag

Dreamview should show a running vehicle now.

Comments

1. Docker for mac的支持已经很好, mac可以用做代码编写和编译环境、模拟演示

2. 整个编译运行空间,大约需要50G +,mac ssd!,macbook 13"编译时间长

3. docker.qcow2 是docker用于存放image和container的单个文件,在docker for mac 中配置其大小最多为60G。

=============================

du -sh 查看当前文件夹大小

du -sh * | sort -n 统计当前文件夹(目录)大小,并按文件大小排序

  • #!/bin/bash
  • # Delete all containers
  • docker rm $(docker ps -a -q)
  • # Delete all images
  • docker rmi $(docker images -q)

Force-remove a running container

This command will force-remove a running container.

$ docker rm --force redis r

The main process inside the container referenced under the link redis will receive SIGKILL, then the container will be removed.

Remove all stopped containers

$ docker rm $(docker ps -a -q)

This command will delete all stopped containers. The command docker ps -a -q will return all existing container IDs and pass them to the rm command which will delete them. Any running containers will not be deleted.

Remove a container and its volumes

$ docker rm -v redis redis

This command will remove the container and any volumes associated with it. Note that if a volume was specified with a name, it will not be removed.

Macbook pro 13" compile Apollo 2.5的更多相关文章

  1. 小小程序员的生产力工具——2017款MacBook pro 13.3(附使用技巧和常用链接)

    新买的2017款 MacBook pro 13.3 九号到了,第一次用苹果笔记本,用了两天基本熟悉了,各种软件也安装的差不多,把一些小技巧分享给大家.先放几张图   使用小常识,希望可以帮到您一:尽量 ...

  2. Macbook pro 13" Installs Ubuntu 18.04

    最新版的 MacBook对Ubuntu的支持(或者反过来?)不是很好,但是除了Suspend和resume功能没找到方法使用外,其他都还好,可用. 1.mac在OSX中先安装refind引导,如果开启 ...

  3. MacBook Pro (13 英寸, 2017 年)安装win10系统

    准备: windows10系统镜像 16G或更大容量U盘(存放驱动,必须格式化为FAT) 官方提供的驱动软件 详细步骤: 1.打开Bootcamp,选择镜像文件 2.点击下一步,选择Bootcamp分 ...

  4. MacBook Pro (13 英寸, 2012 年中)安装win7系统

    准备: windows7 ISO镜像 16G或更大U盘(提前备份,需要格式化) Apple 官方提供的 windows7驱动程序 详细步骤: 1.打开Bootcamp,选择前两个选择点击继续,选择下载 ...

  5. MacBook Pro 安装win7 64 成功安装过程总结

    安装对象: MacBook Pro (13 英寸, 2010 年中) 中安装win7 64位操作系统(原版安装非Ghost),且只保留win7系统即可. 场景还原: 拿到笔记本时,笔记本中已无Mac ...

  6. 如何修复MacBook Pro过热:保持MacBook散热的13个技巧

    尽管MacBook Pro是一台能处理繁重工作量的高能效机器,但它却无法像市场上其他笔记本电脑一样避免过热.至于什么可以防止发热,那不是一两个技巧就能解决的问题.相反,这是一组技巧可以解决的挑战. 因 ...

  7. MacBook Pro 2019 13 inch & screen blink

    MacBook Pro 2019 13 inch & screen blink MacBook Pro 闪屏 https://macreports.com/mac-how-to-trouble ...

  8. 2016款MACBOOK PRO触控条版 安装WIN10初体验 及 无奈退货记

    新的2016MBP终于发布了,作为把苹果电脑装WIN使用的人,等候很久之后,终于可以行动了. 黄山松 (Tom Huang) 发表于博客园http://www.cnblogs.com/tomview/ ...

  9. macbook pro install ubuntu

    https://help.ubuntu.com/community/MacBookPro Determine your hardware revision To determine which ver ...

随机推荐

  1. cookie,session,localStage,sessionStage区别

    Cookie和Session详解 1.什么是Cookie Cookie是存放在客户端浏览器的Name/Value键值对,访问服务器时,会自动传递给服务器. Cookie的生成方式有两种,服务器写入,客 ...

  2. 基于HTML5 Canvas生成粒子效果的人物头像

    前面我们分享过一个HTML5 Canvas实现的图像马赛克模糊效果,HTML5处理图片真的非常简单.今天我们要再利用HTML5 Canvas实现一个粒子效果的人物头像,你可以任意选择一张头像图片,接下 ...

  3. xmapp+netbeans调试

    1.netbeans的设置 2.修改php.ini 如下: [XDebug]zend_extension = "D:\dev\xampp\php\ext\php_xdebug.dll&quo ...

  4. PLSQL 连接不上64位ORACLE数据库解决办法

    http://it.oyksoft.com/post/6003/ huan jing bian liang TNS_ADMIN  D:\OracleClient D:\OracleClient\TNS ...

  5. 你有自己的Web缓存知识体系吗?

    赵舜东 江湖人称赵班长,曾在武警某部负责指挥自动化的架构和运维工作,2008年退役后一直从事互联网运维工作.曾带团队负责国内某电商的运维工作,<saltstack入门与实践>作者,某学院高 ...

  6. Tagger: Deep Unsupervised Perceptual Grouping

    没看论文,但看了介绍视频,简直做了一个小型纪录片. 视频地址:https://www.youtube.com/watch?v=jfB_lWZA4Qo 中文翻译:http://blog.csdn.net ...

  7. UML概述

    UML (Unified Modeling Language)统一建模语言,是描述.构造和文档化系统制品的可视化语言,是一种图形表示法. UML用途:UML是一种工具,主要用在我们对软件用面向对象的方 ...

  8. NANDflash和NORflash的区别(设计师在使用闪存时需要慎重选择)

    NANDflash和NORflash的区别(设计师在使用闪存时需要慎重选择)     NOR和NAND是现在市场上两种主要的非易失闪存技术.Intel于1988年首先开发出NOR flash技术,彻底 ...

  9. 【BZOJ】1016: [JSOI2008]最小生成树计数(kruskal+特殊的技巧)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1016 想也想不到QAQ 首先想不到的是:题目有说,具有相同权值的边不会超过10条. 其次:老是去想组 ...

  10. IPL和SPL的区别

    IPL是英文Initial Program Loader的简称,意为初始程序的装入程序,其主要功能为负责主板.电源.硬件初始化程序.并把SPL装入RAM空间中,当IPL损坏则只能更换字库解决否则只能换 ...