Re: [evolution-patches] Patch for the Connector's use of convenience libraries



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]