On Sun, 2010-09-19 at 14:04 +0800, Funda Wang wrote:
> I'm currently packaging dovecot 2.0.3 under Mandriva Linux. It has
> been using LDFLAGS="-Wl,--as-needed -Wl,--no-undefined" for
shared
> libraries for over two years[1]. And I've found there are lots of
> linking problems with dovecot 2.0.3.
>
> After some investigation, I've made small patch regarding dovecot
> 2.0.3, posted here:
>
http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/dovecot/branches/dovecot2/current/SOURCES/dovecot-2.0.3-linkage.patch
I committed parts of it:
http://hg.dovecot.org/dovecot-2.0/rev/26e88084bbc0
> ./.libs/liblogin.a(client-common.o): In function
`get_var_expand_table':
> /tmp/dovecot/BUILD/dovecot-2.0.3/src/login-common/client-common.c:372:
> undefined reference to `login_binary'
The binary is expected to provide this symbol. This can't be fixed
without a large API change. Maybe for v2.1.
Also besides these, linking plugins will fail with those LDFLAGS. I'm
not sure about that .. seems wrong to have plugins also link to
libraries that the parent binary is required to be linking to anyway..