[Slackbuilds-users] qemu and capstone
Luiz Carlos Ramos
lramos.prof at yahoo.com.br
Mon Feb 25 10:06:35 UTC 2019
Hello,
recently I got a problem when building qemu (3.1.0). Basically, the
compilation stops with this message:
/tmp/SBo/qemu-3.1.0/include/disas/capstone.h:6:22: fatal error:
capstone.h: Arquivo ou diretório não encontrado
("Arquivo ou diretório não encontrado": in Portuguese it means "File or
directory not found")
After some research I found that an additional include path should be
added, that is, to /usr/include/capstone.
About the environment: Slackware 14.2 multi-lib with a lot of
slackbuilds installed. capstone is present in this machine.
I could fix this issue changing qemu SlackBuild to have a better control
of the capstone dependency. A variable was created ("CAPSTONE_ENABLE")
which is "no" by default but can be set externally to "yes", allowing
the build with capstone.
I tested both cases in my machine and it worked. Additional tests may be
necessary, that is, building in a machine without capstone.
Below a patch which can be applied to qemu is included.
Many thanks,
Luiz Ramos
lramos.prof at yahoo dot com dot br
São Paulo - Brazil
--- patch start ---------------------------------
diff --git a/system/qemu/README b/system/qemu/README
index 5a93f4648b..cd6b700334 100644
--- a/system/qemu/README
+++ b/system/qemu/README
@@ -34,6 +34,11 @@ users to use extended networking capabilities, do this:
BRIDGE_HELPER_SETUID=yes ./qemu.SlackBuild
+Build with capstone is disabled by default. To build a version with
+capstone enabled, one should use this command:
+
+ CAPSTONE_ENABLE=yes ./qemu.SlackBuild
+
Don't forget to load the 'kvm-intel' or 'kvm-amd' module (depending on
your processor) prior to launching qemu-system-ARCH with kvm enabled.
For older/unmaintained qemu frontends, this build also creates a symlink
diff --git a/system/qemu/qemu.SlackBuild b/system/qemu/qemu.SlackBuild
index 3f8fe1a59b..8be7e06153 100644
--- a/system/qemu/qemu.SlackBuild
+++ b/system/qemu/qemu.SlackBuild
@@ -54,6 +54,7 @@
# 4.4 17-Feb-2018 version update to 2.11.x release, Spectre/Meltdown mitigation
# 4.5 03-Jun-2018 version update to 2.12.0 release, note new deps: sdl2, gtk+3
# 5.0 14-Dec-2018 verion update to 3.1.0 release, note minimum dependency versions on release notes
+# 5.1 24-Feb-2019 added switch to better control dependency on capstone
PRGNAM=qemu
VERSION=${VERSION:-3.1.0}
@@ -63,6 +64,7 @@ TAG=${TAG:-_SBo}
KVMGROUP=${KVMGROUP:-users}
TARGETS=${TARGETS:-some}
VNC_ENABLE=${VNC_ENABLE:-yes}
+CAPSTONE_ENABLE=${CAPSTONE_ENABLE:-no}
AUDIODRIVERS=${AUDIODRIVERS:-pa,alsa,oss,sdl}
BRIDGE_HELPER_SETUID=${BRIDGE_HELPER_SETUID:-no}
@@ -132,6 +134,11 @@ else
with_vnc="--disable-vnc"
fi
+# To allow compilation with capstone, use CAPSTONE_ENABLE=yes
+with_capstone=$(test "$CAPSTONE_ENABLE" == "yes" \
+ && echo "--enable-capstone --extra-cflags=-I/usr/include/capstone --extra-cxxflags=-I/usr/include/capstone" \
+ || echo "--disable-capstone")
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -150,6 +157,7 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-nettle \
--audio-drv-list=${AUDIODRIVERS} \
$with_vnc \
+ $with_capstone \
$targets
# Make these first; otherwise make won't run in parallel.
--- patch end -----------------------------------
More information about the SlackBuilds-users
mailing list