Hi Patrick,

On Mon, Mar 18, 2019, at 11:33 PM, Patrick Goetz wrote:
> This page on compiling cyrus-imapd:
> 
>    https://www.cyrusimap.org/imap/developer/compiling.html

This page is in the developer section, so its context is for people who are 
Cyrus developers (especially for new contributors needing to get rolling 
quickly).  Expect a certain amount of detail to be glossed over on the 
assumption that it's already known and/or reasonably documented elsewhere.

> shows a number of build dependencies; however I was just able to compile 
> cyrus-imapd without these installed:
> 
>     gperf
>     libbsd
> 
> 
> Are these actually necessary?

Probably depends on which features you enable.  If you run './configure' 
without arguments, a number of large features won't be enabled, so any 
libraries they depend on won't be used.  Some of these features are important 
enough that we (developers) kind of think of them as being 
probably-always-included even if they default to not.

> Later in the page, under "Alternate database formats" it shows the 
> configure flags to use in order to use mysql/mariadb as a backend for 
> cyrus databases.  I think this is needed if one plans to use virtual 
> domains, but I couldn't get a confirmation on this.  

These are literally just "alternate database formats" -- maybe you already have 
extensive expertise in some other database and would rather use that than one 
of the builtin ones.  It has nothing to do with virtual domains.  Documentation 
about the databases used by Cyrus are here: 
https://www.cyrusimap.org/imap/concepts/deployment/databases.html

> In any case, the 
> configure options are given as
>   --with-mysql, --with-mysql-incdir, --with-mysql-libdir
> 
> with no clear indication of what each of these does.  For example, is 
> the --with-mysql all inclusive, or does one need to set all 3?

The canonical source of information on configure options is the output from 
'./configure --help'.  It's kind of assumed that a developer will look there to 
find this information.

> Finally a couple of items in the "Other" category are a real head 
> scratcher.  For example, what is the purpose of net-snmp?

You can click on any of those package names to go to the website for that 
package and get a description of what it does.  For example,

> Simple Network Management Protocol (SNMP) is a widely used 
> protocol for monitoring the health and welfare of network equipment
>  (eg. routers), computer equipment and even devices like UPSs. 
> Net-SNMP is a suite of applications used to implement SNMP v1, 
> SNMP v2c and SNMP v3 using both IPv4 and IPv6. 
 
> libnghttp2 is listed as needed for "HTTP/2 support for httpd" -- what's 
> using httpd?  Is this to faciliate CalDAV/CardDAV?

The Cyrus httpd provides DAV services (which use the HTTP protocol).  If you 
want the Cyrus httpd to support HTTP/2, you will need libnghttp2.  Otherwise it 
will only support HTTP/1.

Hope this helps :)

ellie
----
Cyrus Home Page: http://www.cyrusimap.org/
List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
To Unsubscribe:
https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus

Reply via email to