Hi,
depending on the options you pass to make, 0.9.4.1 won't compile. All of 
this is on Red Hat Linux 7.2, trying to build the plain gtk version.

It won't compile at all with standards-enforcing compilers (void * vs. 
const void * issue, fixed by attachment #1).

It doesn't compile with ABI_OPT_LIBXML2 because it looks for the include 
files in the wrong place (namely in libxml1's place). Fixed by attachment 
#2.

Doesn't compile with ABI_OPT_STL because UT_Pair tries to inherit from 
XAP_AbiObject, which doesn't exist. Fixed by attachment #3.

Doesn't compile with ABI_OPT_PLUGINS for a couple of reasons:
- ie_exp_AWT.cpp uses UT_ASSERT() without including ut_assert.h
- ie_exp_GZipAbiWord.cpp and ie_exp_KWord_1.cpp use ABI_PLUGIN_DECLARE 
  before including xap_Module.h
- missing semicolon in ie_imp_KWord_1.cpp
- ie_imp_WordPerfect.cpp uses an invalid preprocessor directive
  ("#ABI_PLUGIN_DECLARE")
- ie_imp_WordPerfect.cpp doesn't declare m_sniffer, but uses it
All those are fixed by attachment #4.

Lastly, the Makefiles are broken.
/usr/src/redhat/BUILD/abiword-0.9.4.1/abi/src/Linux_2.4.12-0.3_i386_GTK_XML/obj/libAbiImpExp.a(ie_exp_Applix.o):
 
In function `abi_plugin_register':
ie_exp_Applix.o(.text+0x0): multiple definition of `abi_plugin_register'
/usr/src/redhat/BUILD/abiword-0.9.4.1/abi/src/Linux_2.4.12-0.3_i386_GTK_XML/obj/libAbiImpExp.a(ie_exp_AWT.o)(.text+0x0):
 
first defined here
/usr/src/redhat/BUILD/abiword-0.9.4.1/abi/src/Linux_2.4.12-0.3_i386_GTK_XML/obj/libAbiImpExp.a(ie_exp_Applix.o):
 
In function `abi_plugin_unregister':
ie_exp_Applix.o(.text+0xa0): multiple definition of 
`abi_plugin_unregister'
[... Loads of the same for every plugin ...]
I don't presume the lib should be built at all if they're plugins?

I haven't done anything to fix this (I don't know anything about the way 
abiword's build system works).


This is using the tarballs from 
http://prdownloads.sourceforge.net/abiword/ (the download link on 
abisource.com still lists 0.7.4 as current) - is this a random CVS 
snapshot someone is pushing out as a release, or did nobody try those 
options?

LLaP
bero
--- abiword-0.9.4.1/abi/src/af/util/xp/ut_vector.cpp.gcc        Thu Jul 26 18:00:00 
2001
+++ abiword-0.9.4.1/abi/src/af/util/xp/ut_vector.cpp    Tue Oct 23 16:07:06 2001
@@ -315,12 +315,12 @@
        return 0;
 }
 
-void* UT_Vector::getLastItem() const
+const void* UT_Vector::getLastItem() const
 {
        return m_STLVec.back();
 }
 
-void* UT_Vector::getFirstItem() const
+const void* UT_Vector::getFirstItem() const
 {
        return m_STLVec.front();
 }
--- abiword-0.9.4.1/abi/src/af/util/xp/ut_stack.cpp.gcc Tue Oct 23 16:19:21 2001
+++ abiword-0.9.4.1/abi/src/af/util/xp/ut_stack.cpp     Tue Oct 23 16:19:40 2001
@@ -34,7 +34,7 @@
        UT_uint32 indexEnd = m_vecStack.getItemCount();
        if (!indexEnd)
                return false;
-       *ppVoid = m_vecStack.getLastItem();
+       *ppVoid = (void*)m_vecStack.getLastItem();
        m_vecStack.deleteNthItem(indexEnd-1);
        return true;
 }
@@ -45,7 +45,7 @@
        UT_uint32 indexEnd = m_vecStack.getItemCount();
        if (!indexEnd)
                return false;
-       *ppVoid = m_vecStack.getLastItem();
+       *ppVoid = (void*)m_vecStack.getLastItem();
        return true;
 }
 
