I had done all that, but was still getting the error. Finally I tracked it
down to what appears to be an internal Makefile problem in Mesa's
libwayland-egl directory. libwayland-drm.a provides this symbol, but wasn't
getting linked into the overall libwayland-egl.so binary. See the attached
proposed patch.

On Sun, Mar 13, 2011 at 4:42 PM, Iskren Chernev <[email protected]>wrote:

> Are you sure you make && make install the wayland library first, and then
> the demo? Also double check all environmental variables from the build
> tutorial. You may also add
> PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
> because on my system pkg-config just skipped some libraries.
>
> Regards,
> Iskren
>
>
> On Sun, Mar 13, 2011 at 8:20 PM, Matt Hoosier <[email protected]>wrote:
>
>> Verified on both counts. Mesa was built from Git head yesterday, and I
>> inspected the sources that make up libwayland-egl.so; it's those that lack
>> the wl_drm_interface struct.
>>
>>
>> On Sun, Mar 13, 2011 at 8:43 AM, Marty Jack <[email protected]> wrote:
>>
>>>
>>>
>>> On 03/13/2011 09:33 AM, Matt Hoosier wrote:
>>> > Hi,
>>> >
>>> > I ran into a link error when trying to compile the demos repository
>>> according to the instructions on the Building page:
>>> >
>>> >   CCLD  compositor
>>> >   libwayland-egl.so: undefined reference to `wl_drm_interface'
>>> >   make[3]: *** [compositor] Error 1
>>> >
>>> > All of the packages are freshly compiled from Git master as of
>>> yesterday.
>>> >
>>> > I found that this symbol is intending to refer to the address of a
>>> global struct provided by the core 'wayland' package. In master of that
>>> repo, the struct is declared (but not defined). The 'terminal' branch does
>>> have its definition, but the 'terminal' branch looks out-of-date. (No
>>> commits since December.)
>>> >
>>> > Any suggestions?
>>> >
>>> >
>>> >
>>> > _______________________________________________
>>> > wayland-devel mailing list
>>> > [email protected]
>>> > http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>>>
>>> This is now provided by the EGL Wayland backend.  You will need a
>>> sufficiently recent Mesa git built --with-egl-platforms=wayland,drm
>>>
>>> I find that Mesa has trouble updating the .so files during make install
>>> when they already exist.  You may want to check that you are actually using
>>> the ones you built.
>>>
>>
>>
>> _______________________________________________
>> wayland-devel mailing list
>> [email protected]
>> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>>
>>
>
From ca716603be8a577c848b4bd8599aee8944afe1eb Mon Sep 17 00:00:00 2001
From: Matt Hoosier <[email protected]>
Date: Sun, 13 Mar 2011 18:19:31 -0500
Subject: [PATCH] Remember to link DRM implementation into libwayland-egl.so

---
 src/egl/wayland/wayland-egl/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/egl/wayland/wayland-egl/Makefile b/src/egl/wayland/wayland-egl/Makefile
index b9d13dc..284cd64 100644
--- a/src/egl/wayland/wayland-egl/Makefile
+++ b/src/egl/wayland/wayland-egl/Makefile
@@ -16,7 +16,7 @@ OBJECTS = $(SOURCES:.c=.o)
 LOCAL_CFLAGS = $(LIBDRM_CFLAGS) \
 	       $(WAYLAND_CFLAGS)
 
-LOCAL_LIBS =
+LOCAL_LIBS = $(TOP)/src/egl/wayland/wayland-drm/libwayland-drm.a
 
 .c.o:
 	$(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(LOCAL_CFLAGS) $< -o $@
-- 
1.7.1

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to