Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 735146 - app-emulation/qemu-9999 - vhost-user-gpu.c:(.text+0x5a0): undefined reference to `pixman_image_unref'
Summary: app-emulation/qemu-9999 - vhost-user-gpu.c:(.text+0x5a0): undefined reference...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Matthias Maier
URL: https://lists.nongnu.org/archive/html...
Whiteboard:
Keywords: PATCH, UPSTREAM
Depends on:
Blocks:
 
Reported: 2020-08-02 00:20 UTC by Rafael Kitover
Modified: 2020-08-13 22:37 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build log (build.log.xz,51.73 KB, application/x-xz)
2020-08-02 00:22 UTC, Rafael Kitover
Details
emerge --info (emerge-info.txt.xz,8.15 KB, application/x-xz)
2020-08-02 00:23 UTC, Rafael Kitover
Details
patch (0001-configure-Require-pixman-for-vhost-user-gpu.patch,1.79 KB, patch)
2020-08-02 00:24 UTC, Rafael Kitover
Details | Diff
patch (0001-configure-Require-pixman-for-vhost-user-gpu.patch,1.78 KB, patch)
2020-08-13 20:20 UTC, Rafael Kitover
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rafael Kitover 2020-08-02 00:20:37 UTC
app-emulation/qemu-9999::gentoo was built with the following:
USE="-accessibility aio alsa bzip2 caps capstone curl -debug -doc fdt filecaps -glusterfs -gnutls gtk -infiniband io-uring -iscsi -jemalloc jpeg lzo -multipath ncurses nfs nls numa opengl oss pin-upstream-blobs plugins png pulseaudio python -rbd -sasl sdl sdl-image seccomp (-selinux) slirp -smartcard snappy spice ssh -static -static-user systemtap tci -test usb usbredir -vde vhost-net vhost-user-fs virgl virtfs vnc vte xattr xen -xfs xkb zstd" ABI_X86="(64)" PYTHON_TARGETS="python3_6 python3_7 python3_8" QEMU_SOFTMMU_TARGETS="-aarch64 -alpha -arm -avr -cris -hppa -i386 -lm32 -m68k -microblaze -microblazeel -mips -mips64 -mips64el -mipsel -moxie -nios2 -or1k -ppc -ppc64 -riscv32 -riscv64 -rx -s390x -sh4 -sh4eb -sparc -sparc64 -tricore -unicore32 x86_64 -xtensa -xtensaeb" QEMU_USER_TARGETS="-aarch64 -aarch64_be -alpha -arm -armeb -cris -hppa -i386 -m68k -microblaze -microblazeel -mips -mips64 -mips64el -mipsel -mipsn32 -mipsn32el -nios2 -or1k -ppc -ppc64 -ppc64abi32 -ppc64le -riscv32 -riscv64 -s390x -sh4 -sh4eb -sparc -sparc32plus -sparc64 -tilegx -x86_64 -xtensa -xtensaeb"
FEATURES="qa-unresolved-soname-deps unknown-features-warn binpkg-dostrip sfperms distlocks xattr sandbox assume-digests buildpkg pid-sandbox split-log fixlafiles multilib-strict ccache ipc-sandbox unmerge-logs config-protect-if-modified ebuild-locks split-elog binpkg-logs usersync preserve-libs protect-owned unmerge-orphans merge-sync strict binpkg-docompress userfetch news parallel-fetch"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -lpixman-1"

>>> Attempting to run pkg_info() for 'app-emulation/qemu-9999'
Using:
  app-emulation/spice-protocol-0.14.1
  sys-firmware/edk2-ovmf-201905
    USE=binary
  sys-firmware/ipxe-1.0.0_p20190728
  sys-firmware/seabios-1.12.0
    USE=binary
  sys-firmware/sgabios-0.1_pre8-r1

x86_64-pc-linux-gnu-g++ -march=native -O3 -pipe -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64  -fstack-protector-strong -o qemu-edid qemu-edid.o hw/display/edid-generate.o  libqemuutil.a   -ldl -lm -luring  -lz  -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lglib-2.0  -lgthread-2.0 -pthread -lglib-2.0  -lzstd   -lrt -lz -lutil -lcap-ng
x86_64-pc-linux-gnu-g++ -march=native -O3 -pipe -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64  -fstack-protector-strong -o vhost-user-gpu contrib/vhost-user-gpu/vhost-user-gpu.o contrib/vhost-user-gpu/virgl.o contrib/vhost-user-gpu/vugbm.o contrib/libvhost-user/libvhost-user.o contrib/libvhost-user/libvhost-user-glib.o  libqemuutil.a libqemustub.a  -lvirglrenderer -lgbm -ldl -lm -luring  -lz  -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lglib-2.0  -lgthread-2.0 -pthread -lglib-2.0  -lzstd   -lrt -lz -lutil -lcap-ng
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function `vg_resource_destroy':
vhost-user-gpu.c:(.text+0x5a0): undefined reference to `pixman_image_unref'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function `vg_resource_flush':
vhost-user-gpu.c:(.text+0x7d3): undefined reference to `pixman_region_init_rect'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0x8a5): undefined reference to `pixman_region_fini'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0x8ad): undefined reference to `pixman_region_fini'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0x8e0): undefined reference to `pixman_region_init'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0x8f5): undefined reference to `pixman_region_init_rect'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0x905): undefined reference to `pixman_region_intersect'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0x90d): undefined reference to `pixman_region_extents'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0x957): undefined reference to `pixman_image_get_format'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0x965): undefined reference to `pixman_image_get_format'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0x9ef): undefined reference to `pixman_image_get_format'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0xa06): undefined reference to `pixman_image_create_bits'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0xa43): undefined reference to `pixman_image_composite'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0xa54): undefined reference to `pixman_image_unref'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0xa7d): undefined reference to `pixman_region_fini'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function `vg_process_cursor_cmd':
vhost-user-gpu.c:(.text+0xbe6): undefined reference to `pixman_image_get_width'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0xc45): undefined reference to `pixman_image_get_height'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0xc75): undefined reference to `pixman_image_get_format'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0xc85): undefined reference to `pixman_image_get_format'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0xcc5): undefined reference to `pixman_image_get_data'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function `vg_handle_ctrl':
vhost-user-gpu.c:(.text+0x2068): undefined reference to `pixman_image_get_format'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0x2095): undefined reference to `pixman_image_get_stride'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0x20be): undefined reference to `pixman_image_get_data'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0x25ed): undefined reference to `pixman_image_create_bits'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0x2798): undefined reference to `pixman_image_get_width'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0x27b3): undefined reference to `pixman_image_get_stride'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0x27c8): undefined reference to `pixman_image_get_height'
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: vhost-user-gpu.c:(.text+0x27da): undefined reference to `pixman_image_get_data'
collect2: error: ld returned 1 exit status
make: *** [Makefile:730: vhost-user-gpu] Error 1
make: *** Waiting for unfinished jobs....

