kumquat-buildroot/package/openntpd/openntpd.mk
Vicente Olivert Riera 7f1ec872cd openntpd: fix linking problem when building statically
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 CFLAGS fixes the problem.

Fixes:

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

[Peter: unconditionally pass in CFLAGS, add comment about why]
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-11-24 09:14:55 +01:00

34 lines
1.0 KiB
Makefile

################################################################################
#
# openntpd
#
################################################################################
OPENNTPD_VERSION = 5.7p4
OPENNTPD_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenNTPD
OPENNTPD_LICENSE = MIT-like, BSD-2c, BSD-3c
OPENNTPD_LICENSE_FILES = COPYING
# openntpd uses pthread functions for arc4random emulation but forgets
# to use -pthread
OPENNTPD_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -pthread"
define OPENNTPD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/openntpd/ntpd.service \
$(TARGET_DIR)/usr/lib/systemd/system/ntpd.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -fs ../../../../usr/lib/systemd/system/ntpd.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ntpd.service
endef
define OPENNTPD_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/openntpd/S49ntp \
$(TARGET_DIR)/etc/init.d/S49ntp
endef
define OPENNTPD_USERS
_ntp -1 _ntp -1 * - - - Network Time Protocol daemon
endef
$(eval $(autotools-package))