[libvoikko] Changes to libreoffice-voikko for reliable (un)installation

Sjur Moshagen sjurnm at mac.com
Tue Sep 2 12:46:23 EEST 2014


Sorry for all the e-mails I am producing, but I don’t understand most of the things going on, and I hope that at some point someone will be able to pinpoint the real issue:)

The debugging continues...

1. sep. 2014 kl. 14:32 skrev Sjur Moshagen <sjurnm at mac.com>:

> 1. sep. 2014 kl. 13:36 skrev Sjur Moshagen <sjurnm at mac.com>:
> 
>> 1. sep. 2014 kl. 13:31 skrev Sjur Moshagen <sjurnm at mac.com>:
>> 
>>> ** __that is:__ one has to start LO __once__ from the command line to get 64-bit LO-voikko operiational, after that it works the regular way

Update: I am not able to reproduce this behavior anymore, maybe because I am not using a debug build now. Instead:

> Now, the universal binary behaves similar to the 64-bit version alone, but with a twist:
> 
> [...] if you have LO 4.0 or 4.1 (both only available as 32-bit apps) installed, you can start them, install the OXT, see that it works (there are no known issues with the 32-bit builds), then quit that old LO, __and start your 64-bit LO 4.2+__. Now LO-voikko should work and behave exactly as expected.

I built a universal binary OXT (using LO-voikko 4.1/latest code from master) with a Finnish hfst-based spell checker, and then did the following:

* removed the LO personal settings dir (~/Library/Application Support/LibreOffice/4/ on the Mac)
* started 64-bit LO 4.3
* installed the Finnish OXT
* checked that it did not work, and the pref pane is empty
* quit LO
* made a copy of the LO personal settings dir tree
* started 32-bit LO 4.1
* checked that Finnish spell checking is now working
* quit LO
* compared the directory trees for any significant differences between the two runs

This is what I found:

The file ~/Library/Application Support/LibreOffice/4/user/registrymodifications.xcu was changed in what looks like significant ways between the two runs.

1) After 64-bit LO run (but before 32-bit):

Only one line with the language/locale code fi-FI:

<item oor:path="/org.openoffice.Office.Linguistic/ServiceManager/GrammarCheckerList"><prop oor:name="fi-FI" oor:op="fuse" oor:type="oor:string-list"><value></value></prop></item>

NO instances of the string: voikko.SpellChecker

2) After 32-bit run:

Three lines with the language/locale code fi-FI:

<item oor:path="/org.openoffice.Office.Linguistic/ServiceManager/GrammarCheckerList"><prop oor:name="fi-FI" oor:op="fuse" oor:type="oor:string-list"><value></value></prop></item>
<item oor:path="/org.openoffice.Office.Linguistic/ServiceManager/LastFoundSpellCheckers"><prop oor:name="fi-FI" oor:op="fuse" oor:type="oor:string-list"><value><it>voikko.SpellChecker</it></value></prop></item>
<item oor:path="/org.openoffice.Office.Linguistic/ServiceManager/SpellCheckerList"><prop oor:name="fi-FI" oor:op="fuse" oor:type="oor:string-list"><value><it>voikko.SpellChecker</it></value></prop></item>

Several instances of the string voikko.SpellChecker:

<item oor:path="/org.openoffice.Office.Linguistic/ServiceManager/LastFoundSpellCheckers"><prop oor:name="fi-FI" oor:op="fuse" oor:type="oor:string-list"><value><it>voikko.SpellChecker</it></value></prop></item>
<item oor:path="/org.openoffice.Office.Linguistic/ServiceManager/LastFoundSpellCheckers"><prop oor:name="kk-KZ" oor:op="fuse" oor:type="oor:string-list"><value><it>voikko.SpellChecker</it></value></prop></item>
<item oor:path="/org.openoffice.Office.Linguistic/ServiceManager/LastFoundSpellCheckers"><prop oor:name="sjd-RU" oor:op="fuse" oor:type="oor:string-list"><value><it>voikko.SpellChecker</it></value></prop></item>
<item oor:path="/org.openoffice.Office.Linguistic/ServiceManager/LastFoundSpellCheckers"><prop oor:name="so-SO" oor:op="fuse" oor:type="oor:string-list"><value><it>voikko.SpellChecker</it></value></prop></item>

<item oor:path="/org.openoffice.Office.Linguistic/ServiceManager/SpellCheckerList"><prop oor:name="fi-FI" oor:op="fuse" oor:type="oor:string-list"><value><it>voikko.SpellChecker</it></value></prop></item>
<item oor:path="/org.openoffice.Office.Linguistic/ServiceManager/SpellCheckerList"><prop oor:name="kk-KZ" oor:op="fuse" oor:type="oor:string-list"><value><it>voikko.SpellChecker</it></value></prop></item>
<item oor:path="/org.openoffice.Office.Linguistic/ServiceManager/SpellCheckerList"><prop oor:name="sjd-RU" oor:op="fuse" oor:type="oor:string-list"><value><it>voikko.SpellChecker</it></value></prop></item>
<item oor:path="/org.openoffice.Office.Linguistic/ServiceManager/SpellCheckerList"><prop oor:name="so-SO" oor:op="fuse" oor:type="oor:string-list"><value><it>voikko.SpellChecker</it></value></prop></item>


It seems that the 64-bit code is not registering properly for one reason or another, but as soon as LO-voikko is registered by the 32-bit version, the 64-bit version works exactly as it should.

Why the 64-bit LO-voikko doesn’t register, I have no idea.

Sjur



More information about the Libvoikko mailing list