[Pkg-crosswire-devel] ICU and stability issues
DM Smith
dmsmith555 at yahoo.com
Tue Jan 27 00:44:34 GMT 2009
On Jan 26, 2009, at 7:37 PM, Matthew Talbert wrote:
> On Mon, Jan 26, 2009 at 7:24 PM, DM Smith <dmsmith555 at yahoo.com>
> wrote:
>>
>> On Jan 26, 2009, at 5:58 PM, Matthew Talbert wrote:
>>
>>>> Matthew Talbert wrote:
>>>>
>>>>> However, GnomeSword and BibleTime both provide their own string
>>>>> casing
>>>>> function for this purpose, both using standard unicode
>>>>> definitions to
>>>>> provide casing. So, as I've said, even if SWORD is built with
>>>>> ICU, it
>>>>> will provide no benefit to the end user, and may lead to stability
>>>>> issues.
>>>>
>>>> I think it would be a real help in making this choice
>>>> appropriately if we
>>>> could get someone (you?) to create a replicable test case, where
>>>> a libsword
>>>> 1.5.11-based setup compiled with ICU reliably causes stability
>>>> issues, but
>>>> one without ICU does not. Ideally the app used in the test would
>>>> be a
>>>> non-interactive command line tool, so we're not dependent on big
>>>> GUI apps
>>>> and users clicking on a bunch of things in order to test.
>>>>
>>>> Likewise, I'd be happy to see someone (else) create a test case
>>>> where a
>>>> search fails when using the 1.5.11 library with ICU disabled, but
>>>> works with
>>>> it enabled. Maybe this is as simple as
>>>>
>>>> sudo installmgr -ri X Y
>>>> diatheke <some options here>
>>>>
>>>> (But right now, I don't have a known set of X, Y and <some
>>>> options here>
>>>> that I know will act as such a test case!).
>>>>
>>>> Once we have repeatable test cases, we can then either fix the
>>>> stability
>>>> issue with a patch at build time, or we can make an informed
>>>> decision decide
>>>> to build without ICU. If there is an existing (replicable) bug
>>>> report that
>>>> has good info on this, do please point me at it.
>>>>
>>>> If libsword packagers are going to get squeezed between frontend
>>>> developers who say ICU causes stability issues and should be
>>>> disabled, and
>>>> others in the sword-devel community who say it is really does
>>>> cause loss of
>>>> functionality to disable it, so it should be enabled... then I'd
>>>> like to see
>>>> some clear test evidence, from both sets of people, to help us
>>>> packagers
>>>> make a sane choice! Is that realistic?
>>>>
>>>
>>> I have asked for those saying GnomeSword will not search correctly
>>> without ICU to submit just such a test case, but have not seen any.
>>>
>>> There is a thread here,
>>> http://www.crosswire.org/pipermail/sword-devel/2009-January/030641.html
>>> ,
>>> that while not an official bug report, does indicate the problems,
>>> and
>>> upstream's action of immediately disabling many of the filters
>>> constitutes to me an admission that they do cause problems.
>>
>> Matthew,
>> I saw the checkin disabling many of the transliteration filters. I
>> think it
>> was stated here that none of the Linux front-ends expose the
>> transliteration
>> filters. None of the modules mention them. So I can't see how they
>> would
>> cause a problem. I didn't see any other changes to the SWORD engine
>> regarding ICU or any other admission to ICU causing a problem.
>
> You may well be right. I am still learning about this. I was under the
> impression that the transliteration filters were used somehow even
> without the front-ends exposing them.
>
>> The only filters that use ICU are utf8arshaping, utf8bidireorder, and
>> uft8nfc, utf8nfkd. The first two are used to display right-to-left
>> texts.
>> The other two are used by module builders, but I couldn't find
>> anywhere else
>> that they were used by the engine.
>>
>> I found that diatheke uses ICU extensively.
>>
>> Maybe I don't understand SWORD well enough, but I can't see where
>> including
>> ICU and not using transliterators causes a problem.
>>
>> I'd suggest, that sword-tools are compiled with ICU and, perhaps,
>> that
>> libsword7 is not.
>
> I think this is a good idea. However, wouldn't this require that the
> tools be statically linked? Or do they not depend on libsword at all?
They could be statically linked. That's what I do. But I always
compile them for my own use.
Otherwise, I'd like to see proof that ICU is actually unstable.
>
>
>> While uconv (not iconv) can eliminate the need for ICU in osis2mod
>> and
>> tei2mod, I added it precisely because people were creating modules
>> that were
>> not NFC. I think it is a necessary convenience.
>>
>> In Him,
>> DM
>>
>>
More information about the Pkg-crosswire-devel
mailing list