Bug 105211 - build failure after zwp_dmabuf commit if wayland-protocols is not installed
Summary: build failure after zwp_dmabuf commit if wayland-protocols is not installed
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/Common (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: mesa-dev
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-02-22 17:46 UTC by Alan Swanson
Modified: 2018-02-26 10:43 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Alan Swanson 2018-02-22 17:46:56 UTC
Commit bfa22266cd4d268e52d2535b41ef972421e66f71 "vulkan/wsi/wayland: Add support for zwp_dmabuf" causes a build failure if wayland protocols are not installed. 
Similar to bug 101933 where if WL_DMABUF_XML=/unstable/... it should not be used. Reverting resolves.

make[3]: Entering directory '/builddir/src/vulkan'
/bin/mkdir -p util
/bin/mkdir -p util
/bin/mkdir -p wsi
/usr/bin/python2.7  /builddir/src/vulkan/util/gen_enum_to_str.py \
    --xml /builddir/src/vulkan/registry/vk.xml \
    --xml /builddir/src/vulkan/registry/vk_android_native_buffer.xml \
    --outdir ../../src/vulkan/util
/usr/bin/python2.7  /builddir/src/vulkan/util/gen_enum_to_str.py \
    --xml /builddir/src/vulkan/registry/vk.xml \
    --xml /builddir/src/vulkan/registry/vk_android_native_buffer.xml \
    --outdir ../../src/vulkan/util
: code < /builddir/src/egl/wayland/wayland-drm/wayland-drm.xml > wsi/wayland-drm-protocol.c
/bin/mkdir -p wsi
make[3]: *** No rule to make target '/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml', needed by 'wsi/linux-dmabuf-unstable-v1-protocol.c'.  Stop.
make[3]: *** Waiting for unfinished jobs....
Comment 1 Daniel Stone 2018-02-22 17:54:07 UTC
Yes, sorry about this, the autotools build is quite funny with wayland-protocols.

At the moment, you can solve this by simply removing the linux-dmabuf lines from src/vulkan/Makefile.sources, or you can install wayland-protocols. The protocols package is purely a bunch of XML files, with no dependencies. You don't need to actually enable Wayland support to bypass this build failure, just to have wayland-protocols present somewhere in the pkg-config search path.

Hopefully we can find a real fix quite quickly.
Comment 2 Alan Swanson 2018-02-22 18:19:46 UTC
No worries. But just to note that wayland-protocols does have a dependency on wayland-scanner from the main wayland build - or at least an autotools configure failure if not present (though scan.sh test script would later skip if wayland-scanner was not present).
Comment 3 Emil Velikov 2018-02-22 18:21:32 UTC
Daniel, let's opt for your earlier suggestion and stop shipping those generated sources. It's causing more problems than what it's worth.

There was some fun when building/using the correct wayland-scanner in cross-compilation, but that should be ironed out by now.
Comment 4 Dieter Nützel 2018-02-23 00:58:45 UTC
(In reply to Daniel Stone from comment #1)
> Yes, sorry about this, the autotools build is quite funny with
> wayland-protocols.
> 
> At the moment, you can solve this by simply removing the linux-dmabuf lines
> from src/vulkan/Makefile.sources, or you can install wayland-protocols. The
> protocols package is purely a bunch of XML files, with no dependencies. You
> don't need to actually enable Wayland support to bypass this build failure,
> just to have wayland-protocols present somewhere in the pkg-config search
> path.

Moin, Daniel ;-)

On my (current) openSUSE Tumbleweed
wayland-protocols-devel-1.13-1.1.noarch
did the trick.

Thank you!

Dieter
Comment 5 Daniel Stone 2018-02-23 11:23:06 UTC
Thanks both! Patches sent: https://patchwork.freedesktop.org/series/38853/
Comment 6 Daniel Stone 2018-02-26 10:43:54 UTC
Landed in master now.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.