Re: [evolution-patches] Patch for the Connector's use of convenience libraries
- From: David Malcolm <dmalcolm redhat com>
- To: Sarfraaz Ahmed <asarfraaz novell com>
- Cc: Evolution Patches <evolution-patches ximian com>
- Subject: Re: [evolution-patches] Patch for the Connector's use of convenience libraries
- Date: Tue, 08 Feb 2005 13:08:37 -0500
On Tue, 2005-02-08 at 11:56 +0530, Sarfraaz Ahmed wrote:
> Yes, this looks fine. Built fine on my setup here. Please commit.
>
> BTW ... I would like to know the architectures [ just a few ] that would
> fail without this patch.
On Fedora x86_64 this was dying with:
*** Warning: Linking the shared library libcamelexchange.la against the
*** static library ../lib/libexchange.a is not portable!
*** Warning: Linking the shared library libcamelexchange.la against the
*** static library ../xntlm/libxntlm.a is not portable!
*** Warning: Linking the shared library libcamelexchange.la against the
*** static library /usr/lib64/evolution-openldap/lib64/libldap.a is not
portable!
*** Warning: Linking the shared library libcamelexchange.la against the
*** static library /usr/lib64/evolution-openldap/lib64/liblber.a is not
portable!
libtool: link: warning: ignoring multiple `-rpath's for a libtool
library
x86_64-redhat-linux-gcc
-shared .libs/camel-exchange-folder.o .libs/camel-exchange-provider.o .libs/camel-exchange-journal.o .libs/camel-exchange-search.o .libs/camel-exchange-store.o .libs/camel-exchange-summary.o .libs/camel-exchange-transport.o .libs/camel-stub-marshal.o .libs/camel-stub.o -L/usr/lib64/mysql -L/lib64 -L/usr/kerberos/lib64 -L/usr/kerberos/lib -L/usr/lib64 ../lib/libexchange.a ../xntlm/libxntlm.a -L/usr/lib64/evolution-openldap/lib64 /usr/lib64/evolution-openldap/lib64/libldap.a /usr/lib64/evolution-openldap/lib64/liblber.a -lnsl -L/usr/lib64/evolution/2.2 -L/usr/X11R6/lib64 -pthread -leshell -lgal-2.4 -lgal-a11y-2.4 -lgnomeprint-2-2 -ledataserverui-1.2 -ledata-book-1.2 -lebook-1.2 -ledata-cal-1.2 -lecal-1.2 -lsoup-2.2 /usr/lib64/libgnutls.so -lgcrypt -lgpg-error -lglade-2.0 -lgnomeui-2 -lSM -lICE -lbonoboui-2 /usr/lib64/libxml2.so -lpthread -lgnomecanvas-2 -lgnome-2 /usr/lib64/libpopt.so -lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgnomevfs-2 -lbonobo-2 -lgconf-2 -lbonobo-activation -lORBit-2 -lm -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lcamel-1.2 -lcamel-provider-1.2 -ledataserver-1.2 /usr/lib64/libsasl2.so -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lcom_err -lk5crypto -lresolv -ldl -lz -m64 -Wl,--export-dynamic -Wl,--export-dynamic -Wl,-soname -Wl,libcamelexchange.so -o .libs/libcamelexchange.so
/usr/bin/ld: ../lib/libexchange.a(e2k-autoconfig.o): relocation
R_X86_64_32 against `a local symbol' can not be used when making a
shared object; recompile with -fPIC
../lib/libexchange.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
Talking to my local autotool guru, the syntax being used was basically
wrong: partially linked convenience libraries should be built as .la
files and linked with _LTLIBRARIES, rather than as static libraries with
_LIBRARIES used for the linkage.
I've committed the patch, with entries in ChangeLog and xntlm/ChangeLog
Dave
>
> Thanks
> -- Sarfraaz
>
> David Malcolm wrote:
>
> >ximian-connector-2.1.* has some cross-platform autotool issues: not all
> >architectures allow you to link a static library into a shared library
> >without jumping through the appropriate libtool hoops...
> >
> >Attached is a patch to make it use the appropriate syntax for
> >convenience libraries.
> >
> >OK to commit?
> >
> >
> >------------------------------------------------------------------------
> >
> >--- ximian-connector-2.1.4-pristine/camel/Makefile.am 2005-01-11 01:48:16.000000000 -0500
> >+++ ximian-connector-2.1.4-fix-convenience-libraries/camel/Makefile.am 2005-02-03 17:28:06.525382702 -0500
> >@@ -38,8 +38,8 @@ noinst_HEADERS = \
> > libcamelexchange_la_LDFLAGS = -avoid-version -module
> >
> > libcamelexchange_la_LIBADD = \
> >- $(top_builddir)/lib/libexchange.a \
> >- $(top_builddir)/xntlm/libxntlm.a \
> >+ $(top_builddir)/lib/libexchange.la \
> >+ $(top_builddir)/xntlm/libxntlm.la \
> > $(LDAP_LIBS) \
> > $(LIBEXCHANGE_LIBS) \
> > $(EXCHANGE_STORAGE_LIBS)
> >diff -up --recursive ximian-connector-2.1.4-pristine/lib/Makefile.am ximian-connector-2.1.4-fix-convenience-libraries/lib/Makefile.am
> >--- ximian-connector-2.1.4-pristine/lib/Makefile.am 2005-01-23 23:46:44.000000000 -0500
> >+++ ximian-connector-2.1.4-fix-convenience-libraries/lib/Makefile.am 2005-02-03 17:27:49.686833939 -0500
> >@@ -9,8 +9,8 @@ INCLUDES =
> > -I$(top_srcdir) \
> > -I$(top_srcdir)/xntlm
> >
> >-noinst_LIBRARIES = \
> >- libexchange.a
> >+noinst_LTLIBRARIES = \
> >+ libexchange.la
> >
> >
> >
> >@@ -63,7 +63,7 @@ NODIST_FILES += $(MARSHAL_GENERATED)
> > CLEANFILES += $(MARSHAL_GENERATED)
> >
> >
> >-libexchange_a_SOURCES = \
> >+libexchange_la_SOURCES = \
> > $(MARSHAL_GENERATED) \
> > e2k-propnames.h \
> > e2k-proptags.h \
> >@@ -124,8 +124,8 @@ noinst_PROGRAMS = \
> > urltest
> >
> > progs_libadd = \
> >- libexchange.a \
> >- $(top_builddir)/xntlm/libxntlm.a \
> >+ libexchange.la \
> >+ $(top_builddir)/xntlm/libxntlm.la \
> > -L$(EVOLUTION_privlibdir) -leutil \
> > $(LDAP_LIBS) \
> > $(LIBEXCHANGE_LIBS) \
> >diff -up --recursive ximian-connector-2.1.4-pristine/xntlm/Makefile.am ximian-connector-2.1.4-fix-convenience-libraries/xntlm/Makefile.am
> >--- ximian-connector-2.1.4-pristine/xntlm/Makefile.am 2004-05-11 11:15:58.000000000 -0400
> >+++ ximian-connector-2.1.4-fix-convenience-libraries/xntlm/Makefile.am 2005-02-03 17:28:40.980425472 -0500
> >@@ -1,6 +1,6 @@
> >-noinst_LIBRARIES = libxntlm.a
> >+noinst_LTLIBRARIES = libxntlm.la
> >
> >-libxntlm_a_SOURCES = \
> >+libxntlm_la_SOURCES = \
> > xntlm.c \
> > xntlm.h \
> > xntlm-des.c \
> >--- ximian-connector-2.1.4-pristine/shell/Makefile.am 2005-01-07 00:23:12.000000000 -0500
> >+++ ximian-connector-2.1.4/shell/Makefile.am 2005-02-03 18:48:13.076466460 -0500
> >@@ -1,4 +1,4 @@
> >-noinst_LIBRARIES = libfoldertree.a
> >+noinst_LTLIBRARIES = libfoldertree.la
> >
> > INCLUDES = \
> > -I$(top_srcdir) \
> >@@ -8,7 +8,7 @@ INCLUDES = \
> > -DCONNECTOR_GLADEDIR=\""$(gladedir)"\" \
> > -DEVOLUTION_IMAGESDIR=\""$(EVOLUTION_imagesdir)"\"
> >
> >-libfoldertree_a_SOURCES = \
> >+libfoldertree_la_SOURCES = \
> > $(MARSHAL_GENERATED) \
> > e-folder.c \
> > e-folder.h \
> >--- ximian-connector-2.1.4-pristine/mail/Makefile.am 2004-05-11 11:15:58.000000000 -0400
> >+++ ximian-connector-2.1.4/mail/Makefile.am 2005-02-03 18:52:30.750762456 -0500
> >@@ -1,6 +1,6 @@
> > ## Process this file with automake to produce Makefile.in
> >-noinst_LIBRARIES = \
> >- libexchangemail.a
> >+noinst_LTLIBRARIES = \
> >+ libexchangemail.la
> >
> > INCLUDES = \
> > -I$(top_srcdir) \
> >@@ -16,7 +16,7 @@ INCLUDES = \
> > -I$(top_srcdir)/shell \
> > -I$(top_srcdir)/camel
> >
> >-libexchangemail_a_SOURCES = \
> >+libexchangemail_la_SOURCES = \
> > mail-stub.c \
> > mail-stub.h \
> > mail-stub-listener.c \
> >--- ximian-connector-2.1.4-pristine/addressbook/Makefile.am 2004-10-08 06:45:18.000000000 -0400
> >+++ ximian-connector-2.1.4/addressbook/Makefile.am 2005-02-03 18:56:59.489466061 -0500
> >@@ -10,9 +10,9 @@ INCLUDES = \
> > $(LDAP_CFLAGS) \
> > $(LIBEXCHANGE_CFLAGS)
> >
> >-noinst_LIBRARIES = libexchangeaddressbook.a
> >+noinst_LTLIBRARIES = libexchangeaddressbook.la
> >
> >-libexchangeaddressbook_a_SOURCES = \
> >+libexchangeaddressbook_la_SOURCES = \
> > e-book-backend-exchange.c \
> > e-book-backend-exchange.h \
> > e-book-backend-exchange-factory.c \
> >--- ximian-connector-2.1.4-pristine/calendar/Makefile.am 2004-10-05 01:39:39.000000000 -0400
> >+++ ximian-connector-2.1.4/calendar/Makefile.am 2005-02-03 19:02:00.722528679 -0500
> >@@ -10,10 +10,10 @@ INCLUDES =
> > -I$(top_builddir)/shell \
> > -DG_LOG_DOMAIN=\"e-cal-backend-exchange\"
> >
> >-noinst_LIBRARIES = \
> >- libexchangecalendar.a
> >+noinst_LTLIBRARIES = \
> >+ libexchangecalendar.la
> >
> >-libexchangecalendar_a_SOURCES = \
> >+libexchangecalendar_la_SOURCES = \
> > e-cal-backend-exchange.c \
> > e-cal-backend-exchange.h \
> > e-cal-backend-exchange-calendar.c \
> >--- ximian-connector-2.1.4-pristine/storage/Makefile.am 2005-01-05 03:16:08.000000000 -0500
> >+++ ximian-connector-2.1.4/storage/Makefile.am 2005-02-07 15:36:33.088604291 -0500
> >@@ -79,12 +79,12 @@ evolution_exchange_storage_SOURCES =
> > xc-commands.h
> >
> > evolution_exchange_storage_LDADD = \
> >- $(top_builddir)/shell/libfoldertree.a \
> >- $(top_builddir)/mail/libexchangemail.a \
> >- $(top_builddir)/addressbook/libexchangeaddressbook.a \
> >- $(top_builddir)/calendar/libexchangecalendar.a \
> >- $(top_builddir)/lib/libexchange.a \
> >- $(top_builddir)/xntlm/libxntlm.a \
> >+ $(top_builddir)/shell/libfoldertree.la \
> >+ $(top_builddir)/mail/libexchangemail.la \
> >+ $(top_builddir)/addressbook/libexchangeaddressbook.la \
> >+ $(top_builddir)/calendar/libexchangecalendar.la \
> >+ $(top_builddir)/lib/libexchange.la \
> >+ $(top_builddir)/xntlm/libxntlm.la \
> > $(top_builddir)/camel/camel-stub-marshal.lo \
> > $(LDAP_LIBS) \
> > $(EXCHANGE_STORAGE_LIBS) \
> >@@ -96,8 +96,8 @@ ximian_connector_setup_SOURCES = \
> > exchange-autoconfig-wizard.c
> >
> > ximian_connector_setup_LDADD = \
> >- $(top_builddir)/lib/libexchange.a \
> >- $(top_builddir)/xntlm/libxntlm.a \
> >+ $(top_builddir)/lib/libexchange.la \
> >+ $(top_builddir)/xntlm/libxntlm.la \
> > $(LDAP_LIBS) \
> > $(EXCHANGE_STORAGE_LIBS)
> >
> >@@ -111,8 +111,10 @@ migr_test_SOURCES = \
> > exchange-migrate.h
> >
> > migr_test_LDADD = \
> >- $(top_builddir)/lib/libexchange.a \
> >- $(evolution_exchange_storage_LDADD)
> >+ $(top_builddir)/lib/libexchange.la \
> >+ $(top_builddir)/xntlm/libxntlm.la \
> >+ $(LDAP_LIBS) \
> >+ $(EXCHANGE_STORAGE_LIBS)
> >
> > serverdir = $(libdir)/bonobo/servers
> > server_in_files = GNOME_Evolution_Exchange_Storage.server.in.in
> >
> >
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]