[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