From a5e83769b762d9fa09d0600d68ebdbe5c33f6da3 Mon Sep 17 00:00:00 2001 From: Michael Witten Date: Sat, 16 Jan 2010 21:13:31 +0000 Subject: [PATCH] Build Bug: -lm should come after passing ../common/libor.a to linker The following commit: commit e56747f9cf29ed788baf8805bfe391925d8a19da Author: Nick Mathewson Date: Tue Dec 15 14:32:55 2009 -0500 Refactor a bit so that it is safe to include math.h, and mostly not needed. introduced this line: tor_resolve_LDADD = -lm ../common/libor.a @TOR_LIB_WS32@ which caused the build to fail, because only ../common/libor.a (via the embedded ../common/util.o via ../common/util.c) referenced libm's `lround' and `log' symbols, so that the linker (GNU ld) didn't bother to import those symbols before reading ../common/libor.a, thus leaving those symbols undefined. The solution was to swap the order, producing the line: tor_resolve_LDADD = ../common/libor.a -lm @TOR_LIB_WS32@ Signed-off-by: Michael Witten --- src/tools/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am index 0880668bb9..39c8277ccd 100644 --- a/src/tools/Makefile.am +++ b/src/tools/Makefile.am @@ -3,7 +3,7 @@ noinst_PROGRAMS = tor-checkkey tor_resolve_SOURCES = tor-resolve.c tor_resolve_LDFLAGS = @TOR_LDFLAGS_libevent@ -tor_resolve_LDADD = -lm ../common/libor.a @TOR_LIB_WS32@ +tor_resolve_LDADD = ../common/libor.a -lm @TOR_LIB_WS32@ tor_gencert_SOURCES = tor-gencert.c tor_gencert_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \ -- 2.11.4.GIT