ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

[Autoware.auto] Can't use ADE when $HOME isn't /home/$USER

asked 2020-11-27 08:23:40 -0600

hug0 gravatar image

Hello,

I can't execute the step

$ ade start --update --enter

from Autoware.auto installation guide, most likely because my homedir isn't in /home/$USER but in /net/home/$USER.

The command gave the following error:

<user>@python:~/AutowareAuto$ ade start --update --enter
master: Pulling from autowarefoundation/autoware.auto/autowareauto/amd64/ade-dashing
Digest: sha256:90996249b9e119e49a3e1d194fa5f3a563fa333ddfdb77e67d84b4384e5cd1b5
Status: Image is up to date for registry.gitlab.com/autowarefoundation/autoware.auto/autowareauto/amd64/ade-dashing:master
registry.gitlab.com/autowarefoundation/autoware.auto/autowareauto/amd64/ade-dashing:master
master: Pulling from autowarefoundation/autoware.auto/autowareauto/amd64/binary-dashing
Digest: sha256:49148957c7fad30f5e556b0067e8e03c830e5a413941465172fed5a1c307ef9d
Status: Image is up to date for registry.gitlab.com/autowarefoundation/autoware.auto/autowareauto/amd64/binary-dashing:master
registry.gitlab.com/autowarefoundation/autoware.auto/autowareauto/amd64/binary-dashing:master
Starting ade with the following images:
ade-dashing    | 5f8e03a42821 | master | registry.gitlab.com/autowarefoundation/autoware.auto/autowareauto/amd64/ade-dashing:master   
binary-dashing | 94c3b0204ce0 | master | registry.gitlab.com/autowarefoundation/autoware.auto/autowareauto/amd64/binary-dashing:master
ade_registry.gitlab.com_autowarefoundation_autoware.auto_autowareauto_amd64_binary-dashing_master

Current default time zone: 'Europe/Berlin'
Local time is now:      Fri Nov 27 14:10:36 CET 2020.
Universal Time is now:  Fri Nov 27 13:10:36 UTC 2020.

Adding user <user> to group video
Adding user <user> to group dialout
cp: cannot create regular file '/home/<user>/.bash_logout': Permission denied
ERROR: Failed to start ade. To debug use, ``ade start -- --env DEBUG=1``.

The command ade start -- --env DEBUG=1 didn't give much more information except for the fact that cp -a /etc/skel/.bash_logout /home/<user>/.bash_logout was the bash command which caused the error.

With a symlink /home/<user> to /net/home/<user>/ the issue remained.

I tried running chmod a+w /net/home/<user> (the symkink has lrwxrwxrwx rights) but the issue remains.

The installation guide of Autoware.auto advises to

See the ade --help output for more information about using environment variables to define the configuration.

But said output was simply:

Usage: ade [OPTIONS] COMMAND [ARGS]...

  ADE Development Environment.

Options:
  --version
  --rc PATH  Specify a different ADE configuration file. The file should be in
             adehome or its subdirectories.  [default: .aderc]
  --help     Show this message and exit.

Commands:
  enter       Enter environment, running optional command.
  load        Load images from DIRECTORY.
  save        Save configuration and images of running ADE into DIRECTORY.
  start       Start environment from within ADE project.
  stop        Stop ade environment.
  update-cli  Update ade command-line interface.

Software information:

  • OS: Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-124-generic x86_64)
  • ADE version: 4.2.0
  • Autoware.auto commit: 94c3b0204ce0c3afb7056001b4c49da1d7e8815e
  • Relevant folders structure:

.

/net/home/<user>/
├── adehome
│   └── AutowareAuto
│       ├── autoware.auto.dashing.repos
│       ├── autoware.auto.foxy.repos
│       ├── CHANGES.md
│       ├── CODE_OF_CONDUCT.md
│       ├── CONTRIBUTING.md
│       ├── DISCLAIMER.md
│       ├── docs
│       ├── lgsvl-sensors.json
│       ├── LICENSE
│       ├── README.md
│       ├── src
│       └── tools
└── ...

Thanks for any help you can provide; please tell me in case you need more information.

edit retag flag offensive close merge delete

3 Answers

Sort by » oldest newest most voted
0

answered 2020-12-01 13:16:30 -0600

Josh Whitley gravatar image

It looks like this is a confirmed bug. Can you please create an issue at https://gitlab.com/autowarefoundation... Some testing will be required to fix it but I think just replacing /home/$USER with $HOME in entrypoint and building a new ade image should fix it.

edit flag offensive delete link more
0

answered 2020-11-28 01:20:07 -0600

miura gravatar image

Your error seems to be happening in AutowareAuto/tools/ade_image/entrypoint. If you edit the part that says /home/$USER to /net/home/$USER, I think it will start successfully.

edit flag offensive delete link more

Comments

I already tried this and unfortunately it doesn't work. I think it is because ADE uses Docker images that it pulls from gitlab and not locally built Docker images. For what it's worth, I also tried to build the Dockerfile in Autoware/tools/ade_image to try to use but I had an error:

Step 12/31 : COPY ros-deps /tmp/
COPY failed: stat /var/lib/docker/tmp/docker-builder723353107/ros-deps: no such file or directory

It seems to me that ros-deps should be available in the directory ade_image but it isn't and as far I can tell, it has never been.

hug0 gravatar image hug0  ( 2020-11-28 01:41:22 -0600 )edit

That's because this file is usually generated by a CI job which dynamically gathers the list of ROS dependencies for the stack. Here is the command you can run in your AutowareAuto folder to generate this file:

rosdep install --as-root "apt:false pip:false" --simulate --reinstall --ignore-src -y --from-paths src | sort >> ros-deps
Josh Whitley gravatar image Josh Whitley  ( 2020-12-01 09:38:35 -0600 )edit

Thanks for the answer, unfortunately, it didn't quite work yet. It returned a bunch of errors in the style of:

~/adehome/AutowareAuto$ rosdep install --as-root "apt:false pip:false" --simulate --reinstall --ignore-src -y --from-paths src | sort >> ros-deps                                                     
WARNING: ROS_PYTHON_VERSION is unset. Defaulting to 2
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies (ROS distro is not set. Make sure `ROS_DISTRO` environment variable is set, or use `--rosdistro` option to specify the distro, e.g. `--rosdistro indigo`):
autoware_auto_examples: Cannot locate rosdep definition for [ament_lint_common]
trajectory_spoofer: Cannot locate rosdep definition for [ament_lint_common]
# etc...

Is there a file of rosdep rules that should be available but isn't ? I tried to find one in the Autoware repo but couldn't.

hug0 gravatar image hug0  ( 2020-12-02 07:13:46 -0600 )edit
0

answered 2022-01-03 11:05:50 -0600

Mihir gravatar image

sudo usermod -aG docker $USER

sudo chmod 666 /var/run/docker.sock

This worked for me. Got it from https://www.its304.com/article/weixin...

edit flag offensive delete link more

Question Tools

Stats

Asked: 2020-11-27 08:23:40 -0600

Seen: 1,785 times

Last updated: Dec 01 '20