3

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?

garyp
  • 967
  • 7
  • 36

2 Answers2

5

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
Community
  • 1
  • 1
lotsoffreetime
  • 1,100
  • 5
  • 11
1

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;

pilgix
  • 323
  • 2
  • 9