Bug 117329 - kspell_hspelldict.cpp:43: error: `hspell_uninit' undeclared (first use this function)
Summary: kspell_hspelldict.cpp:43: error: `hspell_uninit' undeclared (first use this f...
Status: RESOLVED FIXED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: kspell (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Zack Rusin
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-30 07:32 UTC by Pavel Bibergal
Modified: 2005-12-06 17:07 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pavel Bibergal 2005-11-30 07:32:32 UTC
Version:            (using KDE KDE 3.5.0)
Installed from:    Gentoo Packages
Compiler:          gcc 3.4.4 
OS:                Linux

while compiling libkde 3.5.0 in gentoo get an error
i do have hspell installed (latest version)

In file included from kspell_hspell_la.all_cpp.cpp:3:
kspell_hspelldict.cpp: In destructor `virtual HSpellDict::~HSpellDict()':
kspell_hspelldict.cpp:43: error: `hspell_uninit' undeclared (first use this function)
kspell_hspelldict.cpp:43: error: (Each undeclared identifier is reported only once for each function it appears in.)
kspell_hspelldict.cpp: At global scope:
kspell_hspelldict.cpp:103: warning: unused parameter 'word'
kspell_hspelldict.cpp:96: warning: unused parameter 'word'
kspell_hspelldict.cpp:89: warning: unused parameter 'bad'
kspell_hspelldict.cpp:89: warning: unused parameter 'good'
make[4]: *** [kspell_hspell_la.all_cpp.lo] Error 1
make[4]: Leaving directory `/var/tmp/portage/kdelibs-3.5.0/work/kdelibs-3.5.0/kspell2/plugins/hspell'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/kdelibs-3.5.0/work/kdelibs-3.5.0/kspell2/plugins'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/kdelibs-3.5.0/work/kdelibs-3.5.0/kspell2'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/kdelibs-3.5.0/work/kdelibs-3.5.0'
make: *** [all] Error 2
Comment 1 aviad 2005-12-04 02:04:00 UTC
same issue here. 
Comment 2 Jeff Manson 2005-12-06 12:48:22 UTC
I had a similar problem - I fixed it by modifying the following line in kspell_hspellclient.h :

#include "hspell.h"

to

/* libhspell is a C library and it does not have #ifdef __cplusplus */
extern "C" {
#include "hspell.h"
}

This is what they had in kspell_hspelldict.h but they forgot to do it for kspell_hspellclient.h which gets called via the #include "kspell_hspellclient.cpp" line in kspell_hspell_la.all_cpp.cpp.

Just go to the konstruct/kde/kdelibs/work/kdelibs-3.5.0/kspell2/plugins/hspell directory and  modify this file. Then type make to recompile it.
Comment 3 Thiago Macieira 2005-12-06 17:03:14 UTC
SVN commit 486040 by thiago:

Applying patch by Jeff Manson against hspell includes
CCBUG:117329


 M  +3 -0      kspell_hspellclient.h  


--- branches/KDE/3.5/kdelibs/kspell2/plugins/hspell/kspell_hspellclient.h #486039:486040
@@ -25,7 +25,10 @@
 #include "client.h"
 #include <qobject.h>
 
+/* libhspell is a C library and it does not have #ifdef __cplusplus */
+extern "C" {
 #include "hspell.h"
+}
 
 namespace KSpell2 {
     class Dictionary;
Comment 4 Thiago Macieira 2005-12-06 17:07:18 UTC
SVN commit 486041 by thiago:

Fixing the bug in kspell's hspell plugin. Thanks to Jeff Manson for the patch.

BUG:117329,117722,117360


 M  +3 -0      kspell_hspellclient.h  


--- trunk/KDE/kdelibs/kspell2/plugins/hspell/kspell_hspellclient.h #486040:486041
@@ -25,7 +25,10 @@
 #include "client.h"
 #include <qobject.h>
 
+/* libhspell is a C library and it does not have #ifdef __cplusplus */
+extern "C" {
 #include "hspell.h"
+}
 
 namespace KSpell2 {
     class Dictionary;