[Dovecot] compiling dovecot on aix gcc 3.3.2

Ralf Becker beckerr at fh-trier.de
Thu Mar 29 19:08:40 EEST 2007


Hello funkypunky drunky,

this is an example how the script rewrite the command line when the
dovecot-imap binary is being linked:

1) Makefile calls libtool with:

   ../../libtool --tag=CC --mode=link
	/usr/local/src/mail/src/bin/dovecot-cc
	-qlanglvl=ansi -g -export-dynamic -bexpall -brtl
	-L/usr/local/lib -L/usr/local/lib -o imap
	cmd-append.o cmd-capability.o  cmd-check.o
	cmd-close.o cmd-copy.o  cmd-create.o cmd-delete.o
	cmd-examine.o cmd-expunge.o  cmd-fetch.o cmd-idle.o
	cmd-list.o  cmd-logout.o cmd-lsub.o  cmd-namespace.o
	cmd-noop.o  cmd-rename.o cmd-search.o cmd-select.o  cmd-sort.o
	cmd-status.o cmd-store.o  cmd-subscribe.o cmd-thread.o cmd-uid.o
	cmd-unselect.o cmd-unsubscribe.o client.o commands.o
	commands-util.o imap-expunge.o  imap-fetch.o imap-fetch-body.o
	imap-messageset.o imap-search.o  imap-sort.o imap-sync.o
	imap-thread.o  mail-storage-callbacks.o main.o  namespace.o
	../lib-storage/register/libstorage-register.a
	../../src/lib-storage/index/maildir/libstorage_maildir.a
	../../src/lib-storage/index/mbox/libstorage_mbox.a
	../../src/lib-storage/index/dbox/libstorage_dbox.a
	../../src/lib-storage/index/libstorage_index.a
	../../src/lib-index/libindex.a  ../lib-storage/libstorage.a
	../lib-storage/subscription-file/libstorage_subscription_file.a
	../lib-imap/libimap.a  ../lib-mail/libmail.a
	../lib-dict/libdict.a  ../lib-charset/libcharset.a
	../lib/liblib.a  ../lib/mountpoint.o  -liconv

2) libtool calls dovecot-cc with:

   /usr/local/src/mail/src/bin/dovecot-cc
	-qlanglvl=ansi -g -bexpall -brtl -o imap
	cmd-append.o cmd-capability.o cmd-check.o
	cmd-close.o cmd-copy.o cmd-create.o cmd-delete.o
	cmd-examine.o cmd-expunge.o cmd-fetch.o cmd-idle.o
	cmd-list.o cmd-logout.o cmd-lsub.o cmd-namespace.o
	cmd-noop.o cmd-rename.o cmd-search.o cmd-select.o cmd-sort.o
	cmd-status.o cmd-store.o cmd-subscribe.o cmd-thread.o cmd-uid.o
	cmd-unselect.o cmd-unsubscribe.o client.o commands.o
	commands-util.o imap-expunge.o imap-fetch.o imap-fetch-body.o
	imap-messageset.o imap-search.o imap-sort.o imap-sync.o
	imap-thread.o mail-storage-callbacks.o main.o namespace.o
	../lib/mountpoint.o  -L/usr/local/lib
	../lib-storage/register/libstorage-register.a
	../../src/lib-storage/index/maildir/libstorage_maildir.a
	../../src/lib-storage/index/mbox/libstorage_mbox.a
	../../src/lib-storage/index/dbox/libstorage_dbox.a
	../../src/lib-storage/index/libstorage_index.a
	../../src/lib-index/libindex.a ../lib-storage/libstorage.a
	../lib-storage/subscription-file/libstorage_subscription_file.a
	../lib-imap/libimap.a ../lib-mail/libmail.a
	../lib-dict/libdict.a ../lib-charset/libcharset.a
	../lib/liblib.a -liconv

3) dovecot-cc calls /usr/bin/xlc with:

   /usr/bin/xlc
	-qlanglvl=ansi -g -bexpall -brtl -o imap
	cmd-append.o cmd-capability.o cmd-check.o
	cmd-close.o cmd-copy.o cmd-create.o cmd-delete.o
	cmd-examine.o cmd-expunge.o cmd-fetch.o cmd-idle.o
	cmd-list.o cmd-logout.o cmd-lsub.o cmd-namespace.o
	cmd-noop.o cmd-rename.o cmd-search.o cmd-select.o cmd-sort.o
	cmd-status.o cmd-store.o cmd-subscribe.o cmd-thread.o cmd-uid.o
	cmd-unselect.o cmd-unsubscribe.o client.o commands.o
	commands-util.o imap-expunge.o imap-fetch.o imap-fetch-body.o
	imap-messageset.o imap-search.o imap-sort.o imap-sync.o
	imap-thread.o mail-storage-callbacks.o main.o namespace.o
	../lib/mountpoint.o -L/usr/local/lib
	../lib-storage/register/libstorage-register.a
	../../src/lib-storage/index/maildir/libstorage_maildir.a
	../../src/lib-storage/index/mbox/libstorage_mbox.a
	../../src/lib-storage/index/dbox/libstorage_dbox.a
	../../src/lib-storage/index/libstorage_index.a
	../../src/lib-index/libindex.a ../lib-storage/libstorage.a
	../lib-storage/subscription-file/libstorage_subscription_file.a
	../lib-imap/libimap.a ../lib-mail/libmail.a
	../lib-dict/libdict.a ../lib-charset/libcharset.a
	../lib/liblib.a -liconv
	../lib-sql/libsql.a
	-bE:.libs/libstorage-register.exp
	-bE:.libs/libstorage_maildir.exp
	-bE:.libs/libstorage_mbox.exp
	-bE:.libs/libstorage_dbox.exp
	-bE:.libs/libstorage_index.exp
	-bE:.libs/libindex.exp
	-bE:.libs/libstorage.exp
	-bE:.libs/libstorage_subscription_file.exp
	-bE:.libs/libimap.exp
	-bE:.libs/libmail.exp
	-bE:.libs/libdict.exp
	-bE:.libs/libcharset.exp
	-bE:.libs/liblib.exp
	-bE:.libs/libsql.exp


