Bug 71633

Summary: wayland-server.so has undefined refereces
Product: Wayland Reporter: Mike Lothian <mike>
Component: waylandAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: mike, pochu27
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 71634    
Attachments: Build log

Description Mike Lothian 2013-11-15 08:17:09 UTC
Created attachment 89250 [details]
Build log

Wayland building has been failing for me over the last few days

Making all in tests
make[2]: Entering directory `/var/tmp/portage/dev-libs/wayland-9999/work/wayland-9999-x86/tests'
x86_64-pc-linux-gnu-gcc -m32 -DHAVE_CONFIG_H -I. -I/var/tmp/portage/dev-libs/wayland-9999/work/wayland-9999/tests -I..  -I../src -I/var/tmp/portage/dev-libs/wayland-9999/work/wayland-9999/src  -Wall -Wextra -Wno-unused-parameter -g -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden -I/usr/lib32/libffi-3.0.13/include  -O3 -march=native -pipe -flto=8 -c /var/tmp/portage/dev-libs/wayland-9999/work/wayland-9999/tests/fixed-benchmark.c
/bin/sh ../libtool  --tag=CC   --mode=link x86_64-pc-linux-gnu-gcc -m32 -Wall -Wextra -Wno-unused-parameter -g -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden -I/usr/lib32/libffi-3.0.13/include  -O3 -march=native -pipe -flto=8  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -flto=8 -o fixed-benchmark fixed-benchmark.o ../src/libwayland-util.la ../src/libwayland-client.la ../src/libwayland-server.la -lrt -ldl -L/usr/lib32 -lffi  
libtool: link: x86_64-pc-linux-gnu-gcc -m32 -Wall -Wextra -Wno-unused-parameter -g -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden -I/usr/lib32/libffi-3.0.13/include -O3 -march=native -pipe -flto=8 -Wl,-O1 -Wl,--hash-style=gnu -flto=8 -o .libs/fixed-benchmark fixed-benchmark.o  -Wl,--as-needed ../src/.libs/libwayland-util.a ../src/.libs/libwayland-client.so -L/usr/lib32 ../src/.libs/libwayland-server.so -lm -lrt -ldl -lffi
../src/.libs/libwayland-server.so: error: undefined reference to 'pthread_key_create'
../src/.libs/libwayland-server.so: error: undefined reference to 'pthread_getspecific'
../src/.libs/libwayland-server.so: error: undefined reference to 'pthread_setspecific'
../src/.libs/libwayland-server.so: error: undefined reference to 'pthread_once'
collect2: error: ld returned 1 exit status
make[2]: *** [fixed-benchmark] Error 1
make[2]: Leaving directory `/var/tmp/portage/dev-libs/wayland-9999/work/wayland-9999-x86/tests'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/dev-libs/wayland-9999/work/wayland-9999-x86'
make: *** [all] Error 2
Comment 1 Emilio Pozuelo Monfort 2013-11-15 08:49:22 UTC
Probably caused by -Wl,--as-needed and us not explicitly linking with -lpthread. I'm not sure what's the correct (as in portable) way to fix this.
Comment 2 Mike Lothian 2013-11-19 16:20:50 UTC
I've not changed my build settings and this has worked from the early releases of Wayland until now

Are there any times where we wouldn't want to link to pthreads?
Comment 3 Kristian Høgsberg 2013-11-23 20:29:01 UTC
We only recently started using the functions that are undefined, which is why it triggers now.  I've pushed

commit 5a019e38a1316a31072a9cb6de8da4377f3cfad5
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Sat Nov 23 12:24:26 2013 -0800

    Add -pthread to AM_CFLAGS to do the right thing when using threads
    
    https://bugs.freedesktop.org/show_bug.cgi?id=71633

Reopen if it doesn't fix it for you, thanks.

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.