Thanks, Ken, it's clear now. I wasn't intending to make it adaptable at run-time, just wasn't sure all of them were used as dynamic libraries. I'm accommodating cyrus-imapd package to 3.2 + http, just wanted to confirm this to specify the RUN_DEPENDS list correctly.
On 3/6/20 18:52, Ken Murchison wrote: > Ahh, I didn't read your first email well enough. If you configure the build > so that those libraries are linked, then they will be needed at runtime. I'm > not aware of a way to disable functionality in binary based on what runtime > libs are available, but would be willing to make that work with Cyrus is > possible (pull requests welcome). > > > On 6/3/20 5:41 PM, Anatoli wrote: >> Hi Ken, >> >> Thanks for the explanation, though my question was a bit of another >> scope. Please, let me reformulate it. >> >> If we use all these elements during build time, i.e. cyrus-imapd becomes >> compiled with all of them (when using --enable-http), then... will all >> of them be also required (as OS packages) during runtime or we can avoid >> installing some of them on the systems where the cyrus-imapd package >> would be running? >> >> In other words which of them do not constitute runtime dependencies once >> they were used as build-time dependencies? >> >> If all of them are used as shared libraries or some executables invoked >> by some component of cyrus-imapd, then I guess all of them would be >> required during runtime. >> >> If some of them are only used for building the executables or linked as >> static libs, then they should not be needed during runtime, I guess, but >> I'm not sure if there are any. >> >> Thanks, >> Anatoli >> >> On 3/6/20 07:39, Ken Murchison wrote: >>> On 6/3/20 3:48 AM, Anatoli wrote: >>>> Cyrus developers, >>>> >>>> I couldn't find in the documentation the *run-time* dependencies for >>>> cyrus-imapd. >>>> >>>> In particular, are any of these not required to be present for the >>>> correct execution of cyrus-imapd (with --enable-http)? >>>> >>>> pcre e2fsprogs/uuid jansson sqlite3 icu4c libical nghttpd2 brotli wslay >>> >>> pcre is NOT required for httpd at all as far as I recall >>> >>> nghttpd2, brotli, wslay are entirely OPTIONAL >>> >>> sqlite3 is required if you want to use any DAV functionality >>> >>> libical is required if you want to use CalDAV >>> >>> icu4c is required if libical was compiled with support for non-Gregorian >>> calendars >>> >>> jansson is definitely required for JMAP functionality, and may be required >>> for other modules >>> >>> uuid may be prevasive enough to be required for multiple modules >>>