Libtool and Support for Shared Libraries (3)
Дилян Палаузов
dilyan.palauzov at aegee.org
Thu Jun 28 20:51:44 EDT 2012
Hello,
On 27.06.2012 22:43, Carson Gaspar wrote:
> On 6/27/2012 7:36 AM, Dilyan Palauzov wrote:
>
>> Moreover, does it make any difference, if imapd links with
>> libcyrus_sieve and libcyrus_sieve links with libcom_err, or if imapd
>> links explicitly with both libcyrus_sieve and libcom_err ?
>
> What is calling com_err? The objects in libcyrus_sieve or the objects in
> imapd? If libcyrus_sieve has unresolved symbols against libcom_err,
> some linkers will require additional options to allow it to link (GNU ld
> and Solaris ld both default to allowing unresolved symbols when linking
> shared objects, but I'm not sure about other platforms - see "-z defs").
com_err, or rather the function error_message is called both by the
objects in libcyrus_imap (as in imap/message.c) and directly by the
objects in programs (imap/sync_client.c).
> In general, you _really_ don't want a shared object depending on a
> static object, although it's possible to make it work by always linking
> in the static object in the final executable on many (most?) platforms.
Yes, but this is what is going to happen: if somebody requests during
./configure to use the system-wide (static) library, it has to be used,
and the only way to do it, is to link the programs with libcom_err.a and
not the libcyrus_ libraries.
By the way, why does ./configure offer to link with static or dynamic
cyrus-sasl, and by static and dynamic krb? It is nearly the same as
with com_err .
Със здраве
Дилян
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dilyan_palauzov.vcf
Type: text/x-vcard
Size: 380 bytes
Desc: not available
Url : http://lists.andrew.cmu.edu/pipermail/cyrus-devel/attachments/20120629/24ba6524/attachment.vcf
More information about the Cyrus-devel
mailing list