Message ID | 1361109023-21403-1-git-send-email-arnout@mind.be |
---|---|
State | Superseded |
Headers | show |
Dear Arnout Vandecappelle (Essensium/Mind), On Sun, 17 Feb 2013 14:50:22 +0100, Arnout Vandecappelle (Essensium/Mind) wrote: > From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be> > > Fixes http://autobuild.buildroot.net/results/392512cb348123d76962df02e38675a80eae41b1 > > Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> > --- > My gcc manual only documents the -pthread option for some architectures, > but it seems to work for x86, sh and arm as well. Thanks. However, I'd like to see if an upstream fix would not be more appropriate for this. If you look at the build log, it shows: checking for pthread_self... no checking for pthread_mutex_init... no checking for pthread_mutex_destroy... no checking for pthread_mutex_lock... no checking for pthread_mutex_unlock... no checking for pthread_cond_init... no checking for pthread_cond_destroy... no checking for pthread_condattr_init... no checking for pthread_condattr_destroy... no checking for pthread_cond_wait... no checking for pthread_cond_timedwait... no checking for pthread_cond_signal... no checking for pthread_cond_broadcast... no checking for pthread_equal... no checking for pthread_exit... no It is really those tests that are wrong I'd say. They should have detected that the C library provides the pthread functions. The AC_CHECK_FUNCS test in configure.ac checks those functions, but does not specify that those functions should be tested by linking against -lpthread. Wouldn't an upstreamable configure.ac patch be more appropriate here? Thanks, Thomas
On 17/02/13 18:38, Thomas Petazzoni wrote: > Dear Arnout Vandecappelle (Essensium/Mind), > > On Sun, 17 Feb 2013 14:50:22 +0100, Arnout Vandecappelle > (Essensium/Mind) wrote: >> From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be> >> >> Fixes http://autobuild.buildroot.net/results/392512cb348123d76962df02e38675a80eae41b1 >> >> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> >> --- >> My gcc manual only documents the -pthread option for some architectures, >> but it seems to work for x86, sh and arm as well. > > Thanks. However, I'd like to see if an upstream fix would not be more > appropriate for this. If you look at the build log, it shows: > > checking for pthread_self... no > checking for pthread_mutex_init... no > checking for pthread_mutex_destroy... no > checking for pthread_mutex_lock... no > checking for pthread_mutex_unlock... no > checking for pthread_cond_init... no > checking for pthread_cond_destroy... no > checking for pthread_condattr_init... no > checking for pthread_condattr_destroy... no > checking for pthread_cond_wait... no > checking for pthread_cond_timedwait... no > checking for pthread_cond_signal... no > checking for pthread_cond_broadcast... no > checking for pthread_equal... no > checking for pthread_exit... no > > It is really those tests that are wrong I'd say. They should have > detected that the C library provides the pthread functions. > > The AC_CHECK_FUNCS test in configure.ac checks those functions, but > does not specify that those functions should be tested by linking > against -lpthread. Wouldn't an upstreamable configure.ac patch be more > appropriate here? Linking against -lpthread isn't enough, apparently. Many packages use the ACX_PTHREAD macro [1]. That is probably a possibility. Regards, Arnout [1] http://ac-archive.sourceforge.net/ac-archive/acx_pthread.html
diff --git a/package/x11r7/xlib_libpthread-stubs/xlib_libpthread-stubs.mk b/package/x11r7/xlib_libpthread-stubs/xlib_libpthread-stubs.mk index 909253c..40d9a0b 100644 --- a/package/x11r7/xlib_libpthread-stubs/xlib_libpthread-stubs.mk +++ b/package/x11r7/xlib_libpthread-stubs/xlib_libpthread-stubs.mk @@ -9,6 +9,10 @@ XLIB_LIBPTHREAD_STUBS_SITE = http://xcb.freedesktop.org/dist/ XLIB_LIBPTHREAD_STUBS_INSTALL_STAGING = YES +ifeq ($(BR2_PREFER_STATIC_LIB),y) +XLIB_LIBPTHREAD_STUBS_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -pthread" +endif + $(eval $(autotools-package)) $(eval $(host-autotools-package))