Re: [Evolution-hackers] libeshell.so not installed for evolution's "make install"



On Sat, 2007-08-18 at 02:49 -0400, Jawaad Ahmad wrote:
> This let me get past the problem, but I wonder if there's a problem with
> the Makefile (generated from Makefile.am, if I understand correctly). Is
> there some way to confirm that this is the problem? If so, how am I
> supposed to report it to the correct group?

It looks like Automake is getting the installation order wrong, and if
my understanding of Automake is correct, there is no guaranteed way to
dictate the installation order for a case like this where you have
multiple inter-dependent libraries in the same build directory.

I think the cleanest solution is to split the test component into a
separate directory (shell/test perhaps).  I tried this locally and it
seems to work fine.  I've attached a patch to demonstrate.

To test this for yourself, apply the attached patch and then move the
following files into the "shell/test" directory:

   shell/evolution-test-component.c
   shell/evolution-test-component.h
   shell/GNOME_Evolution_Test.server.in.in

Matthew Barnes
Index: shell/test/Makefile.am
===================================================================
--- shell/test/Makefile.am	(revision 0)
+++ shell/test/Makefile.am	(revision 0)
@@ -0,0 +1,35 @@
+component_LTLIBRARIES = libevolution-test.la
+
+INCLUDES =					\
+	-I$(top_srcdir)/shell			\
+	-I$(top_srcdir)/widgets/misc		\
+	-I$(top_builddir)/shell			\
+	-DG_LOG_DOMAIN=\"evolution-test\"	\
+	$(EVOLUTION_TEST_CFLAGS)
+
+libevolution_test_la_SOURCES =			\
+	evolution-test-component.c		\
+	evolution-test-component.h
+
+libevolution_test_la_LIBADD =			\
+	$(top_builddir)/shell/libeshell.la	\
+	$(EVOLUTION_TEST_LIBS)
+
+libevolution_test_la_LDFLAGS =			\
+	-avoid-version -module $(NO_UNDEFINED)
+
+testserver_in_files = GNOME_Evolution_Test.server.in.in
+testserver_DATA = $(testserver_in_files:.server.in.in=.server)
+testserverdir = $(serverdir)
+ EVO_SERVER_RULE@
+ INTLTOOL_SERVER_RULE@
+
+BUILT_SOURCES = $(testserver_DATA)
+CLEANFILES = $(BUILT_SOURCES)
+
+EXTRA_DIST =					\
+	$(testserver_in_files)			\
+	GNOME_Evolution_Test.server.in.in
+
+dist-hook:
+	cd $(distdir); rm -f $(BUILD_SOURCES)
Index: shell/Makefile.am
===================================================================
--- shell/Makefile.am	(revision 34032)
+++ shell/Makefile.am	(working copy)
@@ -1,3 +1,7 @@
+if ENABLE_TEST_COMPONENT
+SUBDIRS = . test
+endif
+
 INCLUDES =							\
 	-I$(top_srcdir)/widgets					\
 	-I$(top_srcdir)/widgets/misc				\
@@ -17,8 +21,7 @@ INCLUDES =							\
 	-DLIBDIR=\""$(datadir)"\"				\
 	-DG_LOG_DOMAIN=\"evolution-shell\"			\
 	$(TZDIALOG_CFLAGS)					\
-	$(SHELL_CFLAGS)						\
-	$(EVOLUTION_TEST_CFLAGS)
+	$(SHELL_CFLAGS)
 
 noinst_PROGRAMS = evolution
 
@@ -157,29 +160,6 @@ evolution_LDADD =							\
 	$(TZDIALOG_LIBS)						\
 	$(SHELL_LIBS)
 
-# Test component
-
-if ENABLE_TEST_COMPONENT
-component_LTLIBRARIES = libevolution-test.la
-endif
-
-libevolution_test_la_SOURCES =		\
-	$(IDL_GENERATED)		\
-	evolution-test-component.c	\
-	evolution-test-component.h
-
-libevolution_test_la_LIBADD = 		\
-	libeshell.la			\
-	$(EVOLUTION_TEST_LIBS)
-
-libevolution_test_la_LDFLAGS = -avoid-version -module $(NO_UNDEFINED)
-
-if ENABLE_TEST_COMPONENT
-testserver_in_files = GNOME_Evolution_Test.server.in.in
-testserver_DATA = $(testserver_in_files:.server.in.in=.server)
-testserverdir = $(serverdir)
-endif
-
 # Misc stuff
 
 server_in_files = GNOME_Evolution_Shell.server.in.in
@@ -223,7 +203,7 @@ install-data-local:
 	fi
 endif
 
-install-evolution:
+install-evolution: $(install-privsolibLTLIBRARIES)
 	$(mkinstalldirs) $(DESTDIR)$(bindir)
 	$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) evolution$(EXEEXT) $(DESTDIR)$(bindir)/evolution$(EXEEXT)
 
@@ -256,7 +236,6 @@ MARSHAL_GENERATED = e-shell-marshal.c e-
 EXTRA_DIST = 					\
 	$(IDLS)					\
 	$(server_in_files)			\
-	GNOME_Evolution_Test.server.in.in	\
 	shell.error.xml				\
 	$(glade_DATA)				\
 	$(schema_in_files)			\
@@ -278,7 +257,7 @@ evolution.pure: evolution
 
 endif
 
-BUILT_SOURCES = $(IDL_GENERATED) $(MARSHAL_GENERATED) $(server_DATA) $(testserver_DATA) $(DATASERVER_IDL_GENERATED) $(error_DATA)
+BUILT_SOURCES = $(IDL_GENERATED) $(MARSHAL_GENERATED) $(server_DATA) $(DATASERVER_IDL_GENERATED) $(error_DATA)
 CLEANFILES = $(BUILT_SOURCES)
 
 DISTCLEANFILES = $(schema_DATA)
Index: configure.in
===================================================================
--- configure.in	(revision 34032)
+++ configure.in	(working copy)
@@ -1896,6 +1896,7 @@ help/quickref/sv/Makefile
 help/quickref/sq/Makefile
 shell/Makefile
 shell/evolution-nognome
+shell/test/Makefile
 ui/Makefile
 views/Makefile
 views/addressbook/Makefile
Index: Makefile.am
===================================================================
--- Makefile.am	(revision 34032)
+++ Makefile.am	(working copy)
@@ -62,7 +62,9 @@ DISTCLEANFILES = 		\
 
 # Scrollkeeper must be disabled for distcheck to work because
 # distcheck uses a custom prefix.  See GNOME bug #354357.
-DISTCHECK_CONFIGURE_FLAGS = --disable-scrollkeeper
+DISTCHECK_CONFIGURE_FLAGS =		\
+	--disable-scrollkeeper		\
+	--enable-test-component
 
 # CDE Stuff
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]