--- abiword-0.9.4.1/abi/src/config/platforms/linux.mk.libxml2   Tue Oct 23 16:05:29 
2001
+++ abiword-0.9.4.1/abi/src/config/platforms/linux.mk   Tue Oct 23 15:57:01 2001
@@ -180,7 +180,7 @@
 GLIB_CONFIG            = glib-config
 GTK_CONFIG             = gtk-config
 GNOME_CONFIG           = gnome-config
-LIBXML_CONFIG          = xml-config
+LIBXML_CONFIG          = xml2-config
 
 # Shared library flags
 MKSHLIB                        = $(LD) $(DSO_LDOPTS) -soname $(@:$(OBJDIR)/%.so=%.so)
--- abiword-0.9.4.1/abi/src/af/util/xp/ut_pair.h.stl    Tue Oct 23 16:52:44 2001
+++ abiword-0.9.4.1/abi/src/af/util/xp/ut_pair.h        Tue Oct 23 16:44:54 2001
@@ -26,7 +26,7 @@
 
 #ifndef ABI_OPT_STL
 
-class UT_Pair : public XAP_AbiObject
+class UT_Pair
 {
 public:
        UT_Pair(const pair_type first, const pair_type second);
--- abiword-0.9.4.1/abi/src/wp/impexp/xp/ie_exp_GZipAbiWord.cpp.bug     Tue Oct 23 
17:05:11 2001
+++ abiword-0.9.4.1/abi/src/wp/impexp/xp/ie_exp_GZipAbiWord.cpp Tue Oct 23 17:05:51 
+2001
@@ -41,9 +41,8 @@
 
 // completely generic code to allow this to be a plugin
 
-ABI_PLUGIN_DECLARE("GZAbw")
-
 #include "xap_Module.h"
+ABI_PLUGIN_DECLARE("GZAbw")
 
 // we use a reference-counted sniffer
 static IE_Exp_GZipAbiWord_Sniffer * m_sniffer = 0;
--- abiword-0.9.4.1/abi/src/wp/impexp/xp/ie_exp_KWord_1.cpp.bug Tue Oct 23 17:07:12 
2001
+++ abiword-0.9.4.1/abi/src/wp/impexp/xp/ie_exp_KWord_1.cpp     Tue Oct 23 17:07:25 
+2001
@@ -115,9 +115,8 @@
 
 // completely generic code to allow this to be a plugin
 
-ABI_PLUGIN_DECLARE("KWord")
-
 #include "xap_Module.h"
+ABI_PLUGIN_DECLARE("KWord")
 
 // we use a reference-counted sniffer
 static IE_Exp_KWord_1_Sniffer * m_sniffer = 0;
--- abiword-0.9.4.1/abi/src/wp/impexp/xp/ie_imp_KWord_1.cpp.bug Tue Oct 23 17:08:14 
2001
+++ abiword-0.9.4.1/abi/src/wp/impexp/xp/ie_imp_KWord_1.cpp     Tue Oct 23 17:08:28 
+2001
@@ -70,7 +70,7 @@
   mi->name = "KWord 1.x Importer";
   mi->desc = "Import KWord 1.x Documents";
   mi->version = ABI_VERSION_STRING;
-  mi->author = "Abi the Ant"
+  mi->author = "Abi the Ant";
   mi->usage = "No Usage";
 
   IE_Imp::registerImporter(m_sniffer);
--- abiword-0.9.4.1/abi/src/wp/impexp/xp/ie_imp_WordPerfect.cpp.bug     Tue Oct 23 
17:11:11 2001
+++ abiword-0.9.4.1/abi/src/wp/impexp/xp/ie_imp_WordPerfect.cpp Tue Oct 23 17:13:53 
+2001
@@ -91,7 +91,9 @@
 
 #include "xap_Module.h"
 
-#ABI_PLUGIN_DECLARE("WordPerfect")
+ABI_PLUGIN_DECLARE("WordPerfect")
+
+static IE_Imp_WordPerfect_Sniffer * m_sniffer = 0;
 
 ABI_FAR_CALL
 int abi_plugin_register (XAP_ModuleInfo * mi)

Reply via email to