Reproducible: Always
Comment 1 Rafael Kitover 2020-08-02 00:22:50 UTC
Created attachment 652216 [details]
build log
Comment 2 Rafael Kitover 2020-08-02 00:23:17 UTC
Created attachment 652218 [details]
emerge --info
Comment 3 Rafael Kitover 2020-08-02 00:24:55 UTC
Created attachment 652220 [details, diff]
patch
Comment 4 Sergei Trofimovich (RETIRED) gentoo-dev 2020-08-06 06:58:40 UTC
Can you send the patch upstream? I'd prefer not to carry patches for -9999 ebuilds.
Comment 5 Rafael Kitover 2020-08-06 07:57:38 UTC
Yeah I sent it to the list on aug 1st (see bug url) and it was reviewed aug 3rd, but hasn't been pulled yet for some reason.

I just opened the bug for anyone as a reference until it gets merged, thank you!
Comment 6 Sergei Trofimovich (RETIRED) gentoo-dev 2020-08-06 08:05:44 UTC
Ah, I completely missed the link. Thank you!
Comment 7 Sergei Trofimovich (RETIRED) gentoo-dev 2020-08-06 08:56:38 UTC
(In reply to Rafael Kitover from comment #5)
> Yeah I sent it to the list on aug 1st (see bug url) and it was reviewed aug
> 3rd, but hasn't been pulled yet for some reason.

AFAIU, you were implicitly requested to slightly tweak the syntax:

> > ${want_tools}" = "yes yes yes yes" );  then
> Do you need the round brackets here?
...
> With the round brackets removed:
> Reviewed-by: Thomas Huth <thuth@redhat.com>
Comment 8 Rafael Kitover 2020-08-12 06:53:09 UTC
Just an update on this, qemu was in freeze mode so only critical patches were being pulled, this one should get merged in a couple weeks or so, and I will close this then.
Comment 9 Craig Andrews gentoo-dev 2020-08-13 15:35:27 UTC
app-emulation/qemu-5.1.0 fails with this error.

I think the patch needs to be applied to this version.
Comment 10 Sergei Trofimovich (RETIRED) gentoo-dev 2020-08-13 18:40:44 UTC
(In reply to Craig Andrews from comment #9)
> app-emulation/qemu-5.1.0 fails with this error.

Can you upload 'emerge --info' and 'build.log'?

> I think the patch needs to be applied to this version.

I'd prefer to pick a patch when it lands upstream as it seems to need a few minor tweaks.
Comment 11 Rafael Kitover 2020-08-13 18:43:40 UTC
The guy reviewing my patch said it's fine, it can just be merged with the parens removed. The only reason it was not merged was because they were in freeze for the new version.
Comment 12 Sergei Trofimovich (RETIRED) gentoo-dev 2020-08-13 19:06:19 UTC
(In reply to Rafael Kitover from comment #11)
> The guy reviewing my patch said it's fine, it can just be merged with the
> parens removed. The only reason it was not merged was because they were in
> freeze for the new version.

Do you plan to post updated patch? Or expect the reviewer tweak it at commit time? If you don't I can apply your patch as is.
Comment 13 Rafael Kitover 2020-08-13 19:16:27 UTC
Yeah I was unclear about the etiquette of working with git send-email to a mailing list, so I asked him directly, he said the committer can make the minor change.

In any case, I will make the change in my local clone and attach a new patch in a few minutes.
Comment 14 Rafael Kitover 2020-08-13 20:20:41 UTC
Created attachment 654492 [details, diff]
patch
Comment 15 Rafael Kitover 2020-08-13 20:21:22 UTC
Updated patch tested and attached.
Comment 16 Larry the Git Cow gentoo-dev 2020-08-13 22:36:55 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10849338838c4d28272a13e1412a8c2b89e02889

commit 10849338838c4d28272a13e1412a8c2b89e02889
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: 2020-08-13 22:36:43 +0000
Commit:     Sergei Trofimovich <slyfox@gentoo.org>
CommitDate: 2020-08-13 22:36:51 +0000

    app-emulation/qemu: fix pixman detection for vhost-user-gnu
    
    Use patch by Rafael Kitover to fix dependency detection.
    
    Fix-by: Rafael Kitover
    Closes: https://bugs.gentoo.org/735146
    Package-Manager: Portage-3.0.2, Repoman-2.3.23
    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>

 .../qemu-5.1.0-pixman-for-vhost-user-gpu.patch     | 62 ++++++++++++++++++++++
 app-emulation/qemu/qemu-5.1.0.ebuild               |  1 +
 app-emulation/qemu/qemu-9999.ebuild                |  1 +
 3 files changed, 64 insertions(+)
Comment 17 Sergei Trofimovich (RETIRED) gentoo-dev 2020-08-13 22:37:44 UTC
Thank you! Pulled patch as is to 5.1.0 and -9999.