> CCLD     openssl
>../crypto/.libs/libcrypto.so: undefined reference to `clock_gettime'
>collect2: ld returned 1 exit status
>make[1]: *** [openssl] Error 1
>
>Setting LDFLAGS to -lrt fixes the issue.

Rather than LDFLAGS, it should be in LDADD/LIBADD.

--8<--
Subject: build: resolve link-time failure

libtool: link: gcc -O2 -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2
 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g
 -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector
 -funwind-tables -fasynchronous-unwind-tables -g -Wall -Werror -std=c99
 -g -Wno-pointer-sign -D_BSD_SOURCE -D_POSIX_SOURCE -D_GNU_SOURCE
 -o .libs/openssl [ *.o ... ] ../crypto/.libs/libcrypto.so
 ../ssl/.libs/libssl.so -Wl,-rpath -Wl,/usr/lib64
../crypto/.libs/libcrypto.so: undefined reference to `clock_gettime'
collect2: error: ld returned 1 exit status

---
 crypto/Makefile.am |    3 +++
 1 file changed, 3 insertions(+)

Index: libressl-2.0.0/crypto/Makefile.am
===================================================================
--- libressl-2.0.0.orig/crypto/Makefile.am
+++ libressl-2.0.0/crypto/Makefile.am
@@ -19,6 +19,7 @@ libcompatnoopt_la_SOURCES = compat/expli
 # other compatibility functions
 libcompat_la_CFLAGS = $(CFLAGS) $(USER_CFLAGS)
 libcompat_la_SOURCES =
+libcompat_la_LIBADD =
 
 if NO_STRLCAT
 libcompat_la_SOURCES += compat/strlcat.c
@@ -46,12 +47,14 @@ libcompat_la_SOURCES += compat/arc4rando
 if NO_GETENTROPY
 if TARGET_LINUX
 libcompat_la_SOURCES += compat/getentropy_linux.c
+libcompat_la_LIBADD += -lrt
 endif
 if TARGET_DARWIN
 libcompat_la_SOURCES += compat/getentropy_osx.c
 endif
 if TARGET_SOLARIS
 libcompat_la_SOURCES += compat/getentropy_solaris.c
+libcompat_la_LIBADD += -lrt
 endif
 endif
 

Reply via email to