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)