Skip to content
This repository has been archived by the owner on Dec 14, 2022. It is now read-only.

Commit

Permalink
Use the same qemu binaries as the ones provided in https://github.com…
Browse files Browse the repository at this point in the history
…/osrf/multiarch-docker-image-generation

In order to work around https://bugs.launchpad.net/qemu/+bug/1805913 and so qemu supports renameat2() syscall.

Signed-off-by: TSC21 <[email protected]>
  • Loading branch information
TSC21 committed Jun 5, 2021
1 parent d2207a6 commit 8aa54a2
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 2 deletions.
Binary file added ros_cross_compile/qemu/qemu-aarch64-static
Binary file not shown.
Binary file added ros_cross_compile/qemu/qemu-arm-static
Binary file not shown.
8 changes: 7 additions & 1 deletion ros_cross_compile/sysroot_creator.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,13 @@ def setup_emulator(arch: str, output_dir: Path) -> None:
bin_dir.mkdir(parents=True, exist_ok=True)
needs_emulator = (py_platform.system() != 'Darwin') and (py_platform.machine() != arch)
if needs_emulator:
emulator_path = Path('/') / 'usr' / 'bin' / emulator_name
"""
Using the same qemu binaries as the ones provided in
https://github.com/osrf/multiarch-docker-image-generation in order to
work around https://bugs.launchpad.net/qemu/+bug/1805913 and so qemu
supports renameat2() syscall.
"""
emulator_path = Path(__file__).parent / 'qemu' / emulator_name
if not emulator_path.is_file():
raise RuntimeError('Could not find the expected QEmu emulator binary "{}"'.format(
emulator_path))
Expand Down
3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,15 @@
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Topic :: Software Development',
],
description='A tool to build ROS workspaces for various target architectures and platforms.',
long_description=long_description,
long_description_content_type='text/markdown',
license='Apache License, Version 2.0',
package_data={
package_name: ['docker/*.*', 'mixins/*.*'],
package_name: ['docker/*.*', 'mixins/*.*', 'qemu/*.*'],
},
install_requires=[
'docker>=2,<3',
Expand Down

0 comments on commit 8aa54a2

Please sign in to comment.