-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
QEMU in release assets requires capstone for amd64 #17490
Comments
I guess it is best to report this directly against https://github.com/containers/podman-machine-qemu |
I'll link this issue in that project then. |
new release has been published with the fix: https://github.com/containers/podman-machine-qemu/releases/tag/v7.2.0-1 will need to also update the qemu version for the pkg |
Is this issue fixed? I have desktop 0.12.0 and podman 4.4.2 and still getting the libcapstone lib error. |
@FedeHAL It's been fixed in the podman-machine-qemu repo for about a month now but the podman has yet to provide a release for it that includes that. This is why I'm still staying on Podman 4.3.1 until the project addresses that. |
+1 |
@ashley-cui could we get a |
Issue Description
This is against the Podman 4.4.1 release.
The macOS installable package includes QEMU and the QEMU build since v7.1.0 requires libcapstone as a dynamic library to be present on the system. Capstone is not and should not be required to use QEMU.
This applies only to the AMD64 release and not the ARM64 release which does not have a dependency on libcapstone.
Steps to reproduce the issue
On a Mac without Homebrew installed and without libcapstone.
curl -OL# https://github.com/containers/podman/releases/download/v4.4.1/podman-installer-macos-amd64.pkg
curl -OL# https://github.com/containers/podman/releases/download/v4.4.1/podman-installer-macos-arm64.pkg
mkdir -p {amd64,arm64}/stage
xar -C amd64 -xf podman-installer-macos-amd64.pkg
xar -C arm64 -xf podman-installer-macos-arm64.pkg
( cd amd64/stage && cpio -id --quiet < ../podman.pkg/Payload )
( cd arm64/stage && cpio -id --quiet < ../podman.pkg/Payload )
otool -L amd64/stage/podman/qemu/bin/qemu-system-x86_64 | grep -c capstone
1
otool -L arm64/stage/podman/qemu/bin/qemu-system-aarch64 | grep -c capstone
0
On either an Intel or M1:
10.
sudo mv amd64/stage/podman /opt
11.
/opt/podman/qemu/bin/qemu-system-x86_64 --version
sudo rm -rf /opt/podman
On an M1 only:
13.
sudo mv arm64/stage/podman /opt
14.
/opt/podman/qemu/bin/qemu-system-aarch64 --version
sudo rm -rf /opt/podman
Describe the results you received
AMD64 QEMU cannot locate libcapstone because it was built to have a dependency on it whereas this is not the case for ARM64. libcapstone is not provided by Apple.
Describe the results you expected
Both AMD64 and ARM64 podman releases not requiring libcapstone for the bundled QEMU respectivly.
podman info output
N/A
Podman in a container
No
Privileged Or Rootless
None
Upstream Latest Release
Yes
Additional environment details
Homebrew not installed and is not desired to be installed just to get libcapstone for AMD64 only.
Additional information
Only occurs with AMD64.
Since the podman project is pulling the pre-built QEMU from:
For completeness, the ARM64 pre-built QEMU is at:
This is where the problem lies since this GitHub project handles the build of QEMU and the podman build for the macOS installable package merely bundles the result.
Looks like all that is needed in that proiect is to update
build-qemu.sh
to include--disable-capstone
flag when invokingconfigure
for the QEMU build.Podman 4.3.1 did not have this problem and thus QEMU 7.0.0.
The text was updated successfully, but these errors were encountered: