* [Qemu-devel] [PATCH] configure: helpfully output package names for some missing dependencies.
@ 2014-01-23 4:54 Stewart Smith
2014-01-23 6:21 ` Stefan Weil
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 0/6] configure: make output and errors more friendly Stewart Smith
0 siblings, 2 replies; 14+ messages in thread
From: Stewart Smith @ 2014-01-23 4:54 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-trivial, Stewart Smith
This just makes it a tiny bit easier for new developers to get started
by making it easy to see what package they need to install to get
the dependency.
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
---
configure | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 3782a6a..87303f6 100755
--- a/configure
+++ b/configure
@@ -1532,7 +1532,9 @@ EOF
:
else
error_exit "zlib check failed" \
- "Make sure to have the zlib libs and headers installed."
+ "Make sure to have the zlib libs and headers installed." \
+ "Debian/Ubuntu: zlib1g-dev" \
+ "Fedora/RHEL: zlib-devel"
fi
fi
libs_softmmu="$libs_softmmu -lz"
@@ -2348,7 +2350,9 @@ if $pkg_config --atleast-version=$glib_req_ver gthread-2.0; then
LIBS="$glib_libs $LIBS"
libs_qga="$glib_libs $libs_qga"
else
- error_exit "glib-$glib_req_ver required to compile QEMU"
+ error_exit "glib-$glib_req_ver required to compile QEMU."\
+ "Debian/Ubuntu: libglib2.0-dev" \
+ "Fedora/RHEL: glib2-devel"
fi
##########################################
@@ -2380,6 +2384,8 @@ else
error_exit "pixman not present. Your options:" \
" (1) Preferred: Install the pixman devel package (any recent" \
" distro should have packages as Xorg needs pixman too)." \
+ " Ubuntu/Debian: libpixman-1-dev" \
+ " Fedora/RHEL: pixman-devel"\
" (2) Fetch the pixman submodule, using:" \
" git submodule update --init pixman"
fi
@@ -2656,6 +2662,8 @@ EOF
# have neither and want - prompt for system/submodule install
error_exit "DTC not present. Your options:" \
" (1) Preferred: Install the DTC devel package" \
+ " Ubuntu/Debian: libfdt-dev" \
+ " Fedora/RHEL: libfdt-devel" \
" (2) Fetch the DTC submodule, using:" \
" git submodule update --init dtc"
else
--
1.8.4.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Qemu-devel] [PATCH] configure: helpfully output package names for some missing dependencies.
2014-01-23 4:54 [Qemu-devel] [PATCH] configure: helpfully output package names for some missing dependencies Stewart Smith
@ 2014-01-23 6:21 ` Stefan Weil
2014-01-23 10:28 ` Peter Maydell
2014-01-23 11:08 ` Stewart Smith
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 0/6] configure: make output and errors more friendly Stewart Smith
1 sibling, 2 replies; 14+ messages in thread
From: Stefan Weil @ 2014-01-23 6:21 UTC (permalink / raw)
To: Stewart Smith, qemu-devel; +Cc: qemu-trivial
Hi Steward,
Am 23.01.2014 05:54, schrieb Stewart Smith:
> This just makes it a tiny bit easier for new developers to get started
> by making it easy to see what package they need to install to get
> the dependency.
>
> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
> ---
> configure | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/configure b/configure
> index 3782a6a..87303f6 100755
> --- a/configure
> +++ b/configure
> @@ -1532,7 +1532,9 @@ EOF
> :
> else
> error_exit "zlib check failed" \
> - "Make sure to have the zlib libs and headers installed."
> + "Make sure to have the zlib libs and headers installed." \
> + "Debian/Ubuntu: zlib1g-dev" \
> + "Fedora/RHEL: zlib-devel"
> fi
> fi
Removing that zlib check is on my private todo list since QEMU uses
glib2, because glib2 already depends on zlib.
> libs_softmmu="$libs_softmmu -lz"
> @@ -2348,7 +2350,9 @@ if $pkg_config --atleast-version=$glib_req_ver gthread-2.0; then
> LIBS="$glib_libs $LIBS"
> libs_qga="$glib_libs $libs_qga"
> else
> - error_exit "glib-$glib_req_ver required to compile QEMU"
> + error_exit "glib-$glib_req_ver required to compile QEMU."\
> + "Debian/Ubuntu: libglib2.0-dev" \
> + "Fedora/RHEL: glib2-devel"
> fi
>
> ##########################################
> @@ -2380,6 +2384,8 @@ else
> error_exit "pixman not present. Your options:" \
> " (1) Preferred: Install the pixman devel package (any recent" \
> " distro should have packages as Xorg needs pixman too)." \
> + " Ubuntu/Debian: libpixman-1-dev" \
> + " Fedora/RHEL: pixman-devel"\
> " (2) Fetch the pixman submodule, using:" \
> " git submodule update --init pixman"
> fi
> @@ -2656,6 +2662,8 @@ EOF
> # have neither and want - prompt for system/submodule install
> error_exit "DTC not present. Your options:" \
> " (1) Preferred: Install the DTC devel package" \
> + " Ubuntu/Debian: libfdt-dev" \
The previous line uses a tab character. Replace it by blanks.
Here a small hint might by useful because searching for 'DTC' packages
will usually fail. What about writing "DTC (libfdt) devel package"?
> + " Fedora/RHEL: libfdt-devel" \
> " (2) Fetch the DTC submodule, using:" \
> " git submodule update --init dtc"
> else
>
I'm not sure whether the file 'configure' is the right place for the
precise package information. Here are some thoughts:
* Those help messages are only useful for Debian / Fedore based Linux
distributions, but not for OpenSuSE and definitely not for other
hosts (Mac OS X, Windows, BSD).
* They only cover a very limited set of packages. For a really useful
QEMU, lots of more packages are needed.
* Package names are not really good interfaces because they tend to
change over time.
My personal impression is that the current hints in configure are
sufficient (with the one exception DTC) and that the QEMU wiki is a
better place to document build dependencies for the different platforms.
Cheers
Stefan
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Qemu-devel] [PATCH] configure: helpfully output package names for some missing dependencies.
2014-01-23 6:21 ` Stefan Weil
@ 2014-01-23 10:28 ` Peter Maydell
2014-01-23 11:08 ` Stewart Smith
1 sibling, 0 replies; 14+ messages in thread
From: Peter Maydell @ 2014-01-23 10:28 UTC (permalink / raw)
To: Stefan Weil; +Cc: Stewart Smith, QEMU Trivial, QEMU Developers
On 23 January 2014 06:21, Stefan Weil <sw@weilnetz.de> wrote:
> My personal impression is that the current hints in configure are
> sufficient (with the one exception DTC) and that the QEMU wiki is a
> better place to document build dependencies for the different platforms.
I tend to agree, with the exception that our "feature_not_found()" errors
are excessively cryptic, because we just pass a single word to that
function, and so we end up saying "User requested feature docs,
configure was not able to find it" when what we actually mean is
"You need to install makeinfo and pod2man to build the documentation".
thanks
-- PMM
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Qemu-devel] [PATCH] configure: helpfully output package names for some missing dependencies.
2014-01-23 6:21 ` Stefan Weil
2014-01-23 10:28 ` Peter Maydell
@ 2014-01-23 11:08 ` Stewart Smith
1 sibling, 0 replies; 14+ messages in thread
From: Stewart Smith @ 2014-01-23 11:08 UTC (permalink / raw)
To: Stefan Weil, qemu-devel; +Cc: qemu-trivial
Stefan Weil <sw@weilnetz.de> writes:
> Am 23.01.2014 05:54, schrieb Stewart Smith:
>> diff --git a/configure b/configure
>> index 3782a6a..87303f6 100755
>> --- a/configure
>> +++ b/configure
>> @@ -1532,7 +1532,9 @@ EOF
>> :
>> else
>> error_exit "zlib check failed" \
>> - "Make sure to have the zlib libs and headers installed."
>> + "Make sure to have the zlib libs and headers installed." \
>> + "Debian/Ubuntu: zlib1g-dev" \
>> + "Fedora/RHEL: zlib-devel"
>> fi
>> fi
>
> Removing that zlib check is on my private todo list since QEMU uses
> glib2, because glib2 already depends on zlib.
It may have some value existing as (at least on Fedora) glib2-devel
depends on libz.so.1 (i.e. zlib) but *not* on zlib-devel, so if we just
checked for glib2 we'd get the lib but not the headers for zlib, thus
having a failing build.
>> @@ -2656,6 +2662,8 @@ EOF
>> # have neither and want - prompt for system/submodule install
>> error_exit "DTC not present. Your options:" \
>> " (1) Preferred: Install the DTC devel package" \
>> + " Ubuntu/Debian: libfdt-dev" \
>
> The previous line uses a tab character. Replace it by blanks.
ack. Will do.
> Here a small hint might by useful because searching for 'DTC' packages
> will usually fail. What about writing "DTC (libfdt) devel package"?
ack, will do.
>> + " Fedora/RHEL: libfdt-devel" \
>> " (2) Fetch the DTC submodule, using:" \
>> " git submodule update --init dtc"
>> else
>>
>
> I'm not sure whether the file 'configure' is the right place for the
> precise package information. Here are some thoughts:
It's possibly not the ideal place, but I've never found an ideal
place. In other projects I've had the list of package names bitrot in:
- configure output
- README
- HACKING
- INSTALL
- some other documentation that ends up on a web site
Pretty much the only place it hasn't bitrotted is puppet manifests and
modules for setting up build machines... which isn't the *ideal* form of
documentation :)
That being said, I've found the package names outputted by configure to
be useful, even if not always perfect.
> * Those help messages are only useful for Debian / Fedore based Linux
> distributions, but not for OpenSuSE and definitely not for other
> hosts (Mac OS X, Windows, BSD).
My guess is that for OSX, Windows and BSD the git submodule option may
be taken more often?
I'll happily add in the OpenSuSE packages.. I'm just a bit less
experienced with OpenSuSE (maybe it's time for a VM though).
> * They only cover a very limited set of packages. For a really useful
> QEMU, lots of more packages are needed.
That was to be my next patch: fleshing out the list and thinking of
somewhere to put the optional package names so that they're easily
discoverable.
> * Package names are not really good interfaces because they tend to
> change over time.
Yep, they do - but this is relatively rare, and usually it's a version
number bump, and the old name usually gives you something to search for
that only gives a couple of results (rather than dozens).
> My personal impression is that the current hints in configure are
> sufficient (with the one exception DTC) and that the QEMU wiki is a
> better place to document build dependencies for the different platforms.
I'd vote for and rather than or, simply because I'm not good enough to
read all the Wiki docs before typing "./configure && make" and I suspect
I'm not the only one in the world :)
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH v2 0/6] configure: make output and errors more friendly
2014-01-23 4:54 [Qemu-devel] [PATCH] configure: helpfully output package names for some missing dependencies Stewart Smith
2014-01-23 6:21 ` Stefan Weil
@ 2014-01-24 1:39 ` Stewart Smith
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 1/6] configure: add hint of libfdt to DTC dependency not found message Stewart Smith
` (6 more replies)
1 sibling, 7 replies; 14+ messages in thread
From: Stewart Smith @ 2014-01-24 1:39 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-trivial, Stewart Smith
This expands on my previous patch which was just the "configure: helpfully
output package names for some missing dependencies" patch.
Based on feedback I've added a hint to the could not find DTC error message.
There's also other changes that were suggested and the ordering of output
from configure and configure --help which I found rather useful when
attempting to find what package was needed for each configure option.
Stewart Smith (6):
configure: add hint of libfdt to DTC dependency not found message
configure: sort output of configure results alphabetically
configure: alphabetize output of --help and separate into groups
configure: add help for --disable-xfsctl and --enable-xfsctl
configure: add hints to a remedy for feature_not_found errors
configure: helpfully output package names for some missing
dependencies.
configure | 378 ++++++++++++++++++++++++++++++++------------------------------
1 file changed, 197 insertions(+), 181 deletions(-)
--
1.8.4.2
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH v2 1/6] configure: add hint of libfdt to DTC dependency not found message
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 0/6] configure: make output and errors more friendly Stewart Smith
@ 2014-01-24 1:39 ` Stewart Smith
2014-01-24 6:13 ` Stefan Weil
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 2/6] configure: sort output of configure results alphabetically Stewart Smith
` (5 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Stewart Smith @ 2014-01-24 1:39 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-trivial, Stewart Smith
Most distros package it as libfdt, and mentioning libfdt here makes it
much easier to find the package you're missing.
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
---
configure | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 3782a6a..8b6e64a 100755
--- a/configure
+++ b/configure
@@ -2654,8 +2654,8 @@ EOF
fdt_libs="-L\$(BUILD_DIR)/dtc/libfdt $fdt_libs"
elif test "$fdt" = "yes" ; then
# have neither and want - prompt for system/submodule install
- error_exit "DTC not present. Your options:" \
- " (1) Preferred: Install the DTC devel package" \
+ error_exit "DTC (libfdt) not present. Your options:" \
+ " (1) Preferred: Install the DTC (libfdt) devel package" \
" (2) Fetch the DTC submodule, using:" \
" git submodule update --init dtc"
else
--
1.8.4.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH v2 2/6] configure: sort output of configure results alphabetically
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 0/6] configure: make output and errors more friendly Stewart Smith
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 1/6] configure: add hint of libfdt to DTC dependency not found message Stewart Smith
@ 2014-01-24 1:39 ` Stewart Smith
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 3/6] configure: alphabetize output of --help and separate into groups Stewart Smith
` (4 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Stewart Smith @ 2014-01-24 1:39 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-trivial, Stewart Smith
Keep the paths and compiler/target details at the top, but sort
all the yes/no features alphabetically, making it much easier to
both browse through and to check if a feature you want has been
enabled or not. Eyes can be faster than grep.
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
---
configure | 118 +++++++++++++++++++++++++++++++-------------------------------
1 file changed, 59 insertions(+), 59 deletions(-)
diff --git a/configure b/configure
index 8b6e64a..e61708a 100755
--- a/configure
+++ b/configure
@@ -3722,6 +3722,7 @@ QEMU_CFLAGS="$QEMU_CFLAGS $pixman_cflags $fdt_cflags"
libs_softmmu="$libs_softmmu $pixman_libs"
echo "Install prefix $prefix"
+echo "Install blobs $blobs"
echo "BIOS directory `eval echo $qemu_datadir`"
echo "binary directory `eval echo $bindir`"
echo "library directory `eval echo $libdir`"
@@ -3753,92 +3754,91 @@ if test "$slirp" = "yes" ; then
fi
echo "host CPU $cpu"
echo "host big endian $bigendian"
+[ ! -z "$uname_release" ] && \
+echo "uname -r $uname_release"
echo "target list $target_list"
+if test -n "$sparc_cpu"; then
+ echo "Target Sparc Arch $sparc_cpu"
+fi
echo "tcg debug enabled $debug_tcg"
echo "gprof enabled $gprof"
echo "sparse enabled $sparse"
echo "strip binaries $strip_opt"
echo "profiler $profiler"
echo "static build $static"
+echo "PIE $pie"
echo "-Werror enabled $werror"
+echo "ATTR/XATTR support $attr"
+echo "Audio drivers $audio_drv_list"
+echo "Block whitelist (rw) $block_drv_rw_whitelist"
+echo "Block whitelist (ro) $block_drv_ro_whitelist"
+echo "bluez support $bluez"
+echo "brlapi support $brlapi"
+echo "build guest agent $guest_agent"
if test "$darwin" = "yes" ; then
echo "Cocoa support $cocoa"
fi
-echo "pixman $pixman"
-echo "SDL support $sdl"
-echo "GTK support $gtk"
+echo "coroutine backend $coroutine"
+echo "coroutine pool $coroutine_pool"
echo "curses support $curses"
echo "curl support $curl"
-echo "mingw32 support $mingw32"
-echo "Audio drivers $audio_drv_list"
-echo "Block whitelist (rw) $block_drv_rw_whitelist"
-echo "Block whitelist (ro) $block_drv_ro_whitelist"
-echo "VirtFS support $virtfs"
-echo "VNC support $vnc"
-if test "$vnc" = "yes" ; then
- echo "VNC TLS support $vnc_tls"
- echo "VNC SASL support $vnc_sasl"
- echo "VNC JPEG support $vnc_jpeg"
- echo "VNC PNG support $vnc_png"
- echo "VNC WS support $vnc_ws"
-fi
-if test -n "$sparc_cpu"; then
- echo "Target Sparc Arch $sparc_cpu"
-fi
-echo "xen support $xen"
-echo "brlapi support $brlapi"
-echo "bluez support $bluez"
echo "Documentation $docs"
-[ ! -z "$uname_release" ] && \
-echo "uname -r $uname_release"
+echo "fdatasync $fdatasync"
+echo "fdt support $fdt"
+echo "gcov $gcov_tool"
+echo "gcov enabled $gcov"
+echo "GTK support $gtk"
+echo "GlusterFS support $glusterfs"
+echo "GLX support $glx"
echo "GUEST_BASE $guest_base"
-echo "PIE $pie"
-echo "vde support $vde"
-echo "netmap support $netmap"
-echo "Linux AIO support $linux_aio"
-echo "ATTR/XATTR support $attr"
-echo "Install blobs $blobs"
echo "KVM support $kvm"
-echo "RDMA support $rdma"
-echo "TCG interpreter $tcg_interpreter"
-echo "fdt support $fdt"
-echo "preadv support $preadv"
-echo "fdatasync $fdatasync"
-echo "madvise $madvise"
-echo "posix_madvise $posix_madvise"
-echo "sigev_thread_id $sigev_thread_id"
-echo "uuid support $uuid"
echo "libcap-ng support $cap_ng"
-echo "vhost-net support $vhost_net"
-echo "vhost-scsi support $vhost_scsi"
-echo "Trace backend $trace_backend"
-echo "Trace output file $trace_file-<pid>"
-echo "spice support $spice ($spice_protocol_version/$spice_server_version)"
-echo "rbd support $rbd"
-echo "xfsctl support $xfs"
-echo "nss used $smartcard_nss"
-echo "libusb $libusb"
-echo "usb net redir $usb_redir"
-echo "GLX support $glx"
if test "$libiscsi_version" = "1.4.0"; then
echo "libiscsi support $libiscsi (1.4.0)"
else
echo "libiscsi support $libiscsi"
fi
-echo "build guest agent $guest_agent"
+echo "libssh2 support $libssh2"
+echo "libusb $libusb"
+echo "Linux AIO support $linux_aio"
+echo "madvise $madvise"
+echo "mingw32 support $mingw32"
+echo "netmap support $netmap"
+echo "nss used $smartcard_nss"
+echo "pixman $pixman"
+echo "preadv support $preadv"
+echo "posix_madvise $posix_madvise"
echo "QGA VSS support $guest_agent_with_vss"
+echo "QOM debugging $qom_cast_debug"
+echo "rbd support $rbd"
+echo "RDMA support $rdma"
+echo "SDL support $sdl"
echo "seccomp support $seccomp"
-echo "coroutine backend $coroutine"
-echo "coroutine pool $coroutine_pool"
-echo "GlusterFS support $glusterfs"
-echo "virtio-blk-data-plane $virtio_blk_data_plane"
-echo "gcov $gcov_tool"
-echo "gcov enabled $gcov"
+echo "sigev_thread_id $sigev_thread_id"
+echo "spice support $spice ($spice_protocol_version/$spice_server_version)"
+echo "TCG interpreter $tcg_interpreter"
echo "TPM support $tpm"
-echo "libssh2 support $libssh2"
echo "TPM passthrough $tpm_passthrough"
-echo "QOM debugging $qom_cast_debug"
+echo "Trace backend $trace_backend"
+echo "Trace output file $trace_file-<pid>"
+echo "usb net redir $usb_redir"
+echo "uuid support $uuid"
+echo "vde support $vde"
echo "vhdx $vhdx"
+echo "vhost-net support $vhost_net"
+echo "vhost-scsi support $vhost_scsi"
+echo "VirtFS support $virtfs"
+echo "VNC support $vnc"
+if test "$vnc" = "yes" ; then
+ echo "VNC TLS support $vnc_tls"
+ echo "VNC SASL support $vnc_sasl"
+ echo "VNC JPEG support $vnc_jpeg"
+ echo "VNC PNG support $vnc_png"
+ echo "VNC WS support $vnc_ws"
+fi
+echo "virtio-blk-data-plane $virtio_blk_data_plane"
+echo "xen support $xen"
+echo "xfsctl support $xfs"
if test "$sdl_too_old" = "yes"; then
echo "-> Your SDL version is too old - please upgrade to have SDL support"
--
1.8.4.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH v2 3/6] configure: alphabetize output of --help and separate into groups
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 0/6] configure: make output and errors more friendly Stewart Smith
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 1/6] configure: add hint of libfdt to DTC dependency not found message Stewart Smith
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 2/6] configure: sort output of configure results alphabetically Stewart Smith
@ 2014-01-24 1:39 ` Stewart Smith
2014-01-24 6:30 ` Stefan Weil
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 4/6] configure: add help for --disable-xfsctl and --enable-xfsctl Stewart Smith
` (3 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Stewart Smith @ 2014-01-24 1:39 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-trivial, Stewart Smith
This should make it (slightly) easier to discover configure options.
I've tried to separate out build options (e.g. gcov) from feature
options (such as gtk).
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
---
configure | 174 ++++++++++++++++++++++++++++++++------------------------------
1 file changed, 89 insertions(+), 85 deletions(-)
diff --git a/configure b/configure
index e61708a..c225291 100755
--- a/configure
+++ b/configure
@@ -1102,7 +1102,7 @@ Standard options:
$(echo Available targets: $default_target_list | \
fold -s -w 53 | sed -e 's/^/ /')
-Advanced options (experts only):
+Advanced options, build (experts only):
--source-path=PATH path of source code [$source_path]
--cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]
--cc=CC use C compiler CC [$cc]
@@ -1135,16 +1135,18 @@ Advanced options (experts only):
--disable-sparse disable sparse checker (default)
--disable-strip disable stripping binaries
--disable-werror disable compilation abort on warning
- --disable-sdl disable SDL
- --enable-sdl enable SDL
- --disable-gtk disable gtk UI
- --enable-gtk enable gtk UI
- --disable-virtfs disable VirtFS
- --enable-virtfs enable VirtFS
- --disable-vnc disable VNC
- --enable-vnc enable VNC
- --disable-cocoa disable Cocoa (Mac OS X only)
- --enable-cocoa enable Cocoa (default on Mac OS X)
+ --disable-attr disables attr and xattr support
+ --enable-attr enable attr and xattr support
+ --enable-pie build Position Independent Executables
+ --disable-pie do not build Position Independent Executables
+ --cpu=CPU Build for host CPU [$cpu]
+ --disable-blobs disable installing provided firmware blobs
+ --enable-gcov enable test coverage analysis with gcov
+ --gcov=GCOV use specified gcov [$gcov_tool]
+ --enable-docs enable documentation build
+ --disable-docs disable documentation build
+
+Advanced options, features (experts only):
--audio-drv-list=LIST set audio drivers list:
Available drivers: $audio_possible_drivers
--block-drv-whitelist=L Same as --block-drv-rw-whitelist=L
@@ -1154,105 +1156,107 @@ Advanced options (experts only):
--block-drv-ro-whitelist=L
set block driver read-only whitelist
(affects only QEMU, not qemu-img)
- --disable-xen disable xen backend driver support
- --enable-xen enable xen backend driver support
- --disable-xen-pci-passthrough
- --enable-xen-pci-passthrough
--disable-brlapi disable BrlAPI
--enable-brlapi enable BrlAPI
- --disable-vnc-tls disable TLS encryption for VNC server
- --enable-vnc-tls enable TLS encryption for VNC server
- --disable-vnc-sasl disable SASL encryption for VNC server
- --enable-vnc-sasl enable SASL encryption for VNC server
- --disable-vnc-jpeg disable JPEG lossy compression for VNC server
- --enable-vnc-jpeg enable JPEG lossy compression for VNC server
- --disable-vnc-png disable PNG compression for VNC server (default)
- --enable-vnc-png enable PNG compression for VNC server
- --disable-vnc-ws disable Websockets support for VNC server
- --enable-vnc-ws enable Websockets support for VNC server
- --disable-curses disable curses output
- --enable-curses enable curses output
+ --disable-bluez disable bluez stack connectivity
+ --enable-bluez enable bluez stack connectivity
+ --disable-cap-ng disable libcap-ng support
+ --enable-cap-ng enable libcap-ng support
+ --disable-cocoa disable Cocoa (Mac OS X only)
+ --enable-cocoa enable Cocoa (default on Mac OS X)
+ --with-coroutine=BACKEND coroutine backend. Supported options:
+ gthread, ucontext, sigaltstack, windows
+ --disable-coroutine-pool disable coroutine freelist (worse performance)
+ --enable-coroutine-pool enable coroutine freelist (better performance)
--disable-curl disable curl connectivity
--enable-curl enable curl connectivity
+ --disable-curses disable curses output
+ --enable-curses enable curses output
--disable-fdt disable fdt device tree
--enable-fdt enable fdt device tree
- --disable-bluez disable bluez stack connectivity
- --enable-bluez enable bluez stack connectivity
- --disable-slirp disable SLIRP userspace network connectivity
- --disable-kvm disable KVM acceleration support
- --enable-kvm enable KVM acceleration support
+ --fmod-lib path to FMOD library
+ --fmod-inc path to FMOD includes
+ --enable-glusterfs enable GlusterFS backend
+ --disable-glusterfs disable GlusterFS backend
+ --disable-gtk disable gtk UI
+ --enable-gtk enable gtk UI
+ --enable-guest-base enable GUEST_BASE support for usermode
+ emulation targets
+ --disable-guest-base disable GUEST_BASE support
--disable-rdma disable RDMA-based migration support
--enable-rdma enable RDMA-based migration support
- --enable-tcg-interpreter enable TCG with bytecode interpreter (TCI)
+ --disable-kvm disable KVM acceleration support
+ --enable-kvm enable KVM acceleration support
+ --disable-libiscsi disable iscsi support
+ --enable-libiscsi enable iscsi support
+ --disable-libssh2 disable ssh block device support
+ --enable-libssh2 enable ssh block device support
+ --disable-libusb disable libusb (for usb passthrough)
+ --enable-libusb enable libusb (for usb passthrough)
+ --disable-linux-aio disable Linux AIO support
+ --enable-linux-aio enable Linux AIO support
+ --disable-netmap disable support for netmap network
+ --enable-netmap enable support for netmap network
+ --enable-rbd enable building the rados block device (rbd)
+ --disable-sdl disable SDL
+ --enable-sdl enable SDL
+ --disable-seccomp disable seccomp support
+ --enable-seccomp enables seccomp support
+ --disable-slirp disable SLIRP userspace network connectivity
+ --disable-smartcard-nss disable smartcard nss support
+ --enable-smartcard-nss enable smartcard nss support
+ --disable-spice disable spice
+ --enable-spice enable spice
--enable-system enable all system emulation targets
--disable-system disable all system emulation targets
+ --enable-tcg-interpreter enable TCG with bytecode interpreter (TCI)
+ --enable-tpm enable TPM support
+ --enable-trace-backend=B Set trace backend
+ Available backends: $($python $source_path/scripts/tracetool.py --list-backends)
+ --with-trace-file=NAME Full PATH,NAME of file to store traces
+ Default:trace-<pid>
--enable-user enable supported user emulation targets
--disable-user disable all user emulation targets
- --enable-linux-user enable all linux usermode emulation targets
- --disable-linux-user disable all linux usermode emulation targets
--enable-bsd-user enable all BSD usermode emulation targets
--disable-bsd-user disable all BSD usermode emulation targets
- --enable-guest-base enable GUEST_BASE support for usermode
- emulation targets
- --disable-guest-base disable GUEST_BASE support
- --enable-pie build Position Independent Executables
- --disable-pie do not build Position Independent Executables
- --fmod-lib path to FMOD library
- --fmod-inc path to FMOD includes
+ --enable-linux-user enable all linux usermode emulation targets
+ --disable-linux-user disable all linux usermode emulation targets
--oss-lib path to OSS library
--enable-uname-release=R Return R for uname -r in usermode emulation
- --cpu=CPU Build for host CPU [$cpu]
+ --disable-usb-redir disable usb network redirection support
+ --enable-usb-redir enable usb network redirection support
--disable-uuid disable uuid support
--enable-uuid enable uuid support
--disable-vde disable support for vde network
--enable-vde enable support for vde network
- --disable-netmap disable support for netmap network
- --enable-netmap enable support for netmap network
- --disable-linux-aio disable Linux AIO support
- --enable-linux-aio enable Linux AIO support
- --disable-cap-ng disable libcap-ng support
- --enable-cap-ng enable libcap-ng support
- --disable-attr disables attr and xattr support
- --enable-attr enable attr and xattr support
- --disable-blobs disable installing provided firmware blobs
- --enable-docs enable documentation build
- --disable-docs disable documentation build
+ --disable-vhdx disables support for the Microsoft VHDX image format
+ --enable-vhdx enable support for the Microsoft VHDX image format
--disable-vhost-net disable vhost-net acceleration support
--enable-vhost-net enable vhost-net acceleration support
- --enable-trace-backend=B Set trace backend
- Available backends: $($python $source_path/scripts/tracetool.py --list-backends)
- --with-trace-file=NAME Full PATH,NAME of file to store traces
- Default:trace-<pid>
- --disable-spice disable spice
- --enable-spice enable spice
- --enable-rbd enable building the rados block device (rbd)
- --disable-libiscsi disable iscsi support
- --enable-libiscsi enable iscsi support
- --disable-smartcard-nss disable smartcard nss support
- --enable-smartcard-nss enable smartcard nss support
- --disable-libusb disable libusb (for usb passthrough)
- --enable-libusb enable libusb (for usb passthrough)
- --disable-usb-redir disable usb network redirection support
- --enable-usb-redir enable usb network redirection support
+ --disable-virtfs disable VirtFS
+ --enable-virtfs enable VirtFS
+ --disable-vnc disable VNC
+ --enable-vnc enable VNC
+ --disable-vnc-jpeg disable JPEG lossy compression for VNC server
+ --enable-vnc-jpeg enable JPEG lossy compression for VNC server
+ --disable-vnc-png disable PNG compression for VNC server (default)
+ --enable-vnc-png enable PNG compression for VNC server
+ --disable-vnc-sasl disable SASL encryption for VNC server
+ --enable-vnc-sasl enable SASL encryption for VNC server
+ --disable-vnc-tls disable TLS encryption for VNC server
+ --enable-vnc-tls enable TLS encryption for VNC server
+ --disable-vnc-ws disable Websockets support for VNC server
+ --enable-vnc-ws enable Websockets support for VNC server
+ --with-win-sdk=SDK-path path to Windows Platform SDK (to build VSS .tlb)
+ --disable-xen disable xen backend driver support
+ --enable-xen enable xen backend driver support
+ --disable-xen-pci-passthrough
+ --enable-xen-pci-passthrough
+
+Advanced options, Guest Agent (experts only):
--disable-guest-agent disable building of the QEMU Guest Agent
--enable-guest-agent enable building of the QEMU Guest Agent
--with-vss-sdk=SDK-path enable Windows VSS support in QEMU Guest Agent
- --with-win-sdk=SDK-path path to Windows Platform SDK (to build VSS .tlb)
- --disable-seccomp disable seccomp support
- --enable-seccomp enables seccomp support
- --with-coroutine=BACKEND coroutine backend. Supported options:
- gthread, ucontext, sigaltstack, windows
- --disable-coroutine-pool disable coroutine freelist (worse performance)
- --enable-coroutine-pool enable coroutine freelist (better performance)
- --enable-glusterfs enable GlusterFS backend
- --disable-glusterfs disable GlusterFS backend
- --enable-gcov enable test coverage analysis with gcov
- --gcov=GCOV use specified gcov [$gcov_tool]
- --enable-tpm enable TPM support
- --disable-libssh2 disable ssh block device support
- --enable-libssh2 enable ssh block device support
- --disable-vhdx disables support for the Microsoft VHDX image format
- --enable-vhdx enable support for the Microsoft VHDX image format
NOTE: The object files are built at the place where configure is launched
EOF
--
1.8.4.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH v2 4/6] configure: add help for --disable-xfsctl and --enable-xfsctl
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 0/6] configure: make output and errors more friendly Stewart Smith
` (2 preceding siblings ...)
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 3/6] configure: alphabetize output of --help and separate into groups Stewart Smith
@ 2014-01-24 1:39 ` Stewart Smith
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 5/6] configure: add hints to a remedy for feature_not_found errors Stewart Smith
` (2 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Stewart Smith @ 2014-01-24 1:39 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-trivial, Stewart Smith
Previously undocumented configure options
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
---
configure | 2 ++
1 file changed, 2 insertions(+)
diff --git a/configure b/configure
index c225291..e607ebf 100755
--- a/configure
+++ b/configure
@@ -1252,6 +1252,8 @@ Advanced options, features (experts only):
--enable-xen enable xen backend driver support
--disable-xen-pci-passthrough
--enable-xen-pci-passthrough
+ --disable-xfsctl disable xfsctl calls in block/raw (posix)
+ --enable-xfsctl enable xfsctl (ZERO_RANGE and UNRESVSP) in block/raw
Advanced options, Guest Agent (experts only):
--disable-guest-agent disable building of the QEMU Guest Agent
--
1.8.4.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH v2 5/6] configure: add hints to a remedy for feature_not_found errors
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 0/6] configure: make output and errors more friendly Stewart Smith
` (3 preceding siblings ...)
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 4/6] configure: add help for --disable-xfsctl and --enable-xfsctl Stewart Smith
@ 2014-01-24 1:39 ` Stewart Smith
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 6/6] configure: helpfully output package names for some missing dependencies Stewart Smith
2014-02-01 9:55 ` [Qemu-devel] [Qemu-trivial] [PATCH v2 0/6] configure: make output and errors more friendly Michael Tokarev
6 siblings, 0 replies; 14+ messages in thread
From: Stewart Smith @ 2014-01-24 1:39 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-trivial, Stewart Smith
Modify feature_not_found to accept an optional second parameter to be
printed after the generic feature not found error.
Modify most calls to feature_not_found to provide hints as to the
packages that may be missing. The few calls remaining without a remedy
are ones I couldn't work out how to remedy myself.
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
---
configure | 68 ++++++++++++++++++++++++++++++++-------------------------------
1 file changed, 35 insertions(+), 33 deletions(-)
diff --git a/configure b/configure
index e607ebf..4ad2de5 100755
--- a/configure
+++ b/configure
@@ -1472,9 +1472,11 @@ esac
feature_not_found() {
feature=$1
+ remedy=$2
error_exit "User requested feature $feature" \
- "configure was not able to find it"
+ "configure was not able to find it." \
+ "$remedy"
}
# ---
@@ -1522,7 +1524,7 @@ int main(void) {
}
EOF
if ! compile_object ; then
- feature_not_found "nptl"
+ feature_not_found "nptl" "Install glibc and linux kernel headers."
fi
fi
@@ -1553,7 +1555,7 @@ if test "$seccomp" != "no" ; then
seccomp="yes"
else
if test "$seccomp" = "yes"; then
- feature_not_found "libseccomp"
+ feature_not_found "libseccomp" "Install libseccomp devel >= 2.1.0"
fi
seccomp="no"
fi
@@ -1578,7 +1580,7 @@ EOF
if ! compile_prog "" "$xen_libs" ; then
# Xen not found
if test "$xen" = "yes" ; then
- feature_not_found "xen"
+ feature_not_found "xen" "Install xen devel"
fi
xen=no
@@ -1701,7 +1703,7 @@ EOF
# Xen version unsupported
else
if test "$xen" = "yes" ; then
- feature_not_found "xen (unsupported version)"
+ feature_not_found "xen (unsupported version)" "Install supported xen (e.g. 4.0, 3.4, 3.3)"
fi
xen=no
fi
@@ -1750,7 +1752,7 @@ if test "$sparse" != "no" ; then
sparse=yes
else
if test "$sparse" = "yes" ; then
- feature_not_found "sparse"
+ feature_not_found "sparse" "Install sparse binary"
fi
sparse=no
fi
@@ -1772,7 +1774,7 @@ if test "$gtk" != "no"; then
fi
if ! $pkg_config --exists "$gtkpackage >= $gtkversion"; then
if test "$gtk" = "yes" ; then
- feature_not_found "gtk"
+ feature_not_found "gtk" "Install gtk2 or gtk3 (requires --with-gtkabi=3.0 option to configure) devel"
fi
gtk="no"
elif ! $pkg_config --exists "$vtepackage >= $vteversion"; then
@@ -1807,7 +1809,7 @@ elif has ${sdl_config}; then
_sdlversion=`$sdlconfig --version | sed 's/[^0-9]//g'`
else
if test "$sdl" = "yes" ; then
- feature_not_found "sdl"
+ feature_not_found "sdl" "Install SDL devel"
fi
sdl=no
fi
@@ -1851,7 +1853,7 @@ EOF
fi # static link
else # sdl not found
if test "$sdl" = "yes" ; then
- feature_not_found "sdl"
+ feature_not_found "sdl" "Install SDL devel"
fi
sdl=no
fi # sdl compile test
@@ -1917,10 +1919,10 @@ EOF
QEMU_CFLAGS="$QEMU_CFLAGS $vnc_tls_cflags"
else
if test "$vnc_tls" = "yes" ; then
- feature_not_found "vnc-tls"
+ feature_not_found "vnc-tls" "Install gnutls devel"
fi
if test "$vnc_ws" = "yes" ; then
- feature_not_found "vnc-ws"
+ feature_not_found "vnc-ws" "Install gnutls devel"
fi
vnc_tls=no
vnc_ws=no
@@ -1944,7 +1946,7 @@ EOF
QEMU_CFLAGS="$QEMU_CFLAGS $vnc_sasl_cflags"
else
if test "$vnc_sasl" = "yes" ; then
- feature_not_found "vnc-sasl"
+ feature_not_found "vnc-sasl" "Install Cyrus SASL devel"
fi
vnc_sasl=no
fi
@@ -1966,7 +1968,7 @@ EOF
QEMU_CFLAGS="$QEMU_CFLAGS $vnc_jpeg_cflags"
else
if test "$vnc_jpeg" = "yes" ; then
- feature_not_found "vnc-jpeg"
+ feature_not_found "vnc-jpeg" "Install libjpeg-turbo devel"
fi
vnc_jpeg=no
fi
@@ -1998,7 +2000,7 @@ EOF
QEMU_CFLAGS="$QEMU_CFLAGS $vnc_png_cflags"
else
if test "$vnc_png" = "yes" ; then
- feature_not_found "vnc-png"
+ feature_not_found "vnc-png" "Install libpng devel"
fi
vnc_png=no
fi
@@ -2042,7 +2044,7 @@ EOF
libs_tools="$uuid_libs $libs_tools"
else
if test "$uuid" = "yes" ; then
- feature_not_found "uuid"
+ feature_not_found "uuid" "Install libuuid devel"
fi
uuid=no
fi
@@ -2076,7 +2078,7 @@ EOF
xfs="yes"
else
if test "$xfs" = "yes" ; then
- feature_not_found "xfs"
+ feature_not_found "xfs" "Instal xfsprogs/xfslibs devel"
fi
xfs=no
fi
@@ -2102,7 +2104,7 @@ EOF
libs_tools="$vde_libs $libs_tools"
else
if test "$vde" = "yes" ; then
- feature_not_found "vde"
+ feature_not_found "vde" "Install vde (Virtual Distributed Ethernet) devel"
fi
vde=no
fi
@@ -2145,7 +2147,7 @@ EOF
libs_tools="$cap_libs $libs_tools"
else
if test "$cap_ng" = "yes" ; then
- feature_not_found "cap_ng"
+ feature_not_found "cap_ng" "Install libcap-ng devel"
fi
cap_ng=no
fi
@@ -2250,7 +2252,7 @@ EOF
libs_softmmu="$brlapi_libs $libs_softmmu"
else
if test "$brlapi" = "yes" ; then
- feature_not_found "brlapi"
+ feature_not_found "brlapi" "Install brlapi devel"
fi
brlapi=no
fi
@@ -2287,7 +2289,7 @@ EOF
curses=yes
else
if test "$curses" = "yes" ; then
- feature_not_found "curses"
+ feature_not_found "curses" "Install ncurses devel"
fi
curses=no
fi
@@ -2313,7 +2315,7 @@ EOF
libs_softmmu="$curl_libs $libs_softmmu"
else
if test "$curl" = "yes" ; then
- feature_not_found "curl"
+ feature_not_found "curl" "Install libcurl devel"
fi
curl=no
fi
@@ -2333,7 +2335,7 @@ EOF
libs_softmmu="$bluez_libs $libs_softmmu"
else
if test "$bluez" = "yes" ; then
- feature_not_found "bluez"
+ feature_not_found "bluez" "Install bluez-libs/libbluetooth devel"
fi
bluez="no"
fi
@@ -2469,7 +2471,7 @@ EOF
libs_softmmu="$rbd_libs $libs_softmmu"
else
if test "$rbd" = "yes" ; then
- feature_not_found "rados block device"
+ feature_not_found "rados block device" "Install librbd/ceph devel"
fi
rbd=no
fi
@@ -2535,7 +2537,7 @@ EOF
libs_tools="$libs_tools -laio"
else
if test "$linux_aio" = "yes" ; then
- feature_not_found "linux AIO"
+ feature_not_found "linux AIO" "Install libaio devel"
fi
linux_aio=no
fi
@@ -2583,7 +2585,7 @@ EOF
libattr=yes
else
if test "$attr" = "yes" ; then
- feature_not_found "ATTR"
+ feature_not_found "ATTR" "Install libc6 or libattr devel"
fi
attr=no
fi
@@ -2687,7 +2689,7 @@ EOF
glx=yes
else
if test "$glx" = "yes" ; then
- feature_not_found "glx"
+ feature_not_found "glx" "Install GL devel (e.g. MESA)"
fi
glx_libs=
glx=no
@@ -2709,7 +2711,7 @@ if test "$glusterfs" != "no" ; then
fi
else
if test "$glusterfs" = "yes" ; then
- feature_not_found "GlusterFS backend support"
+ feature_not_found "GlusterFS backend support" "Install glusterfs-api devel"
fi
glusterfs="no"
fi
@@ -3029,7 +3031,7 @@ if test "$docs" != "no" ; then
docs=yes
else
if test "$docs" = "yes" ; then
- feature_not_found "docs"
+ feature_not_found "docs" "Install texinfo and Perl/perl-podlators"
fi
docs=no
fi
@@ -3078,7 +3080,7 @@ EOF
LIBS="$LIBS -liscsi"
else
if test "$libiscsi" = "yes" ; then
- feature_not_found "libiscsi"
+ feature_not_found "libiscsi" "Install libiscsi devel"
fi
libiscsi="no"
fi
@@ -3162,7 +3164,7 @@ EOF
spice_server_version=$($pkg_config --modversion spice-server)
else
if test "$spice" = "yes" ; then
- feature_not_found "spice"
+ feature_not_found "spice" "Install spice-server and spice-protocol devel"
fi
spice="no"
fi
@@ -3212,7 +3214,7 @@ if test "$libusb" != "no" ; then
libs_softmmu="$libs_softmmu $libusb_libs"
else
if test "$libusb" = "yes"; then
- feature_not_found "libusb"
+ feature_not_found "libusb" "Install libusb devel"
fi
libusb="no"
fi
@@ -3228,7 +3230,7 @@ if test "$usb_redir" != "no" ; then
libs_softmmu="$libs_softmmu $usb_redir_libs"
else
if test "$usb_redir" = "yes"; then
- feature_not_found "usb-redir"
+ feature_not_found "usb-redir" "Install usbredir devel"
fi
usb_redir="no"
fi
@@ -4292,7 +4294,7 @@ if test "$trace_backend" = "ftrace"; then
echo "CONFIG_TRACE_FTRACE=y" >> $config_host_mak
trace_default=no
else
- feature_not_found "ftrace(trace backend)"
+ feature_not_found "ftrace(trace backend)" "ftrace requires Linux"
fi
fi
echo "CONFIG_TRACE_FILE=$trace_file" >> $config_host_mak
--
1.8.4.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Qemu-devel] [PATCH v2 6/6] configure: helpfully output package names for some missing dependencies.
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 0/6] configure: make output and errors more friendly Stewart Smith
` (4 preceding siblings ...)
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 5/6] configure: add hints to a remedy for feature_not_found errors Stewart Smith
@ 2014-01-24 1:39 ` Stewart Smith
2014-02-01 9:55 ` [Qemu-devel] [Qemu-trivial] [PATCH v2 0/6] configure: make output and errors more friendly Michael Tokarev
6 siblings, 0 replies; 14+ messages in thread
From: Stewart Smith @ 2014-01-24 1:39 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-trivial, Stewart Smith
This just makes it a tiny bit easier for new developers to get started
by making it easy to see what package they need to install to get
the dependency.
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
---
configure | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 4ad2de5..cc49cf4 100755
--- a/configure
+++ b/configure
@@ -1540,7 +1540,9 @@ EOF
:
else
error_exit "zlib check failed" \
- "Make sure to have the zlib libs and headers installed."
+ "Make sure to have the zlib libs and headers installed." \
+ "Debian/Ubuntu: zlib1g-dev" \
+ "Fedora/RHEL: zlib-devel"
fi
fi
libs_softmmu="$libs_softmmu -lz"
@@ -2356,7 +2358,9 @@ if $pkg_config --atleast-version=$glib_req_ver gthread-2.0; then
LIBS="$glib_libs $LIBS"
libs_qga="$glib_libs $libs_qga"
else
- error_exit "glib-$glib_req_ver required to compile QEMU"
+ error_exit "glib-$glib_req_ver required to compile QEMU."\
+ "Debian/Ubuntu: libglib2.0-dev" \
+ "Fedora/RHEL: glib2-devel"
fi
##########################################
@@ -2388,6 +2392,8 @@ else
error_exit "pixman not present. Your options:" \
" (1) Preferred: Install the pixman devel package (any recent" \
" distro should have packages as Xorg needs pixman too)." \
+ " Ubuntu/Debian: libpixman-1-dev" \
+ " Fedora/RHEL: pixman-devel"\
" (2) Fetch the pixman submodule, using:" \
" git submodule update --init pixman"
fi
@@ -2664,6 +2670,8 @@ EOF
# have neither and want - prompt for system/submodule install
error_exit "DTC (libfdt) not present. Your options:" \
" (1) Preferred: Install the DTC (libfdt) devel package" \
+ " Ubuntu/Debian: libfdt-dev" \
+ " Fedora/RHEL: libfdt-devel" \
" (2) Fetch the DTC submodule, using:" \
" git submodule update --init dtc"
else
--
1.8.4.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Qemu-devel] [PATCH v2 1/6] configure: add hint of libfdt to DTC dependency not found message
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 1/6] configure: add hint of libfdt to DTC dependency not found message Stewart Smith
@ 2014-01-24 6:13 ` Stefan Weil
0 siblings, 0 replies; 14+ messages in thread
From: Stefan Weil @ 2014-01-24 6:13 UTC (permalink / raw)
To: Stewart Smith, qemu-devel; +Cc: qemu-trivial
Am 24.01.2014 02:39, schrieb Stewart Smith:
> Most distros package it as libfdt, and mentioning libfdt here makes it
> much easier to find the package you're missing.
>
> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
> ---
> configure | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/configure b/configure
> index 3782a6a..8b6e64a 100755
> --- a/configure
> +++ b/configure
> @@ -2654,8 +2654,8 @@ EOF
> fdt_libs="-L\$(BUILD_DIR)/dtc/libfdt $fdt_libs"
> elif test "$fdt" = "yes" ; then
> # have neither and want - prompt for system/submodule install
> - error_exit "DTC not present. Your options:" \
> - " (1) Preferred: Install the DTC devel package" \
> + error_exit "DTC (libfdt) not present. Your options:" \
> + " (1) Preferred: Install the DTC (libfdt) devel package" \
> " (2) Fetch the DTC submodule, using:" \
> " git submodule update --init dtc"
> else
>
Reviewed-by: Stefan Weil <sw@weilnetz.de>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Qemu-devel] [PATCH v2 3/6] configure: alphabetize output of --help and separate into groups
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 3/6] configure: alphabetize output of --help and separate into groups Stewart Smith
@ 2014-01-24 6:30 ` Stefan Weil
0 siblings, 0 replies; 14+ messages in thread
From: Stefan Weil @ 2014-01-24 6:30 UTC (permalink / raw)
To: Stewart Smith, qemu-devel; +Cc: qemu-trivial
Am 24.01.2014 02:39, schrieb Stewart Smith:
> This should make it (slightly) easier to discover configure options.
> I've tried to separate out build options (e.g. gcov) from feature
> options (such as gtk).
>
> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
> ---
> configure | 174 ++++++++++++++++++++++++++++++++------------------------------
> 1 file changed, 89 insertions(+), 85 deletions(-)
>
> diff --git a/configure b/configure
> index e61708a..c225291 100755
> --- a/configure
> +++ b/configure
> @@ -1102,7 +1102,7 @@ Standard options:
> $(echo Available targets: $default_target_list | \
> fold -s -w 53 | sed -e 's/^/ /')
>
> -Advanced options (experts only):
> +Advanced options, build (experts only):
> --source-path=PATH path of source code [$source_path]
> --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]
> --cc=CC use C compiler CC [$cc]
> @@ -1135,16 +1135,18 @@ Advanced options (experts only):
> --disable-sparse disable sparse checker (default)
> --disable-strip disable stripping binaries
> --disable-werror disable compilation abort on warning
> - --disable-sdl disable SDL
> - --enable-sdl enable SDL
> - --disable-gtk disable gtk UI
> - --enable-gtk enable gtk UI
> - --disable-virtfs disable VirtFS
> - --enable-virtfs enable VirtFS
> - --disable-vnc disable VNC
> - --enable-vnc enable VNC
> - --disable-cocoa disable Cocoa (Mac OS X only)
> - --enable-cocoa enable Cocoa (default on Mac OS X)
> + --disable-attr disables attr and xattr support
> + --enable-attr enable attr and xattr support
> + --enable-pie build Position Independent Executables
> + --disable-pie do not build Position Independent Executables
> + --cpu=CPU Build for host CPU [$cpu]
> + --disable-blobs disable installing provided firmware blobs
> + --enable-gcov enable test coverage analysis with gcov
> + --gcov=GCOV use specified gcov [$gcov_tool]
> + --enable-docs enable documentation build
> + --disable-docs disable documentation build
> +
> +Advanced options, features (experts only):
> --audio-drv-list=LIST set audio drivers list:
> Available drivers: $audio_possible_drivers
> --block-drv-whitelist=L Same as --block-drv-rw-whitelist=L
> @@ -1154,105 +1156,107 @@ Advanced options (experts only):
> --block-drv-ro-whitelist=L
> set block driver read-only whitelist
> (affects only QEMU, not qemu-img)
> - --disable-xen disable xen backend driver support
> - --enable-xen enable xen backend driver support
> - --disable-xen-pci-passthrough
> - --enable-xen-pci-passthrough
> --disable-brlapi disable BrlAPI
> --enable-brlapi enable BrlAPI
> - --disable-vnc-tls disable TLS encryption for VNC server
> - --enable-vnc-tls enable TLS encryption for VNC server
> - --disable-vnc-sasl disable SASL encryption for VNC server
> - --enable-vnc-sasl enable SASL encryption for VNC server
> - --disable-vnc-jpeg disable JPEG lossy compression for VNC server
> - --enable-vnc-jpeg enable JPEG lossy compression for VNC server
> - --disable-vnc-png disable PNG compression for VNC server (default)
> - --enable-vnc-png enable PNG compression for VNC server
> - --disable-vnc-ws disable Websockets support for VNC server
> - --enable-vnc-ws enable Websockets support for VNC server
> - --disable-curses disable curses output
> - --enable-curses enable curses output
> + --disable-bluez disable bluez stack connectivity
> + --enable-bluez enable bluez stack connectivity
> + --disable-cap-ng disable libcap-ng support
> + --enable-cap-ng enable libcap-ng support
> + --disable-cocoa disable Cocoa (Mac OS X only)
> + --enable-cocoa enable Cocoa (default on Mac OS X)
> + --with-coroutine=BACKEND coroutine backend. Supported options:
> + gthread, ucontext, sigaltstack, windows
> + --disable-coroutine-pool disable coroutine freelist (worse performance)
> + --enable-coroutine-pool enable coroutine freelist (better performance)
> --disable-curl disable curl connectivity
> --enable-curl enable curl connectivity
> + --disable-curses disable curses output
> + --enable-curses enable curses output
> --disable-fdt disable fdt device tree
> --enable-fdt enable fdt device tree
> - --disable-bluez disable bluez stack connectivity
> - --enable-bluez enable bluez stack connectivity
> - --disable-slirp disable SLIRP userspace network connectivity
> - --disable-kvm disable KVM acceleration support
> - --enable-kvm enable KVM acceleration support
> + --fmod-lib path to FMOD library
> + --fmod-inc path to FMOD includes
> + --enable-glusterfs enable GlusterFS backend
> + --disable-glusterfs disable GlusterFS backend
> + --disable-gtk disable gtk UI
> + --enable-gtk enable gtk UI
> + --enable-guest-base enable GUEST_BASE support for usermode
> + emulation targets
> + --disable-guest-base disable GUEST_BASE support
> --disable-rdma disable RDMA-based migration support
> --enable-rdma enable RDMA-based migration support
> - --enable-tcg-interpreter enable TCG with bytecode interpreter (TCI)
> + --disable-kvm disable KVM acceleration support
> + --enable-kvm enable KVM acceleration support
> + --disable-libiscsi disable iscsi support
> + --enable-libiscsi enable iscsi support
> + --disable-libssh2 disable ssh block device support
> + --enable-libssh2 enable ssh block device support
> + --disable-libusb disable libusb (for usb passthrough)
> + --enable-libusb enable libusb (for usb passthrough)
> + --disable-linux-aio disable Linux AIO support
> + --enable-linux-aio enable Linux AIO support
> + --disable-netmap disable support for netmap network
> + --enable-netmap enable support for netmap network
> + --enable-rbd enable building the rados block device (rbd)
> + --disable-sdl disable SDL
> + --enable-sdl enable SDL
> + --disable-seccomp disable seccomp support
> + --enable-seccomp enables seccomp support
> + --disable-slirp disable SLIRP userspace network connectivity
> + --disable-smartcard-nss disable smartcard nss support
> + --enable-smartcard-nss enable smartcard nss support
> + --disable-spice disable spice
> + --enable-spice enable spice
> --enable-system enable all system emulation targets
> --disable-system disable all system emulation targets
> + --enable-tcg-interpreter enable TCG with bytecode interpreter (TCI)
> + --enable-tpm enable TPM support
> + --enable-trace-backend=B Set trace backend
> + Available backends: $($python $source_path/scripts/tracetool.py --list-backends)
> + --with-trace-file=NAME Full PATH,NAME of file to store traces
> + Default:trace-<pid>
> --enable-user enable supported user emulation targets
> --disable-user disable all user emulation targets
> - --enable-linux-user enable all linux usermode emulation targets
> - --disable-linux-user disable all linux usermode emulation targets
> --enable-bsd-user enable all BSD usermode emulation targets
> --disable-bsd-user disable all BSD usermode emulation targets
> - --enable-guest-base enable GUEST_BASE support for usermode
> - emulation targets
> - --disable-guest-base disable GUEST_BASE support
> - --enable-pie build Position Independent Executables
> - --disable-pie do not build Position Independent Executables
> - --fmod-lib path to FMOD library
> - --fmod-inc path to FMOD includes
> + --enable-linux-user enable all linux usermode emulation targets
> + --disable-linux-user disable all linux usermode emulation targets
> --oss-lib path to OSS library
> --enable-uname-release=R Return R for uname -r in usermode emulation
> - --cpu=CPU Build for host CPU [$cpu]
> + --disable-usb-redir disable usb network redirection support
> + --enable-usb-redir enable usb network redirection support
> --disable-uuid disable uuid support
> --enable-uuid enable uuid support
> --disable-vde disable support for vde network
> --enable-vde enable support for vde network
> - --disable-netmap disable support for netmap network
> - --enable-netmap enable support for netmap network
> - --disable-linux-aio disable Linux AIO support
> - --enable-linux-aio enable Linux AIO support
> - --disable-cap-ng disable libcap-ng support
> - --enable-cap-ng enable libcap-ng support
> - --disable-attr disables attr and xattr support
> - --enable-attr enable attr and xattr support
> - --disable-blobs disable installing provided firmware blobs
> - --enable-docs enable documentation build
> - --disable-docs disable documentation build
> + --disable-vhdx disables support for the Microsoft VHDX image format
> + --enable-vhdx enable support for the Microsoft VHDX image format
> --disable-vhost-net disable vhost-net acceleration support
> --enable-vhost-net enable vhost-net acceleration support
> - --enable-trace-backend=B Set trace backend
> - Available backends: $($python $source_path/scripts/tracetool.py --list-backends)
> - --with-trace-file=NAME Full PATH,NAME of file to store traces
> - Default:trace-<pid>
> - --disable-spice disable spice
> - --enable-spice enable spice
> - --enable-rbd enable building the rados block device (rbd)
> - --disable-libiscsi disable iscsi support
> - --enable-libiscsi enable iscsi support
> - --disable-smartcard-nss disable smartcard nss support
> - --enable-smartcard-nss enable smartcard nss support
> - --disable-libusb disable libusb (for usb passthrough)
> - --enable-libusb enable libusb (for usb passthrough)
> - --disable-usb-redir disable usb network redirection support
> - --enable-usb-redir enable usb network redirection support
> + --disable-virtfs disable VirtFS
> + --enable-virtfs enable VirtFS
> + --disable-vnc disable VNC
> + --enable-vnc enable VNC
> + --disable-vnc-jpeg disable JPEG lossy compression for VNC server
> + --enable-vnc-jpeg enable JPEG lossy compression for VNC server
> + --disable-vnc-png disable PNG compression for VNC server (default)
> + --enable-vnc-png enable PNG compression for VNC server
> + --disable-vnc-sasl disable SASL encryption for VNC server
> + --enable-vnc-sasl enable SASL encryption for VNC server
> + --disable-vnc-tls disable TLS encryption for VNC server
> + --enable-vnc-tls enable TLS encryption for VNC server
> + --disable-vnc-ws disable Websockets support for VNC server
> + --enable-vnc-ws enable Websockets support for VNC server
> + --with-win-sdk=SDK-path path to Windows Platform SDK (to build VSS .tlb)
> + --disable-xen disable xen backend driver support
> + --enable-xen enable xen backend driver support
> + --disable-xen-pci-passthrough
> + --enable-xen-pci-passthrough
> +
> +Advanced options, Guest Agent (experts only):
> --disable-guest-agent disable building of the QEMU Guest Agent
> --enable-guest-agent enable building of the QEMU Guest Agent
> --with-vss-sdk=SDK-path enable Windows VSS support in QEMU Guest Agent
> - --with-win-sdk=SDK-path path to Windows Platform SDK (to build VSS .tlb)
> - --disable-seccomp disable seccomp support
> - --enable-seccomp enables seccomp support
> - --with-coroutine=BACKEND coroutine backend. Supported options:
> - gthread, ucontext, sigaltstack, windows
> - --disable-coroutine-pool disable coroutine freelist (worse performance)
> - --enable-coroutine-pool enable coroutine freelist (better performance)
> - --enable-glusterfs enable GlusterFS backend
> - --disable-glusterfs disable GlusterFS backend
> - --enable-gcov enable test coverage analysis with gcov
> - --gcov=GCOV use specified gcov [$gcov_tool]
> - --enable-tpm enable TPM support
> - --disable-libssh2 disable ssh block device support
> - --enable-libssh2 enable ssh block device support
> - --disable-vhdx disables support for the Microsoft VHDX image format
> - --enable-vhdx enable support for the Microsoft VHDX image format
>
> NOTE: The object files are built at the place where configure is launched
> EOF
>
May I suggest a different first step to make the help output more readable?
Do we really need two lines of help output for each pair of --enable-xxx
and --disable-xxx? It would be sufficient to document only one variant
if the other variant is always supported, too. My favourite is a pattern
like this:
--disable-xxx disable xxx support (default: enabled)
--disable-xxx disable xxx support (default: auto detected)
--disable-xxx disable xxx support (default)
A final hint could say "Instead of --disable-xxx you can also enforce a
feature with --enable-xxx".
I like alphabetized sorts but would keep groups like the different
selections for the gui interfaces. Those could be largely reduced if we
used libvnc. That would also fix bugs and reduce the efforts needed for
maintainance of QEMU, but that is a different topic :-)
Stefan
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Qemu-devel] [Qemu-trivial] [PATCH v2 0/6] configure: make output and errors more friendly
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 0/6] configure: make output and errors more friendly Stewart Smith
` (5 preceding siblings ...)
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 6/6] configure: helpfully output package names for some missing dependencies Stewart Smith
@ 2014-02-01 9:55 ` Michael Tokarev
6 siblings, 0 replies; 14+ messages in thread
From: Michael Tokarev @ 2014-02-01 9:55 UTC (permalink / raw)
To: Stewart Smith; +Cc: qemu-trivial, qemu-devel
24.01.2014 05:39, Stewart Smith wrote:
> This expands on my previous patch which was just the "configure: helpfully
> output package names for some missing dependencies" patch.
>
> Based on feedback I've added a hint to the could not find DTC error message.
>
> There's also other changes that were suggested and the ordering of output
> from configure and configure --help which I found rather useful when
> attempting to find what package was needed for each configure option.
>
> Stewart Smith (6):
>1 configure: add hint of libfdt to DTC dependency not found message
>2 configure: sort output of configure results alphabetically
>3 configure: alphabetize output of --help and separate into groups
>4 configure: add help for --disable-xfsctl and --enable-xfsctl
>5 configure: add hints to a remedy for feature_not_found errors
>6 configure: helpfully output package names for some missing
> dependencies.
I think I'd happily take 1, 2, 5 and 6, but 3 and 4 really needs to be
redone, mentioning every option just once, not twice as it is done
now. After that's done, it might be not necessary anymore for 3 at all.
Or I can wait for a resend of whole series. Or alternatively I can
try to rework it myself, but for now I'm quite busy so can't promise
anything.
Please note that major tweaks in ./configure will most likely conflict
with modules support series which has been posted for revew again.
What should I do?
Thanks,
/mjt
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2014-02-01 9:55 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-23 4:54 [Qemu-devel] [PATCH] configure: helpfully output package names for some missing dependencies Stewart Smith
2014-01-23 6:21 ` Stefan Weil
2014-01-23 10:28 ` Peter Maydell
2014-01-23 11:08 ` Stewart Smith
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 0/6] configure: make output and errors more friendly Stewart Smith
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 1/6] configure: add hint of libfdt to DTC dependency not found message Stewart Smith
2014-01-24 6:13 ` Stefan Weil
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 2/6] configure: sort output of configure results alphabetically Stewart Smith
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 3/6] configure: alphabetize output of --help and separate into groups Stewart Smith
2014-01-24 6:30 ` Stefan Weil
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 4/6] configure: add help for --disable-xfsctl and --enable-xfsctl Stewart Smith
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 5/6] configure: add hints to a remedy for feature_not_found errors Stewart Smith
2014-01-24 1:39 ` [Qemu-devel] [PATCH v2 6/6] configure: helpfully output package names for some missing dependencies Stewart Smith
2014-02-01 9:55 ` [Qemu-devel] [Qemu-trivial] [PATCH v2 0/6] configure: make output and errors more friendly Michael Tokarev
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.