Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Aspell won't build on OS X 10.9 (Mavericks)

It fails thus:

./common/errors.hpp:17:36: error: redefinition of 'aerror_other' with a different type: 'const acommon::ErrorInfo *const' vs 'const struct AspellErrorInfo *const'

I've seen this error mentioned several times, but I've not seen any fixes.

I suppose I could install Fink or MacPorts, but my experience with both of those has been mixed (and frustrating), and it seems like overkill for just one program. Is there a way to get aspell to build, or is Fink or MacPorts the only practical option? Which will cause fewer problems, Fink or MacPorts?

like image 213
garyp Avatar asked Dec 29 '25 18:12

garyp


2 Answers

The definition of those externs is not for C++ - surround the entire block with these preprocessor tags in interfaces/cc/aspell.h:

#ifndef __cplusplus
extern const struct AspellErrorInfo * const aerror_other;
...snip...
extern const struct AspellErrorInfo * const aerror_invalid_expression;
#endif
like image 105
lotsoffreetime Avatar answered Jan 05 '26 19:01

lotsoffreetime


The answer by @lotsoffreetime works but needs some clarification.

Basically, you have to edit the interfaces/cc/aspell.h file by adding

#ifndef __cplusplus

before the list of "extern" errors, which starts with:

extern const struct AspellErrorInfo * const aerror_other;

and add

#endif

at the end of the list, after it reads

extern const struct AspellErrorInfo * const aerror_invalid_expression;

like image 28
pilgix Avatar answered Jan 05 '26 19:01

pilgix



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!