Comment 12 for bug 1524526

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Initial Analysis:
- stemmer can be set at the configure step, but it isn't by d/rules (default is auto)
- providing libstemmer-dev converts the auto to a yes (as happened in the ubuntu3 version)
  - that yes then builds the code that is missing regarding this error here
  - but also builds the stemmer dependency into dovecot-core (main)
- textcat is also not given by rules and defaults to auto (yes, due to exttectcat being a build dependency)
- plugin config "no_snowball" is no workaround as it fails already at ld.so

Checking Sources and Build:
- Build logs should be free of Snowball, but aren't
   => even without libstemmer I still see snowball reference
- BUILD_FTS_STEMMER guards inclusion of Snowball.cc in fts-lucene/Makefile.am
- But due to complexities in automake BUILD_FTS_EXTTEXTCAT_TRUE guards Snowball.cc in fts-lucene/Makefile.in eventually

I wondered if this is a Regression at all?:
- <=vivid had dovecot 2.2.9 which didn't have the lucene plugin
- >=wily had lucene in the currently failing form

Options for us:
1. - drop textcat dev from build deps, but that will also remove other functionality e.g. lib-fts/fts-language.c
 => No, we don't want to cut other parts of dovecot
2. - get libstemmer into main to make the runtime dependency a no-issue
 => No, not reasonable for this alone
3. - try to guard the critical code via libstemmer instead of libtextcat (possible but complex for us not owning/used to that code)
 => Maybe (could be done, but likely error prone)
4. - drop lucene plugin
 => This would be my choice, especially since:
  - lucene is deprecated in favor of solr by the dovecot project
  - and it never worked since it's appearance in Ubuntu

Obviously this is up for discussion ...