Ellie, > libchardet is already listed on the compiling page as being used by > the CalDAV, CardDAV, and/or JMAP features. You would decide to > install libchardet based on whether you need these features: if you > don't enable these features, you don't need it; if you do, you > probably do. > > If you don't have libchardet, Cyrus will not do character-set > detection. If some piece of data has no character set coming in, it > will have no character set. I don't know why you would decide to not > use this, and it may simply become a mandatory requirement for these > features in 3.4. It might have been mandatory in 3.2, if this had > been brought to our attention during the nearly 3 month beta window; > but now that it's in a stable release, it will remain as it is.
Thanks for the explanation. What happens is that at least Cal/CardDAV compile and work well without libchardet (at least under normal circumstances) and, as it was not marked as required, I thought it's an optional lib and here is the question of why to use it. I guess what you could do for 3.2 is to include a warning in configure explaining the issue, so the maintainers see it and take appropriate action. I suppose there are not that many installations with 3.2 yet so if the warning is included with 3.2.2 it would be an appropriate time. Regards, Anatoli On 4/6/20 21:58, ellie timoney wrote: > On Thu, Jun 4, 2020, at 12:52 PM, Anatoli wrote: >>> chardet is used by the JMAP module of httpd to detect the character >> set of untagged 8-bit headers. >> >> Does that mean that these libs are required? If not, what would happen >> if not included? How Cyrus would detect the charset? Or put in other >> words, if they are not required, what's the benefit to use them? >> >> On the other hand, may I suggest to please add these details to the >> Compiling [1] page? There's already a lot of useful information, but >> some of the libs lack any details on what's their purpose in Cyrus and >> why they are beneficial/required (and if they are not used yet, maybe >> they shouldn't be mentioned there at all?). This could help porters and >> maintainers to make more educated decisions on how to package Cyrus. > > libchardet is already listed on the compiling page as being used by the > CalDAV, CardDAV, and/or JMAP features. You would decide to install > libchardet based on whether you need these features: if you don't enable > these features, you don't need it; if you do, you probably do. > > If you don't have libchardet, Cyrus will not do character-set detection. If > some piece of data has no character set coming in, it will have no character > set. I don't know why you would decide to not use this, and it may simply > become a mandatory requirement for these features in 3.4. It might have been > mandatory in 3.2, if this had been brought to our attention during the nearly > 3 month beta window; but now that it's in a stable release, it will remain as > it is. > > cld2 was used by one (or maybe both) of the experimental search features that > were accidentally included in 3.2.0, and removed in 3.2.1 (see the release > notes). Looks like we forgot to remove the configure checks for the library > when removing the feature(s) that used it. You don't need it, and if you > have it, it won't be used anyway. > > Cheers, > > ellie >