Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 139228 - Spell checking dictionaries are not found with openoffice-bin on AMD64
Summary: Spell checking dictionaries are not found with openoffice-bin on AMD64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Office Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-07-04 12:46 UTC by Jure Repinc
Modified: 2011-01-26 21:52 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jure Repinc 2006-07-04 12:46:25 UTC
I just upgraded OpenOffice.org on my laptop and my desktop. On the laptop where I compiled OOo and then installed myspell-* dictionaries they are all detected just fine. But on the desktop where I used the binary OOo they are not detected. Could this maybe be related to the path where dictionaries are installed. On AMD64 binary OOo is installed in /usr/lib32 but the dictionaries are installed in /usr/lib. So my guess would be that 32-bit binary OOo is looking for dictionaries insi /usr/lib32 where they are not installed.
Comment 1 Andreas Proschofsky (RETIRED) gentoo-dev 2006-07-04 15:33:24 UTC
Reassigning.
Comment 2 Kevin F. Quinn (RETIRED) gentoo-dev 2006-07-04 16:13:05 UTC
(In reply to comment #0)
> Could this maybe be related to the path where dictionaries are
> installed. On AMD64 binary OOo is installed in /usr/lib32 but the dictionaries
> are installed in /usr/lib. So my guess would be that 32-bit binary OOo is
> looking for dictionaries insi /usr/lib32 where they are not installed.

Yes; your analysis is correct - the eselect-oodict module assumes OpenOffice dictionary data is in /usr/lib/openoffice/share/dict/ooo

Suka - easiest way I can think of at the moment is to add an option to specify the libdir:

  eselect oodict [--libdir <libdir>] <action>

where <libdir> is lib, lib32, lib64 etc as returned by multilib::get_libdir(), so in the ebuilds you would do:

  eselect oodict --libdir $(get_libdir) update

It's not sensible to use the multilib.eclass in eselect oodict itself, and I'd rather not duplicate that code.

What do you think?
Comment 3 Andreas Proschofsky (RETIRED) gentoo-dev 2006-07-05 00:29:52 UTC
(In reply to comment #2)
> 
> What do you think?

Sounds perfectly fine to me :)
Comment 4 Kevin F. Quinn (RETIRED) gentoo-dev 2006-07-06 09:08:57 UTC
ok; I've added app-admin/eselect-oodict-20060706 to the tree, package.masked.  Suka, could you try it and see if it does what you need?

My intention is that openoffice-bin would DEPEND on >=app-admin/eselect-oodict-20060706 an in postinst you do:

eselect oodict update --libdir $(get_libdir)

(note; the options go after the action on eselect modules, not like I previously thought).

Comment 5 Andreas Proschofsky (RETIRED) gentoo-dev 2006-07-06 23:40:24 UTC
(In reply to comment #4)
> ok; I've added app-admin/eselect-oodict-20060706 to the tree, package.masked. 
> Suka, could you try it and see if it does what you need?
> 
> My intention is that openoffice-bin would DEPEND on
> >=app-admin/eselect-oodict-20060706 an in postinst you do:
> 
> eselect oodict update --libdir $(get_libdir)
> 
> (note; the options go after the action on eselect modules, not like I
> previously thought).
> 

I've got not AMD64 here, so someone of the orginal reporters will have to test this, so anyone up for this?
Comment 6 Kevin F. Quinn (RETIRED) gentoo-dev 2006-07-07 11:18:42 UTC
(Rudolphe - added you to CC here from bug #139422 because I think you'll be interested)

For those wishing to test this for us on amd64 with the openoffice-bin already installed, try the following:

# echo "=app-admin/eselect-oodict-20060706" >> /etc/portage/package.unmask
# emerge --oneshot =app-admin/eselect-oodict-20060706
# eselect oodict update --libdir lib32

This should populate /usr/lib32/openoffice/share/dict/ooo/ with the dictionaries found in /usr/share/myspell (it's the command that the openoffice ebuild will run).  To check they're configured, do:

# eselect oodict show --libdir lib32

and you should see it list dictionaries. Also check that openoffice-bin sees the dictionaries ok.

Many thanks :)
Comment 7 Rodolphe Rocca 2006-07-07 14:02:17 UTC
(In reply to comment #6)
> Many thanks :)
> 

Well many thanks to you Kevin because it works perfectly well here :-)
Comment 8 Jure Repinc 2006-07-08 06:34:11 UTC
Also works fine here. Thanks.
Comment 9 Kevin F. Quinn (RETIRED) gentoo-dev 2006-07-08 08:25:48 UTC
Ok; thanks for testing it out people.  I've unmasked it now.
I've updated myspell.eclass to install to whatever openoffice is installed.

Suka - over to you to update the openoffice-bin ebuild; just need to change the eselect call to:

  eselect oodict update --libdir $(get_libdir)

and set the dependency to ">=app-admin/eselect-oodict-20060706".
The openoffice ebuild doesn't need to change, it always builds to /usr/lib.
Comment 10 Andreas Proschofsky (RETIRED) gentoo-dev 2006-07-08 09:55:17 UTC
(In reply to comment #9)
> 
> Suka - over to you to update the openoffice-bin ebuild; 

Done that, though I'm not sure that's the best way to do it. Wouldn't it make more sense to add the --libdir-stuff automatically in the eselect-module? Cause this way people could just continue to use 'eselect oodict update' (if they want to do it manually) without caring about the whole libdir stuff. Also it shouldn't be harmful to any other archs, if I don't miss anything.

Anyway closing this, as the original bug is resolved
Comment 11 Kevin F. Quinn (RETIRED) gentoo-dev 2006-07-08 10:22:08 UTC
(In reply to comment #10)
> Wouldn't it make more sense to add the --libdir-stuff automatically in the eselect-module?

The eselect module doesn't know where openoffice was installed, which is why the ebuild has to tell it.  One way to do it automatically would be a case switch on ${P} but that would only work when invoked from the ebuild, not from the command line, so that's a no-go.  Another way would be for the eselect module to search around in the target filesystem to see what openoffice installations it could find, but it's simpler for the ebuild to tell the module where it's putting stuff.