Notice the "-bE:..." lines. These lines are appended by dovecot-cc to
initialize all globale symbols defined in libraries used to link imap.
The .exp files are generate on the fly by dovecot-cc.

The Library ../lib-sql/libsql.a was also being inserted, because of
known dependencies.


Regards, Ralf


funkypunky drunky schrieb:
> Hello Ralf,
> Ohh thanks for your reply and i start to understand what is going on. You
> tell everything very well. It is amazing. After i read your mail, I
> export a
> variable
> export LDFLAGS="-Wl,-brtl" and now i find shared object files (.so) in
> their proper places after compilation. At first glance everything seems ok
> but when i tried to start dovecot
> Edlopen(/usr/local/lib/dovecot/imap/lib10_quota_plugin.so) failed: rtld:
> 0712-001 Symbol i_malloc was referenced
>      from module /usr/local/lib/dovecot/imap/lib10_quota_plugin.so(), but a
> runtime definition
>            of the symbol was not found.
> rtld: 0712-001 Symbol i_strdup was referenced
>      from module /usr/local/lib/dovecot/imap/lib10_quota_plugin.so(), but a
> runtime definition
>            of the symbol was not found.
> rtld: 0712-001 Symbol default_pool was referenced
>      from module /usr/local/lib/dovecot/imap/lib10_quota_plugin.so(), but a
> runtime definition
>            of the symbol was not found.
> rtld: 0712-001 Symbol mail_storage_get_mailbox_path was referenced
>      from module /usr/local/lib/dovecot/imap/lib10_quota_plugin.so(), but a
> runtime definition
>            of the symbol was not found.
> rtld: 0712-001 Symbol i_info was referenced
>      from module /usr/local/lib/dovecot/imap/lib10_quota_plugin.so(), but a
> runtime definition
>            of the symbol was not found.
> rtld: 0712-001 Symbol mountpoint_get was referenced
>      from module /usr/local/lib/dovecot/imap/lib10_quota_plugin.so(), but a
> runtime definition
>            of the symbol was not found.
> rtld: 0712-001 Symbol i_error was referenced
>      from module /usr/local/lib/dovecot/imap/lib10_quota_plugin.so(), but a
> runtime definition
>            of the symbol was not found.
> Additional errors occurred but are not reported.
> Error: imap dump-capability process returned 89
> 
> This symbols are not found. Now i get happy that i see the same error
> message as you but the thing that i cannot understand these .exp files. I
> have these exp files in their places, and they are created by aix
> linker. (I
> am using aix linker. IBM doesnt advice using gnu linker
> http://www-128.ibm.com/developerworks/aix/library/au-gnu.html)
> ./dovecot-1.0.rc28/src/plugins/acl/.libs/lib01_acl_plugin.exp
> ./dovecot-1.0.rc28/src/plugins/convert/.libs/lib20_convert_plugin.exp
> ./dovecot-1.0.rc28/src/plugins/quota/.libs/lib10_quota_plugin.exp
> ./dovecot-1.0.rc28/src/plugins/imap-quota/.libs/lib11_imap_quota_plugin.exp
> ./dovecot-1.0.rc28
> /src/plugins/lazy-expunge/.libs/lib02_lazy_expunge_plugin.exp
> ./dovecot-1.0.rc28/src/plugins/mail-log/.libs/lib20_mail_log_plugin.exp
> ./dovecot-1.0.rc28/src/plugins/trash/.libs/lib11_trash_plugin.exp
> Do u mean that i have to point these exp files with linker flag -bexpall .
> From your script i can not understand. Maybe you can give an example with
> export LDFLAGS="bexpall bla bla"
> Thanx and best regards.
> 

-- 
______________________________________________________________________

 Dipl.-Inform. (FH) Ralf Becker     Rechenzentrum (r/ft) der FH Trier
 (Network|Mail|Web|Firewall)           University of applied sciences
 Administrator                           Schneidershof, D-54293 Trier

 Mail: beckerr at fh-trier.de                      Fon: +49 651 8103 499
 WWW:  http://www.fh-trier.de/~beckerr          Fax: +49 651 8103 214
 PGP:  http://www.fh-trier.de/~beckerr/pgp      ICQ: <available>
______________________________________________________________________

 Wenn Gott gewollt haette, dass E-Mail in HTML geschrieben wuerden,
 endeten Gebete traditionell mit </amen>. (Tom Listen)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 250 bytes
Desc: OpenPGP digital signature
Url : http://dovecot.org/pipermail/dovecot/attachments/20070329/c3f67c67/attachment-0001.pgp 


More information about the dovecot mailing list