[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] configure: Require pixman for vhost-user-gpu.
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH] configure: Require pixman for vhost-user-gpu. |
Date: |
Sat, 22 Aug 2020 22:29:09 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 |
Hi Rafael,
On 8/14/20 9:46 AM, Philippe Mathieu-Daudé wrote:
> 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
Any updates?
Thanks,
Phil.
>
> $ 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.
>