On Fri, Apr 9, 2010 at 8:21 AM, Matthias Lanzinger <mlaenz@gmail.com> wrote:
I noticed a serious mistake in my previous patch. -lssl and -lcrypto were beeing added to $LIBS and by that they were added as linker flags during compilation. This overruled the --as-needed flag and causes ssl to be directly linked to pacman.
Signed-off-by: Matthias Lanzinger <mlaenz@gmail.com>
--- configure.ac | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac index d0fed48..9bb0cd1 100644 --- a/configure.ac +++ b/configure.ac @@ -142,8 +142,8 @@ if test "x$internaldownload" = "xyes" ; then AC_MSG_RESULT(yes) AC_DEFINE([INTERNAL_DOWNLOAD], , [Use internal download library]) # Check for a download library if it was actually requested - AC_CHECK_LIB([fetch], [fetchParseURL], [AC_SUBST([LIBS], ["-lfetch -lssl -lcrypto -ldl $LIBS"])], - AC_MSG_ERROR([libfetch is needed to compile with internal download support]), [-lssl -lcrypto -ldl] ) + AC_CHECK_LIB([fetch], [fetchParseURL], [AC_SUBST([LIBS], ["-lfetch -ldl $LIBS"])], + AC_MSG_ERROR([libfetch is needed to compile with internal download support]), [-lcrypto -ldl] ) The [-lcrypto -ldl] in the second line here is completely wrong if I'm reading autoconf docs correctly. This is meant to be fallback
I'm actually going to revert most of this link stuff as you are still not doing it right, and I want to make our library linking process a bit saner. libraries, not additional dependencies of the original library.
# Check if libfetch supports conditional GET # (version >=2.21, struct url has member last_modified) AC_CHECK_MEMBER(struct url.last_modified, , --
Basically this whole thing assumes you are running with a libfetch compiled exactly as we do. Who says you need crypto support? We shouldn't be making these decisions during config time. -Dan