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/...
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..