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 <rkito...@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 <th...@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. >