Goldendict: GoldenDict fails to compile since end of 2017 Jun or July

Created on 6 Aug 2017  Â·  5Comments  Â·  Source: goldendict/goldendict

Now GoldenDict fails to compile for a lot Linux distributions.
It stopped to compile between end of 2017 Jun and end of 2017 July.
See https://build.opensuse.org/package/show/office:goldendict/goldendict-master
Only „bleeding edge“ openSUSE Tumbleweed ( aka openSUSE Factory) do success.
Seems problem related with hunspell (success with 1.6, fails with 1.4 and older version):

[ 69s] hunspell.cc: In member function 'void HunspellMorpho::{anonymous}::HunspellArticleRequest::run()':
[ 69s] hunspell.cc:273:38: error: no matching function for call to 'Hunspell::spell(std::string&)'
[ 69s] if ( hunspell.spell( encodedWord ) )
[ 69s] ^
[ 69s] hunspell.cc:273:38: note: candidate is:
[ 69s] In file included from hunspell.cc:22:0:
[ 69s] /usr/include/hunspell/hunspell.hxx:56:7: note: int Hunspell::spell(const char, int, char)
[ 69s] int spell(const char * word, int * info = NULL, char * root = NULL);
[ 69s] ^
[ 69s] /usr/include/hunspell/hunspell.hxx:56:7: note: no known conversion for argument 1 from 'std::string {aka std::basic_string}' to 'const char
'
[ 69s] hunspell.cc:285:49: error: no matching function for call to 'Hunspell::suggest(std::string&)'
[ 69s] suggestions = hunspell.suggest( encodedWord );
[ 69s] ^
[ 69s] hunspell.cc:285:49: note: candidate is:
[ 69s] In file included from hunspell.cc:22:0:
[ 69s] /usr/include/hunspell/hunspell.hxx:66:7: note: int Hunspell::suggest(char
, const char)
[ 69s] int suggest(char* slst, const char * word);
[ 69s] ^
[ 69s] /usr/include/hunspell/hunspell.hxx:66:7: note: candidate expects 2 arguments, 1 provided
[ 69s] hunspell.cc: In function 'QVector > HunspellMorpho::{anonymous}::suggest(std::wstring&, Mutex&, Hunspell&)':
[ 69s] hunspell.cc:507:49: error: no matching function for call to 'Hunspell::analyze(std::string&)'
[ 69s] suggestions = hunspell.analyze( encodedWord );
[ 69s] ^
[ 69s] hunspell.cc:507:49: note: candidate is:
[ 69s] In file included from hunspell.cc:22:0:
[ 69s] /usr/include/hunspell/hunspell.hxx:78:7: note: int Hunspell::analyze(char
, const char)
[ 69s] int analyze(char* slst, const char * word);
[ 69s] ^
[ 69s] /usr/include/hunspell/hunspell.hxx:78:7: note: candidate expects 2 arguments, 1 provided
[ 69s] hunspell.cc: In member function 'void HunspellMorpho::{anonymous}::HunspellPrefixMatchRequest::run()':
[ 69s] hunspell.cc:662:38: error: no matching function for call to 'Hunspell::spell(std::string&)'
[ 69s] if ( hunspell.spell( encodedWord ) )
[ 69s] ^
[ 69s] hunspell.cc:662:38: note: candidate is:
[ 69s] In file included from hunspell.cc:22:0:
[ 69s] /usr/include/hunspell/hunspell.hxx:56:7: note: int Hunspell::spell(const char, int, char
)
[ 69s] int spell(const char * word, int * info = NULL, char * root = NULL);
[ 69s] ^
[ 69s] /usr/include/hunspell/hunspell.hxx:56:7: note: no known conversion for argument 1 from 'std::string {aka std::basic_string}' to 'const char
'
[ 70s] Makefile:2780: recipe for target 'build/hunspell.o' failed
[ 70s] make: * [build/hunspell.o] Error 1

Most helpful comment

You should pass "CONFIG+=old_hunspell" as parameter for qmake, i.e. qmake "CONFIG+=old_hunspell" instead of CONFIG+=old_hunspell qmake.

All 5 comments

Do you pass "CONFIG+=old_hunspell" to qmake while build with hunspell 1.4 as mentioned in readme.md?

6 months passed. I wonder why this issue is not closed.

I am getting this issue on Debian stretch:

CONFIG+=old_hunspell qmake-qt4 && make
/usr/include/hunspell/hunspell.hxx:170:7: note:   candidate expects 2 arguments, 1 provided
hunspell.cc: In member function ‘void HunspellMorpho::{anonymous}::HunspellPrefixMatchRequest::run()’:
hunspell.cc:668:38: error: no matching function for call to ‘Hunspell::spell(std::__cxx11::string&)’
     if ( hunspell.spell( encodedWord ) )
                                      ^
In file included from hunspell.cc:22:0:
/usr/include/hunspell/hunspell.hxx:138:7: note: candidate: int Hunspell::spell(const char*, int*, char**)
   int spell(const char* word, int* info = NULL, char** root = NULL);
       ^~~~~
/usr/include/hunspell/hunspell.hxx:138:7: note:   no known conversion for argument 1 from ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ to ‘const char*’
Makefile:2563: recipe for target 'build/hunspell.o' failed
make: *** [build/hunspell.o] Error 1
CONFIG+=old_hunspell qtchooser -run-tool=qmake -qt=5 && make
/usr/include/hunspell/hunspell.hxx:170:7: note:   candidate expects 2 arguments, 1 provided
hunspell.cc: In member function ‘void HunspellMorpho::{anonymous}::HunspellPrefixMatchRequest::run()’:
hunspell.cc:668:38: error: no matching function for call to ‘Hunspell::spell(std::__cxx11::string&)’
     if ( hunspell.spell( encodedWord ) )
                                      ^
In file included from hunspell.cc:22:0:
/usr/include/hunspell/hunspell.hxx:138:7: note: candidate: int Hunspell::spell(const char*, int*, char**)
   int spell(const char* word, int* info = NULL, char** root = NULL);
       ^~~~~
/usr/include/hunspell/hunspell.hxx:138:7: note:   no known conversion for argument 1 from ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ to ‘const char*’
Makefile:3045: recipe for target 'build/hunspell.o' failed

You should pass "CONFIG+=old_hunspell" as parameter for qmake, i.e. qmake "CONFIG+=old_hunspell" instead of CONFIG+=old_hunspell qmake.

thanks!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

eugenesvk picture eugenesvk  Â·  5Comments

embar- picture embar-  Â·  11Comments

jerryzhujian9 picture jerryzhujian9  Â·  7Comments

Spirituaway picture Spirituaway  Â·  4Comments

bcdavasconcelos picture bcdavasconcelos  Â·  5Comments