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
