[syslog-ng] [Bug 155] Compilation failure in 3.3.3: the Darwin linker does not accept " --whole-archive"
bugzilla at bugzilla.balabit.com
bugzilla at bugzilla.balabit.com
Thu Jan 5 10:26:28 CET 2012
https://bugzilla.balabit.com/show_bug.cgi?id=155
Tamás Pál <folti at balabit.hu> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |folti at balabit.hu
--- Comment #3 from Tamás Pál <folti at balabit.hu> 2012-01-05 10:26:28 ---
(In reply to comment #1)
> can you check if --enable-dynamic-linking solves this issue?
>
In OSE, this options are hardcoded into the SYSLOGNG_DEPS_LIBS variable when dynamic linking is disabled, but hardcoded into ivykis' options when dynamic
linking enabled and the internal ivykis source used.
Either he has to use a separate ivykis or we have to make optional the --whole-archive options, like with this patch:
diff --git a/configure.in b/configure.in
index ed12a8e..71a8f06 100644
--- a/configure.in
+++ b/configure.in
@@ -220,6 +220,15 @@ AC_PROG_MAKE_SET
PKG_PROG_PKG_CONFIG
LT_INIT([dlopen disable-static])
+WHOLE_ARCHIVE="-Wl,--whole-archive"
+NO_WHOLE_ARCHIVE="-Wl,--no-whole-archive"
+case "$ostype" in
+ Darwin)
+ WHOLE_ARCHIVE=
+ NO_WHOLE_ARCHIVE=
+ ;;
+esac
+
dnl ***************************************************************************
dnl Validate yacc
@@ -737,12 +746,12 @@ if test "x$with_ivykis" = "xinternal"; then
# these can only be used in lib as it assumes
# the current directory just one below ivykis
- IVYKIS_LIBS="-Wl,--whole-archive -L\$(top_builddir)/lib/ivykis/lib -livykis -L\$(top_builddir)/lib/ivykis/modules -livykis-modules
-Wl,--no-whole-archive"
+ IVYKIS_LIBS="$WHOLE_ARCHIVE -L\$(top_builddir)/lib/ivykis/lib -livykis -L\$(top_builddir)/lib/ivykis/modules -livykis-modules
$NO_WHOLE_ARCHIVE"
IVYKIS_CFLAGS="-I\$(top_srcdir)/lib/ivykis/lib/include -I\$(top_builddir)/lib/ivykis/lib/include -I\$(top_srcdir)/lib/ivykis/modules/include"
IVYKIS_SUBDIRS=ivykis
# LIBS to use when libtool is not applicable (when linking the main syslog-ng executable in mixed linking mode)
- IVYKIS_NO_LIBTOOL_LIBS="-Wl,--whole-archive -L\$(top_builddir)/lib/ivykis/lib/.libs -livykis -L\$(top_builddir)/lib/ivykis/modules/.libs
-livykis-modules -Wl,--no-whole-archive"
+ IVYKIS_NO_LIBTOOL_LIBS="$WHOLE_ARCHIVE -L\$(top_builddir)/lib/ivykis/lib/.libs -livykis -L\$(top_builddir)/lib/ivykis/modules/.libs
-livykis-modules $NO_WHOLE_ARCHIVE"
else
AC_MSG_ERROR([Internal ivykis sources not found in lib/ivykis. This is a hard dependency, unable to build syslog-ng without them.])
fi
@@ -1004,7 +1013,7 @@ if test "x$linking_mode" = "xdynamic"; then
# syslog-ng binary is linked with the default link command (e.g. libtool)
SYSLOGNG_LINK='$(LINK)'
else
- SYSLOGNG_DEPS_LIBS="$LIBS $BASE_LIBS $RESOLV_LIBS $LD_START_STATIC -Wl,--whole-archive $GLIB_LIBS $EVTLOG_LIBS $PCRE_LIBS $REGEX_LIBS
-Wl,--no-whole-archive $IVYKIS_NO_LIBTOOL_LIBS $LD_END_STATIC $LIB
+ SYSLOGNG_DEPS_LIBS="$LIBS $BASE_LIBS $RESOLV_LIBS $LD_START_STATIC $WHOLE_ARCHIVE $GLIB_LIBS $EVTLOG_LIBS $PCRE_LIBS $REGEX_LIBS $NO_WHOLE_ARCHIVE
$IVYKIS_NO_LIBTOOL_LIBS $LD_END_STATIC $LIBCAP_LIBS $
TOOL_DEPS_LIBS="$LIBS $BASE_LIBS $GLIB_LIBS $EVTLOG_LIBS $RESOLV_LIBS $LIBCAP_LIBS $PCRE_LIBS $REGEX_LIBS $IVYKIS_LIBS $DL_LIBS"
CORE_DEPS_LIBS=""
--
Configure bugmail: https://bugzilla.balabit.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the syslog-ng
mailing list