From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: Thomas Huth <thuth@redhat.com>,
Rafael Kitover <rkitover@gmail.com>,
qemu-devel@nongnu.org
Cc: Gerd Hoffmann <kraxel@redhat.com>
Subject: Re: [PATCH] configure: Require pixman for vhost-user-gpu.
Date: Fri, 14 Aug 2020 09:46:45 +0200 [thread overview]
Message-ID: <279ec524-0cf3-bacf-b97f-86a876d980c3@redhat.com> (raw)
In-Reply-To: <f09f5172-a22c-d51a-7db7-a6fd880d386c@redhat.com>
On 8/3/20 8:09 AM, Thomas Huth wrote:
> On 02/08/2020 00.44, Rafael Kitover wrote:
>> Use the test from Makefile to check if vhost-user-gpu is being built,
>> and if so require pixman.
>
> Fixes: 9b52b17ba5 ("configure: Allow to build tools without pixman")
>
> ... sorry, I missed that there is indeed a tool that requires pixman.
>
>> Signed-off-by: Rafael Kitover <rkitover@gmail.com>
>> ---
>> configure | 28 ++++++++++++++--------------
>> 1 file changed, 14 insertions(+), 14 deletions(-)
>>
>> diff --git a/configure b/configure
>> index 2acc4d1465..181b465861 100755
>> --- a/configure
>> +++ b/configure
>> @@ -4062,20 +4062,6 @@ if test "$modules" = yes; then
>> fi
>> fi
>>
>> -##########################################
>> -# pixman support probe
>> -
>> -if test "$softmmu" = "no"; then
>> - pixman_cflags=
>> - pixman_libs=
>> -elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then
>> - pixman_cflags=$($pkg_config --cflags pixman-1)
>> - pixman_libs=$($pkg_config --libs pixman-1)
>> -else
>> - error_exit "pixman >= 0.21.8 not present." \
>> - "Please install the pixman devel package."
>> -fi
>> -
>> ##########################################
>> # libmpathpersist probe
>>
>> @@ -4491,6 +4477,20 @@ if test "$opengl" = "yes" && test "$have_x11" = "yes"; then
>> done
>> fi
>>
>> +##########################################
>> +# pixman support probe
>> +
>> +if test "$softmmu" = "no" && ! ( test "${linux} ${virglrenderer} ${gbm} ${want_tools}" = "yes yes yes yes" ); then
>
> Do you need the round brackets here?
>
>> + pixman_cflags=
>> + pixman_libs=
>> +elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then
>> + pixman_cflags=$($pkg_config --cflags pixman-1)
>> + pixman_libs=$($pkg_config --libs pixman-1)
>> +else
>> + error_exit "pixman >= 0.21.8 not present." \
>> + "Please install the pixman devel package."
>> +fi
>> +
>> ##########################################
>> # libxml2 probe
>> if test "$libxml2" != "no" ; then
>>
>
> With the round brackets removed:
>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
>
>
Hmm this doesn't work for me:
$ ../configure --disable-system --disable-user --enable-tools
QEMU_CFLAGS -Werror -pthread -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
-Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes
-fno-strict-aliasing -fno-common -fwrapv -std=gnu99
-Wold-style-declaration -Wold-style-definition -Wtype-limits
-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers
-Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined
-Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi
-fstack-protector-strong -I/usr/include/p11-kit-1
-DSTRUCT_IOVEC_DEFINED -I/usr/include/libpng16 -I/usr/include/libdrm
-I/usr/include/spice-1 -I/usr/include/spice-server -I/usr/include/cacard
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I/usr/include/nss3 -I/usr/include/nspr4 -pthread
-I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid
-I/usr/include/pixman-1 -I/usr/include/capstone
QEMU_LDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64
-fstack-protector-strong
target list
static build no
virgl support yes (0.7.0)
TCG support no
build guest agent yes
$ make vhost-user-gpu
...
LINK vhost-user-gpu
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function
`vg_resource_create_2d':
contrib/vhost-user-gpu/vhost-user-gpu.c:322: undefined reference to
`pixman_image_create_bits'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function
`vg_resource_destroy':
contrib/vhost-user-gpu/vhost-user-gpu.c:381: undefined reference to
`pixman_image_unref'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function
`vg_transfer_to_host_2d':
contrib/vhost-user-gpu/vhost-user-gpu.c:538: undefined reference to
`pixman_image_get_format'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:540: undefined
reference to `pixman_image_get_stride'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:543: undefined
reference to `pixman_image_get_width'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:544: undefined
reference to `pixman_image_get_data'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:556: undefined
reference to `pixman_image_get_stride'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:557: undefined
reference to `pixman_image_get_height'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:555: undefined
reference to `pixman_image_get_data'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function
`vg_resource_flush':
contrib/vhost-user-gpu/vhost-user-gpu.c:693: undefined reference to
`pixman_region_init_rect'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:705: undefined
reference to `pixman_region_init'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:706: undefined
reference to `pixman_region_init_rect'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:709: undefined
reference to `pixman_region_intersect'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:711: undefined
reference to `pixman_region_extents'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:731: undefined
reference to `pixman_image_get_format'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:731: undefined
reference to `pixman_image_get_format'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:747: undefined
reference to `pixman_image_get_format'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:747: undefined
reference to `pixman_image_create_bits'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:753: undefined
reference to `pixman_image_composite'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:758: undefined
reference to `pixman_image_unref'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:762: undefined
reference to `pixman_region_fini'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:763: undefined
reference to `pixman_region_fini'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:765: undefined
reference to `pixman_region_fini'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function
`update_cursor_data_simple':
contrib/vhost-user-gpu/vhost-user-gpu.c:863: undefined reference to
`pixman_image_get_width'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:864: undefined
reference to `pixman_image_get_height'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:865: undefined
reference to `pixman_image_get_format'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:865: undefined
reference to `pixman_image_get_format'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:868: undefined
reference to `pixman_image_get_data'
collect2: error: ld returned 1 exit status
make: *** [Makefile:730: vhost-user-gpu] Error 1
$ lsb_release -d
Description: Fedora release 30 (Thirty)
$ pkg-config --atleast-version=0.21.8 pixman-1; echo $?
0
$ pkg-config --cflags pixman-1
-I/usr/include/pixman-1
# found in QEMU_CFLAGS
$ pkg-config --libs pixman-1
-lpixman-1
# NOT found in QEMU_LDFLAGS
Thanks,
Phil.
next prev parent reply other threads:[~2020-08-14 7:47 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-01 22:44 [PATCH] configure: Require pixman for vhost-user-gpu Rafael Kitover
2020-08-03 6:09 ` Thomas Huth
2020-08-14 7:46 ` Philippe Mathieu-Daudé [this message]
2020-08-22 20:29 ` Philippe Mathieu-Daudé
2020-08-25 15:32 ` Thomas Huth
2020-08-25 16:01 ` 罗勇刚(Yonggang Luo)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=279ec524-0cf3-bacf-b97f-86a876d980c3@redhat.com \
--to=philmd@redhat.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rkitover@gmail.com \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).