Apollo: dev_start.sh error on TX2

Created on 21 May 2018  路  16Comments  路  Source: ApolloAuto/apollo

Hi there,

When I run
bash docker/scripts/dev_start.sh on TX2,
I got this error:

[INFO] Start pulling docker image apolloauto/apollo:dev-aarch64-20170927_1111 ... dev-aarch64-20170927_1111: Pulling from apolloauto/apollo Digest: sha256:10fc9daa7699f30650df05b9f3aff9762a236433e089e8755dcb0f6cfb7baab0 Status: Downloaded newer image for apolloauto/apollo:dev-aarch64-20170927_1111 Cannot find device "can0" Cannot find device "can0" modprobe: FATAL: Module nvidia not found in directory /lib/modules/4.4.38-tegra modprobe: FATAL: Module nvidia-uvm not found in directory /lib/modules/4.4.38-tegra Error response from daemon: manifest for apolloauto/apollo:localization_volume-aarch64-latest not found Unable to find image 'apolloauto/apollo:localization_volume-aarch64-latest' locally docker: Error response from daemon: manifest for apolloauto/apollo:localization_volume-aarch64-latest not found. See 'docker run --help'.

Any help? Thanks.

Docker Help wanted

Most helpful comment

@263868161 From the error log, it seems that it tried to find ROS header file in a wrong directory "/apollo/ros/", not "/home/tmp/ros", so please check this. Maybe there a duplicated "ros" directory inside the source code director? Not sure.

Also, I made a docker image for tx2 that contains the most dependencies(but there are still some additional work need to be done by yourself, like nvidia driver, cuda, etc. NOT fully tested.), it can be pulled with:

export DOCKER_REPO=zhxt/apollo &&  docker/scripts/dev_start.sh  -t dev-aarch64-community-20180621_2330

NOTE: You also need a patched version dev_start.sh to pull the image and some other patches to pass the build.
NOTE 2: This docker image is just for learning or technique validation, try at your own risk.

update:
oops, made a typo in tag name, renamed.

All 16 comments

Sorry that I have no experience on this platform. It looks like the script is not intelligent enough to locate dependencies automatically.
As it's not referenced hardware by Apollo, unfortunately we don't have bandwidth to support trouble shooting for it by now. Please kindly share with us if you got any progress :)

@Zoltan3057 As far as I know. The arm version docker has not been updated since last year. While the X86_64 version is changing fast. The docker architecture is much different than the initial version. The pre compiled dependencies has been divided into separated docker data volumes(yolo3d, localization, map data). Also, there is no latest version Apollo Platform( Apollo ROS) for ARM. Because of lack of these dependencies, Apollo on ARM may not full featured.

With this in mind, If you still want to run Apollo on TX2, I would suggest you :

  1. Build the latest version Apollo Platform (Apollo ROS), which may need a little changes for build (there is a PR issue61 for that). And put it in to docker. This is my build apollo-platform-2.1.2_aarch64.tar.gz (ubuntu 16.04) passcode: dvtm

    1. Remove the pull docker volumes procedure from dev_start.sh script. (This may cause the related feature not to work, since there is no ARM version pre compiled dependencies / caffe , they will never work on ARM platform for now.)

    2. Copy the all bazel dependent source tarball into docker. You may need to build some of them manually. You also may need to do some trick to make it possible to install debs inside docker(that docker does not have sudo installed by default, so just copy it from the host would work.)

    3. Execpt the moules which are not supported from bazel build.

You will finally get dreaview working if you're lucky :P

@Zoltan3057 I met the same error, have you solved it?

@zombiiee I couldn't figure it out ,so I just purchase a new IPC with x86 version. You can find some information on this website
https://mp.weixin.qq.com/s/KEdXmwUGHysy_LZAfdkmlw
Good luck!

@zhxt thanks for you detailed reply.

@zhxt I am also trying to build apollo 2.5 on jetson tx2, is there any step-by-step guide or off-the-shelf bash scripts can help? Thanks.

@yang-le I didn't write all the steps down. But you can follow with what I said in the early comment. If you have any questions, catch me at #apolloauto Channel on freenode IRC.

@zhxt hi,I am trying to build apollo2.0.0 on TX2
/apollo/modules/common/BUILD:31:1: undeclared inclusion(s) in rule '//modules/common:apollo_app':
this rule is missing dependency declarations for the following files included by 'modules/common/apollo_app.cc':
'/apollo/ros/include/ros/ros.h'.
how to solve the proble ? 3Q

@263868161 As I already said, you need to install Apollo ROS(apollo-platform) first.
For 2.0 , you can follow this post wrote by Mr. Huang.

@zhxt I have already performed the following steps:
1) cp -a ros/include/* /usr/include/.
2锛塩p -a ros/ /home/tmp/ros
and ros from apollo-platform-2.1.2_aarch64.tar.gz ,but build the apollo project
/apollo/modules/common/BUILD:31:1: undeclared inclusion(s) in rule '//modules/common:apollo_app':
this rule is missing dependency declarations for the following files included by 'modules/common/apollo_app.cc':
'/apollo/ros/include/ros/ros.h'.
what happed?

@263868161 not sure锛宮aybe there is a broken link under /apollo .

@263868161 You may need docker cp ros_aarch64 apollo_dev:/home/tmp/ros to put ros to the right place.

```
nvidia@in_dev_docker:/apollo$ ls /home/tmp/
benchmark-1.1.0.tar.gz curlpp-0.8.1.tar.gz gflags-2.2.0.tar.gz googletest-release-1.8.0.tar.gz modules_data proj.4-4.9.3.zip qp-oases-3.2.1-1.zip tinyxml2-5.0.1.zip
civetweb-1.10.tar.gz eigen-3.2.10.tar.gz glog-0.3.5.tar.gz libconsolve.tar opencv-2.4.13.2.zip protobuf-3.3.0.tar.gz ros yaml-cpp-0.5.3.zip
nvidia@in_dev_docker:/apollo$

````

@zhxt I work with @263868161 , we had met this issue for few days, we have folder ros/ in /home/tmp/, but the issue isn't soluted. Do you have another proposal?Thank you very much!
image

@263868161 From the error log, it seems that it tried to find ROS header file in a wrong directory "/apollo/ros/", not "/home/tmp/ros", so please check this. Maybe there a duplicated "ros" directory inside the source code director? Not sure.

Also, I made a docker image for tx2 that contains the most dependencies(but there are still some additional work need to be done by yourself, like nvidia driver, cuda, etc. NOT fully tested.), it can be pulled with:

export DOCKER_REPO=zhxt/apollo &&  docker/scripts/dev_start.sh  -t dev-aarch64-community-20180621_2330

NOTE: You also need a patched version dev_start.sh to pull the image and some other patches to pass the build.
NOTE 2: This docker image is just for learning or technique validation, try at your own risk.

update:
oops, made a typo in tag name, renamed.

@zhxt Thank you very much!!!

Closing this issue as it appears to be resolved. Thank you @zhxt :)

Was this page helpful?
0 / 5 - 0 ratings