Ol� caros colegas da lista. Esse problema de compila��o dessa vers�o do Courier, me deu muito trabalho, visto que, somente um cara na Internet inteira (via Google) teve "exatamente" o mesmo problema, n�o resolveu, e ainda por cima est� na R�ssia.
O problema estava relacionado � fun��o "RSA_generate_key" do OpenSSL, chamada do fonte libcouriertls.c, linha 216. O meu OpenSSL foi compilado, e � a vers�o 0.9.7g; o SO � o Conectiva 10, que tem o OpenSSL 0.9.7c. Bem tudo levava a crer que o linker n�o encontrava os headers do OpenSSL, uma vez que o erro era "undefined reference", embora eu tivesse passados os par�metros vari�veis "CPPFLAGS" e "LDFLAGS", conforme decrevi no e-mail anterior. O fato � que tive que estudar o fonte e seus headers, para chegar a conclus�o que esse programa somente leva em conta a instala��o "nativa" do OpenSSL pelos rpms da vida. N�o sei se isso � um Bug, ou uma caracter�stica. Ou seja, na insta��o compilada os headers do SSL est�o no diret�rio /usr/local/include/openssl/ e as libs est�o no diret�rio /usr/local/lib/ . Nos rpms, os headers est�o no diret�rio /usr/include/openssl/ e as libs est�o em /usr/lib/ . Ent�o bastou criar links simb�licos nesses diret�rios (dos rpms) apontando para os diret�rios da compila��o manual. Funcionou ! Mas Deu outro erro. Desta vez na fun��o "d2i_SSL_SESSION" tamb�m do OpenSSL. Estudando novamente os fontes e os headers, descobri que essa fun��o � incompat�vel com o OpenSSL 0.9.7g, por que os par�metros passados s�o diferentes. Basta comparar os headers "pem.h" e "ssl.h" das duas vers�es, na fun��o "d2i_SSL_SESSION". Para n�o ter que instalar o OpenSSL 0.9.7c Devel do Conectiva 10, eu copiei esse rpm para um diret�rio, descompactei e copiei somente os headers para o diret�rio padr�o, como em: cp /mnt/cdrom/conectiva/RPMS.002/openssl-devel-0.9.7c-52922cl.i386.rpm /root/temp cd /root/temp/ rpm2cpio openssl-devel-0.9.7c-52922cl.i386.rpm | cpio -i -d mv /root/temp/usr/include/openssl/ /usr/include/ Ent�o foi s� configurar e compilar tudo: ./configure --prefix=/usr/local/courier-imap --disable-root-check --without-ipv6 --enable-unicode=utf-8,iso-8859-1,gb2312 --with-trashquota --with-redhat COURIERAUTHCONFIG="/usr/local/courier-authlib/bin/courierauthconfig" CPPFLAGS="-I/usr/local/courier-authlib/include" make /usr/local/sbin/checkinstall -R make install-strip make install-configure Iniciar o Auth Config: /usr/local/courier-authlib/sbin/authdaemond start Iniciar o Courier: /usr/local/courier-imap/libexec/imapd.rc start Ainda nessa compila��o o Courier deu uma Warning nessa fun��o "d2i_SSL_SESSION", e n�o sei se isso gerar� algum tipo de problema, o fato � que compilou e linkou. Talvez isso possa ajudar algu�m com o mesmo problema, ou at� mesmo servir de ponto de partida. Abra�os, S�rgio. ======================================================= > Ol� novamente amigos, blz ? > > Estou ficando de cabelos brancos... N�o consigo compilar o Courier-IMAP. D� > sempre o mesmo pau. > > Se algum colega j� tiver compilado o Courier-IMAP 4.0.3 e puder ajudar... > > Pe�o perd�o aos colegas pelo e-mail gigantesco, mas tentei detalhar o m�ximo > poss�vel. Agradecido a todos. > > Conectiva Linux 10 > courier-authlib-0.56.tar.bz2 > courier-imap-4.0.3.tar.bz2 > > Tenho as deps instaladas segundo o site do produtor > [http://www.courier-mta.org/?download.php~imap] se��o Requirements: > > C++ compiler: gcc-3.3.3-62745cl, libgcc-3.3.3-62745cl, > libstdc++5.0-3.3.3-62745cl, compat-libstdc++-2.8.0-3860cl, > libstdc++5.0-devel-3.3.3-62745cl, libstdc++2.10-2.95.4-29033cl est�o > instaladas; > > The GNU make is recommended: make-3.80-61550cl, > make-i18n-pt_BR-3.80-61550cl, makedev-2.5-62479cl, automake-1.7.9-41572cl > est�o instaladas; > > GDBM/DB: libgdbm-devel-1.8.3-45888cl e libgdbm3-1.8.3-45888cl est�o > instaladas; > > FAM, the File Alteration Monitor: libfam0-2.6.10-47206cl e > libfam-devel-2.6.10-47206cl est�o instaladas; > > The Courier authentication library: courier-authlib-0.56 compilado, > instalado e iniciado em /usr/local/courier-authlib/sbin/authdaemond start > (confirmado pelo ps aux); > > To add SSL support you have to install OpenSSL before installing > Courier-IMAP: openssl-0.9.7f compilado e instalado. (/usr/local/bin/openssl, > /usr/local/include/openssl, /usr/local/openssl); > > Al�m de: > libmysqlclient-devel-4.0.15-62447cl, libmysqlclient12-4.0.15-62447cl, > libmysqlclient-devel-static-4.0.15-62447cl, pam-0.77-58129cl e > pam-devel-0.77-58129cl. > > ---------------------------------------------------------------- > > Para compilar, usei um usu�rio comum do sistema, iniciado com as seguintes > vari�veis no bash_profile: > > CPPFLAGS="-I/usr/local/include/openssl -I/usr/local/courier-authlib/include" > LDFLAGS="-L/usr/local/courier-authlib/lib -L/usr/lib" > COURIERAUTHCONFIG="/usr/local/courier-authlib/bin/courierauthconfig" > > E exportadas devidamente. > > O script de configura��o, ficou assim: > > ./configure --prefix=/usr/local/courie-imap --disable-root-check > --without-ipv6 --enable-unicode=utf-8,iso-8859-1,gb2312 --with-trashquota > --with-redhat > > (Tentei outras diretivas, inclusive com as vari�veis no script configure) > > Transcorre sem problemas, e no final, rodo o make: > > make > > S� que d� um erro que n�o consigo resolver: > > Making all in tcpd > make[2]: Entering directory `/usr/local/src/courier-imap-4.0.3/tcpd' > make all-am > make[3]: Entering directory `/usr/local/src/courier-imap-4.0.3/tcpd' > Linking couriertls > libcouriertls.a(libcouriertls.o)(.text+0x397): In function `rsa_callback': > /usr/local/src/courier-imap-4.0.3/tcpd/libcouriertls.c:216: undefined > reference > to `RSA_generate_key' > libcouriertls.a(libcouriertls.o)(.text+0x51b): In function > `process_rsacertfile' > : > /usr/local/src/courier-imap-4.0.3/tcpd/libcouriertls.c:274: undefined > reference > to `SSL_CTX_use_certificate_chain_file' > libcouriertls.a(libcouriertls.o)(.text+0x52c):/usr/local/src/courier-imap-4.0.3/ > tcpd/libcouriertls.c:280: undefined reference to > `SSL_CTX_use_RSAPrivateKey_file > ' > libcouriertls.a(libcouriertls.o)(.text+0x57f): In function > `process_dhcertfile': > /usr/local/src/courier-imap-4.0.3/tcpd/libcouriertls.c:299: undefined > reference > to `SSL_CTX_use_certificate_chain_file' > libcouriertls.a(libcouriertls.o)(.text+0x614):/usr/local/src/courier-imap-4.0.3/ > tcpd/libcouriertls.c:328: undefined reference to > `SSL_CTX_use_PrivateKey_file' > libcouriertls.a(libcouriertls.o)(.text+0x865): In function `tls_create': > /usr/local/src/courier-imap-4.0.3/tcpd/libcouriertls.c:405: undefined > reference > to `SSL_load_error_strings' > libcouriertls.a(libcouriertls.o)(.text+0x86a):/usr/local/src/courier-imap-4.0.3/ > tcpd/libcouriertls.c:406: undefined reference to `SSL_library_init' > libcouriertls.a(libcouriertls.o)(.text+0x8cb):/usr/local/src/courier-imap-4.0.3/ > tcpd/libcouriertls.c:421: undefined reference to `TLSv1_method' > libcouriertls.a(libcouriertls.o)(.text+0xc7c):/usr/local/src/courier-imap-4.0.3/ > tcpd/libcouriertls.c:413: undefined reference to `SSLv23_method' > libcouriertls.a(libcouriertls.o)(.text+0xc86):/usr/local/src/courier-imap-4.0.3/ > tcpd/libcouriertls.c:413: undefined reference to `SSLv2_method' > libcouriertls.a(libcouriertls.o)(.text+0xe25): In function `cache_add': > /usr/local/src/courier-imap-4.0.3/tcpd/libcouriertls.c:604: undefined > reference > to `i2d_SSL_SESSION' > libcouriertls.a(libcouriertls.o)(.text+0xe97):/usr/local/src/courier-imap-4.0.3/ > tcpd/libcouriertls.c:621: undefined reference to `i2d_SSL_SESSION' > libcouriertls.a(libcouriertls.o)(.text+0xfaf): In function `get_func': > /usr/local/src/courier-imap-4.0.3/tcpd/libcouriertls.c:694: undefined > reference > to `d2i_SSL_SESSION' > collect2: ld returned 1 exit status > make[3]: ** [couriertls] Erro 1 > make[3]: Leaving directory `/usr/local/src/courier-imap-4.0.3/tcpd' > make[2]: ** [all] Erro 2 > make[2]: Leaving directory `/usr/local/src/courier-imap-4.0.3/tcpd' > make[1]: ** [all-recursive] Erro 1 > make[1]: Leaving directory `/usr/local/src/courier-imap-4.0.3' > make: ** [all] Erro 2 > > Parece relacionado a autentica��o... > > Vi v�rios tutoriais na Net, inclusive no FAQ, mas nada que seja relevante. > > Estou seguindo os seguintes tutoriais: > http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=526&pagina=9 > http://www.flatmtn.com/computer/Linux-Imap-Courier.html > http://www.hupo.org.cn/docs/linuxdoc/courier-imap-3.0.3/FAQ.html > http://br-linux.org/tutoriais/003409.html > http://64.233.161.104/linux?q=cache:GgpfQlW9Q5kJ:freeos.cn/files/linux_mail_mysql_php.txt+courier-authlib+configure+make&hl=pt-BR > http://www.courier-mta.org/?download.php~imap > http://www.linuxti.pro.br/tutoriais/qmail.html > > Somente 2 desses tutorias s�o de vers�es pr�ximas ao que estou tentando > compilar. > > O tutorial que estou tentando implantar � o seguinte: > http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=526&pagina=1 > > Obrigado, > > S�rgio. > =======================================================
--------------------------------------------------------------------------- Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br Regras de utiliza��o da lista: http://linux-br.conectiva.com.br FAQ: http://www.zago.eti.br/menu.html
