Hi,

Firstly, congratulations on libextractor becoming an official gnu
project, the extra resources and attention should be be good
for libextractor.

There has been a niggling problem with the ole2 module of libextractor
for a while, it has been worked around within debian (1), but gentoo
still has problems with it (2), and i suspect it may cause problems to
others in the future.

The problems relates to the ole2 module linking to glib and duplicate
symbols, i dont think i understand the precise nature of the problem
(which means you should be sceptical about my patch), but think i may
have a better solution than static linking to glib.

The attached patch removes the gsf-* code in libextractor and simply
links to the shared libgsf-1 library.

Advantages i see
 - The glib linking problem is passed off to libgsf
 - Libgsf may expand in the future to support more formats.
 - less code to maintain/better code reuse

The only test i have done is libextractor's make check, which works
fine.

I dont have an ole2 file to test it with and dont know much about the
format, anyone know where i can get one ?

If this is a resonable solution i will do a better patch that cleans up
configure.ac as well.


Thanks

Glenn


1) http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=282342
2) http://bugs.gentoo.org/show_bug.cgi?id=79704

Only in libextractor-0.4.2: autom4te.cache
diff -ur libextractor-0.4.2.old/src/plugins/ole2/Makefile.am libextractor-0.4.2/src/plugins/ole2/Makefile.am
--- libextractor-0.4.2.old/src/plugins/ole2/Makefile.am	2005-01-25 15:59:15.000000000 +1100
+++ libextractor-0.4.2/src/plugins/ole2/Makefile.am	2005-03-21 13:48:40.000000000 +1100
@@ -24,25 +24,7 @@
   $(top_builddir)/src/main/libextractor.la
 # Ok, linking this one is complicated, see Mantis #787.
 libextractor_ole2_la_LDFLAGS = \
-  -Wl,-Bstatic -Wl,-lgobject-2.0 -Wl,-lglib-2.0 -Wl,-Bdynamic \
-  -Wl,-Bsymbolic -avoid-version -module
+  -lgsf-1 -module
 # Note that we're NOT using PLUGINFLAGS here to avoid -export-dynamic!
 libextractor_ole2_la_SOURCES =  \
-        ole2extractor.c         \
-	gsf.h			\
-	gsf-utils.c		\
-	gsf-utils.h		\
-	gsf-impl-utils.h	\
-	gsf-input.c		\
-	gsf-input.h		\
-	gsf-input-impl.h	\
-	gsf-input-memory.c 	\
-	gsf-input-memory.h 	\
-	gsf-infile.h 		\
-	gsf-infile.c 		\
-	gsf-infile-impl.h 	\
-	gsf-infile-msole.c 	\
-	gsf-infile-msole.h 	\
-	gsf-msole-impl.h	\
-	gsf-shared-memory.c	\
-	gsf-shared-memory.h	
+        ole2extractor.c
_______________________________________________
GNUnet-developers mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnunet-developers

Reply via email to