[Buildroot] [PATCH] openntpd: fix linking problem when building statically

Peter Korsgaard peter at korsgaard.com
Tue Nov 24 08:13:44 UTC 2015


>>>>> "Vicente" == Vicente Olivert Riera <Vincent.Riera at imgtec.com> writes:

 > The problem looks like this:
 >   CCLD     ntpd
 > ../compat/.libs/libcompat.a(libcompat_la-arc4random.o): In function
 > `arc4random':
 > /br/output/build/openntpd-5.7p4/compat/arc4random.c:183: undefined
 > reference to `pthread_mutex_lock'
 > /br/output/build/openntpd-5.7p4/compat/arc4random.c:185: undefined
 > reference to `pthread_mutex_unlock'
 > ../compat/.libs/libcompat.a(libcompat_la-arc4random.o): In function
 > `arc4random_buf':
 > /br/output/build/openntpd-5.7p4/compat/arc4random.c:192: undefined
 > reference to `pthread_mutex_lock'
 > /br/output/build/openntpd-5.7p4/compat/arc4random.c:194: undefined
 > reference to `pthread_mutex_unlock'
 > /br/output/build/openntpd-5.7p4/compat/arc4random.c:194: undefined
 > reference to `pthread_mutex_unlock'
 > collect2: error: ld returned 1 exit status

 > Adding -pthread to LDFLAGS fixes the problem.

 > Fixes:

 >   http://autobuild.buildroot.net/results/b12/b120b6da87ae4eb355d06f2fd8f4fc8050410897/

 > Signed-off-by: Vicente Olivert Riera <Vincent.Riera at imgtec.com>
 > ---
 >  package/openntpd/openntpd.mk |    5 +++++
 >  1 files changed, 5 insertions(+), 0 deletions(-)

 > diff --git a/package/openntpd/openntpd.mk b/package/openntpd/openntpd.mk
 > index d51f902..816001a 100644
 > --- a/package/openntpd/openntpd.mk
 > +++ b/package/openntpd/openntpd.mk
 > @@ -9,6 +9,11 @@ OPENNTPD_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenNTPD
 >  OPENNTPD_LICENSE = MIT-like, BSD-2c, BSD-3c
 >  OPENNTPD_LICENSE_FILES = COPYING
 
 > +# openntpd needs -pthread if linking statically
 > +ifeq ($(BR2_STATIC_LIBS),y)
 > +OPENNTPD_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -pthread"
 > +endif
 > +

-pthread both affects compilation (it normally adds -D_REENTRANT) and
linking, so we should afaik pass it in CFLAGS instead. It isn't really a
problem with static linking (but something else probably pulls in
libpthread when linking dynamically) so I've changed it to pass -pthread
unconditionally and added a note about why.

Committed with that fixed, thanks.

-- 
Bye, Peter Korsgaard


More information about the buildroot mailing list