Hi, while packaging strongSwan for Fedora I came across a build problem on Fedora 13.
The default behaviour for ld allows users to 'indirectly' link to required objects/libraries through intermediate objects/libraries. While this is convenient, it can also be dangerous because it makes your program's dependencies tied to the dependencies of other objects. Beginning with Fedora 13 this will be changed and you need to explicitly link all dependent libraries. More details can be found here: http://fedoraproject.org/wiki/UnderstandingDSOLinkChange The attached patch fixes all such cases in strongSwan. It would be nice if you could apply this patch to strongSwan upstream. Kind regards, Gerd
From 7b88a0937d29f2500e2590ededab74ea315b3955 Mon Sep 17 00:00:00 2001 From: Gerd von Egidy <[email protected]> Date: Sun, 14 Mar 2010 22:01:17 +0100 Subject: [PATCH] Don't indirectly link dependent libraries. The default behaviour for ld allows users to 'indirectly' link to required objects/libraries through intermediate objects/libraries. While this is convenient, it can also be dangerous because it makes your program's dependencies tied to the dependencies of other objects. Beginning with Fedora 13 this will be changed and you need to explicitly link all dependent libraries. More details can be found here: http://fedoraproject.org/wiki/UnderstandingDSOLinkChange This patch fixes all such cases in strongSwan. --- src/checksum/Makefile.am | 2 +- src/manager/Makefile.am | 2 +- src/medsrv/Makefile.am | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/checksum/Makefile.am b/src/checksum/Makefile.am index d0413e6..214577e 100644 --- a/src/checksum/Makefile.am +++ b/src/checksum/Makefile.am @@ -5,7 +5,7 @@ nodist_libchecksum_la_SOURCES = checksum.c libchecksum_la_LDFLAGS = -module -avoid-version checksum_builder_SOURCES = checksum_builder.c -checksum_builder_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la +checksum_builder_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la $(DLLIB) BUILT_SOURCES = checksum.c CLEANFILES = checksum.c diff --git a/src/manager/Makefile.am b/src/manager/Makefile.am index e6c31e9..98e50d8 100644 --- a/src/manager/Makefile.am +++ b/src/manager/Makefile.am @@ -10,7 +10,7 @@ controller/control_controller.c controller/control_controller.h \ controller/config_controller.c controller/config_controller.h \ controller/gateway_controller.c controller/gateway_controller.h -manager_fcgi_LDADD = $(top_builddir)/src/libfast/libfast.la ${xml_LIBS} +manager_fcgi_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la $(top_builddir)/src/libfast/libfast.la ${xml_LIBS} INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libfast ${xml_CFLAGS} AM_CFLAGS = -rdynamic \ diff --git a/src/medsrv/Makefile.am b/src/medsrv/Makefile.am index 9f5c9e2..0700c05 100644 --- a/src/medsrv/Makefile.am +++ b/src/medsrv/Makefile.am @@ -7,7 +7,7 @@ main.c filter/auth_filter.c filter/auth_filter.h \ controller/user_controller.c controller/user_controller.h \ controller/peer_controller.c controller/peer_controller.h -medsrv_fcgi_LDADD = $(top_builddir)/src/libfast/libfast.la +medsrv_fcgi_LDADD = $(top_srcdir)/src/libstrongswan/libstrongswan.la $(top_builddir)/src/libfast/libfast.la INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libfast AM_CFLAGS = -rdynamic \ -- 1.6.6.2
_______________________________________________ Dev mailing list [email protected] https://lists.strongswan.org/mailman/listinfo/dev
