jspricke / ros-deb-builder-action

Github Action to convert ROS packages to Debian packages
BSD 3-Clause "New" or "Revised" License
65 stars 24 forks source link

`unshare` failure when building on `ubuntu:jammy` container #36

Closed marip8 closed 11 months ago

marip8 commented 11 months ago

I'm trying to build a few packages using this action on an ubuntu:jammy Docker container, rather than the Github 22.04 runner, and I'm running into some issues with unshare:

sbuild (Debian sbuild) 0.84.2~ubuntu2204+3 (28 December 2022) on 75794b96caf5

  +===================================================================================+
  | ros-humble-octomap 1.9.8-2023.11.08.00.51 (amd64) Wed, 08 Nov 2023 00:51:04 +0000 |
  +===================================================================================+

  Package: ros-humble-octomap
  Version: 1.9.8-2023.11.08.00.51
  Source Version: 1.9.8-2023.11.08.00.51
  Distribution: jammy
  Machine Architecture: amd64
  Host Architecture: amd64
  Build Architecture: amd64
  Build Type: binary

  E: unshare failed: 
  E: unable to to unshare
  E: Error creating chroot session: skipping ros-humble-octomap

  +------------------------------------------------------------------------------+
  | Summary                                                                      |
  +------------------------------------------------------------------------------+

  Build Architecture: amd64
  Build Type: binary
  Build-Space: 0
  Build-Time: 0
  Distribution: jammy
  Fail-Stage: create-session
  Host Architecture: amd64
  Install-Time: 0
  Job: /__w/tesseract_packages/tesseract_packages/src/octomap/ros-humble-octomap_1.9.8-2023.11.08.00.51.dsc
  Machine Architecture: amd64
  Package: ros-humble-octomap
  Package-Time: 0
  Source-Version: 1.9.8-2023.11.08.00.51
  Space: 0
  Status: failed
  Version: 1.9.8-2023.11.08.00.51
  --------------------------------------------------------------------------------
  Finished at 2023-11-08T00:51:04Z
  Build needed 00:00:00, 0k disk space
  E: Error creating chroot session: skipping ros-humble-octomap
  Error: Process completed with exit code 1.

Here is the link to the full action log. I'm fairly new to sbuild, so I'm not entirely sure what is going wrong here.

jspricke commented 11 months ago

Afaik Docker does not support user namespaces (unshare syscall), is there any reason you want to use Docker?

marip8 commented 11 months ago

Not particularly. I don't exactly know how the Github runners are configured, so I thought it would be "cleaner" to try to run this action out of a container. If it's not easily supported, then I don't think I have a problem running it on the Github runners.

Does this action only work with 22.04, or can it also support 20.04?

jspricke commented 11 months ago

Not particularly. I don't exactly know how the Github runners are configured, so I thought it would be "cleaner" to try to run this action out of a container. If it's not easily supported, then I don't think I have a problem running it on the Github runners.

Note that user namespaces are cleaner then Docker.

Does this action only work with 22.04, or can it also support 20.04?

Only 22.04.