Bug 71530

Summary: weston/tests does not compile - missing library during linking
Product: Wayland Reporter: ulf.dambacher
Component: westonAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: 1.3.0   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description ulf.dambacher 2013-11-12 10:24:18 UTC
I get compile errors because of missing libraries in weston/tests:

libtool: link: x86_64-pc-linux-gnu-gcc -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -g -fvisibility=hidden -Wstrict-prototypes -Wmissing-prototypes -march=native -O2 -pipe -Wl,-O1 -o keyboard.weston keyboard-test.o weston-test-client-helper.o wayland-test-protocol.o subsurface-protocol.o  -Wl,--as-needed ../shared/.libs/libshared.a ./.libs/libshared-test.a
weston-test-client-helper.o: In function `wl_output_get_user_data':
/usr/include/wayland-client-protocol.h:2340: undefined reference to `wl_proxy_get_user_data'
/usr/include/wayland-client-protocol.h:2340: undefined reference to `wl_proxy_get_user_data'
weston-test-client-helper.o: In function `wl_surface_get_user_data':
/usr/include/wayland-client-protocol.h:1439: undefined reference to `wl_proxy_get_user_data'
/usr/include/wayland-client-protocol.h:1439: undefined reference to `wl_proxy_get_user_data'
/usr/include/wayland-client-protocol.h:1439: undefined reference to `wl_proxy_get_user_data'

-- more errors follow


I changed the Makefile:
SIMPLE_CLIENT_LIBS =  -lwayland-client
and it compiles.

I failed to change Makefile.am accordingly - have to read manuals...
Comment 1 Kristian Høgsberg 2013-11-23 20:40:56 UTC
Did you pass --disable-simple-clients to configure?

This commit on master should fix it:

commit 8e293a5adbbc0e840cb4de9dc3971845fbfade12
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Sat Nov 23 12:40:34 2013 -0800

    tests: Use TEST_CLIENT for test client modules
    
    We abused SIMPLE_CLIENT_LIBS before, but if you disable simple clients,
    the test suite fails to link.  Use test client specific variables instead.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=71530
Comment 2 ulf.dambacher 2013-11-24 08:29:30 UTC
yes, according to my build log the gento ebuild adds this:

configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir
=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --disable-silent-rules --disable-dependency-tracking --disable-fb
dev-compositor --enable-drm-compositor --disable-headless-compositor --disable-rdp-compositor --disable-rpi-compositor --enable-wayland-comp
ositor --enable-x11-compositor --enable-colord --enable-egl --disable-libunwind --enable-resize-optimization --enable-setuid-install --disab
le-tablet-shell --enable-xwayland --enable-xwayland-test --disable-simple-clients --disable-simple-egl-clients --with-cairo=gl

I did not find this commit, is ist upstream?

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.