Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Mão na Massa LDAP - 1 Profissional por Máquina
Configure um serviço de Diretórios baseado no servidor OpenLDAP!
Dia 6 de Dezembro - São Paulo
Saiba mais


 

Aprenda inglês em casa

Baixe gratuitamente as duas primeiras aulas

English for Reading and Listening

Receba por email, diariamente, mensagens contendo materiais para leitura e audição, incluindo arquivos no formato MP3 gravados por falantes nativos.

Saiba mais e faça sua inscrição

Você está aqui: Home  → Arquivo Dicas-L

 

Mão na Massa - LDAP

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Publicar em del.icio.us

Problemas na Compilação do Sendmail

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 18 de Dezembro de 1998

Um dos problemas mais comuns que vários administradores encontram ao compilar o programa sendmail é o passo em que a documentação é criada.

A compilação do sendmail exige a existência do pacote groff que por sua vez, para ser compilado, exige o pacote C++. Ou seja, por causa de algo dispensável (a documentação do sendmail pode ser obtida de diversas formas diferentes em dezenas de sites na Internet), a compilação do próprio sendmail não se conclui. Aliás, eu não sei ainda por que o autor do Sendmail não inclui esta documentação já no formato postscript. Afinal de contas, com o ghostview fica muito fácil imprimir arquivos neste formato em praticamente qualquer tipo de impressora.

O que pouca gente sabe é que é possível criar um arquivo contendo os parâmetros específicos para uma determinada instalação, onde você pode especificar como você quer que o sendmail seja compilado.

Para isto, basta criar um arquivo chamado site.config.m4. Este arquivo deve ficar em BuildTools/Site. Tudo isto, é claro, debaixo da árvore de diretórios do sendmail. Considerando-se a versão atual do sendmail (em 2 de dezembro de 1998), o caminho completo ficaria:

  /usr/local/src/sendmail-8.9.1/BuildTools/Site/site.config.m4

O /usr/local/src/ fica por minha conta. Eu tenho por hábito colocar os fontes de todos os softwares instalados nos sistemas que administro debaixo do diretório /usr/local/src.

O arquivo site.config.m4, para resolver este problema específico, da compilação do sendmail onde não exista o groff, deverá conter:

  define(""confNROFF',""nroff')
  define(""confMANDOC',""-man')

Estas duas diretivas definem que o programa formatador de páginas seja o programa nroff, que irá receber a flag "-man". Preste bastante atenção no tipo das aspas. Isto é muito importante!

Em seguida, ao compilar o programa sendmail, você deve sinalizar ao script de compilação que o arquivo site.config.m4 deve ser incluído:

  # cd /usr/local/src/sendmail-8.9.1/src
  # ./Build -f ../BuildTools/Site/site.config.m4

E pronto, o sendmail será compilado sem problemas.

Estou incluindo aqui o arquivo README que fica no diretório sendmail-8.9.1/BuildTools. A configuração do sendmail é bastante flexível e permite que especifiquemos diversas opçoes diferentes. Este arquivo aborda esta questão em detalhes.

Se você quiser pegar a última versão do sendmail, pode obtê-la a partir do mirror mantido no servidor ftp da Unicamp, no endereço http://ftp.unicamp.br/pub/mail/sendmail

Eu vou voltar a abordar a questão da compilação do sendmail em outras oportunidades.

Arquivo /sendmail-8.9.1/BuildTools/README

  This directory contains tools.  Do not attempt to actually build
  anything in this directory.
  
  The Build script allows you to specify a site configuration file by using
  the -f flag:
  
          Build -f siteconfig.m4
  
  You can put such site configuration files in the Site sub-directory;
  see Site/README for details.
  
  While building a site configuration file, you can add to a definition
  using the APPENDDEF() and PREPENDDEF() macros.  For example:
  
          APPENDDEF(""confINCDIRS',""-I/usr/local/bind/include')
  
  will add -I/usr/local/bind/include to the already existing confINCDIRS.
  Note: There must be no trailing spaces after the last quote mark and
  before the closing parenthesis.  Also you may need to properly quote
  m4 reserved words as specified by your vendor's m4 command.
  
  By default, sendmail will search your system for include and library
  directories as well as certain libraries (libdb.* for Berkeley DB and
  libbind.a or libresolv.* for name resolution).  You can turn off this
  configuration step by specifying the -S flag with the Build command.
  
  The OS subtree contains definitions for variations on a standard
  model for system installation.  The M4 variables that can be defined
  and their defaults before referencing the appropriate OS definitons
  are:
  
  confBEFORE          [empty]             Files to create before sendmail is
                                          compiled.  The methods must be defined
                                          in the Makefile using PUSHDIVERT(3).
  confBUILDBIN        ../../BuildTools/bin
                                          The location of the build support
                                          binaries, relative to the obj.*
                                          directory.
  confCC              cc                  The C compiler to use.
  confOPTIMIZE        -O                  Flags passed to CC as ${O}.
  confDEPEND_TYPE     generic             How to build dependencies.  This should
                                          be the name of a file in
                                          BuildTools/M4/depend
  confEBINDIR         /usr/libexec        The location for binaries executed
                                          from other binaries, e.g., mail.local
                                          or smrsh.
  confENVDEF          [empty]             -D flags passed to cc.
  confHFDIR           /usr/share/misc     Location of the sendmail help file.
  confINCDIRS         [empty]             -I flags passed to cc.
  confINSTALL         install             The BSD-compatible install program.
                                          Use ${BUILDBIN}/install.sh if none
                                          is available on your system.
  confLDOPTS          [empty]             Linker options passed to ld.
  confLIBDIRS         [empty]             -L flags passed to ld.
  confLIBS            [varies]            -l flags passed to ld.
  confLIBSEARCH       db bind resolv 44bsd
                                          Search for these libraries for
                                          linking with programs.
  confLINKS           ${UBINDIR}/newaliases ${UBINDIR}/mailq \
                      ${UBINDIR}/hoststat ${UBINDIR}/purgestat
                                          Names of links to sendmail.
  confMANROOT         /usr/share/man/cat  The root of the man subtree.
  confMAN1            confMANROOT 1       The location of man1 files.
  confMAN1EXT         1                   The extension on files in confMAN1.
  confMAN1SRC         0                   The source for man pages installed
                                          in confMAN1.
  confMAN5            confMANROOT 5       The location of man5 files.
  confMAN5EXT         5                   The extension on files in confMAN5.
  confMAN5SRC         0                   The source for man pages installed
                                          in confMAN5.
  confMAN8            confMANROOT 8       The location of man8 files.
  confMAN8EXT         8                   The extension on files in confMAN8.
  confMAN8SRC         0                   The source for man pages installed
                                          in confMAN8.
  confMANDOC          -mandoc             The macros used to format man pages.
  confMANOWN          bin                 The owner of installed man pages.
  confMANGRP          bin                 The group of installed man pages.
  confMANMODE         444                 The mode of installed man pages.
  confMAPDEF          [varies]            The map definitions, e.g.,
                                          -DNDBM -DNEWDB.  -DNEWDB is always
                                          added if a libdb.a can be found.
  confNO_MAN_INSTALL  [undefined]         If defined, don't install the man
                                          pages by default.
  confMBINDIR         /usr/sbin           The location of the MTA (sendmail)
                                          binary.
  confNROFF           groff -Tascii       The command to format man pages.
  confOBJADD          [empty]             Objects that should be included in
                                          when linking sendmail and the
                                          associated utilities.
  confSBINDIR         /usr/sbin           The location of root-oriented
                                          commands, such as makemap.
  confSBINOWN         root                The owner for setuid binaries.
  confSBINGRP         kmem                The group for setuid binaries.
  confSBINMODE        4555                The mode for setuid binaries.
  confSHELL           /bin/sh             The shell to use inside make.
  confSMOBJADD        [empty]             Objects that should be included in
                                          when linking sendmail.
  confSRCDIR          ../../src           The sendmail source directory
                                          relative to support program obj.*
                                          directories.
  confSTDIR           /var/log            The directory in which to store the
                                          sendmail status file.
  confUBINDIR         /usr/bin            The directory for user-executable
                                          binaries.
  confUBINOWN         bin                 The owner for user-executable binaries.
  confUBINGRP         bin                 The group for user-executable binaries.
  confUBINMODE        555                 The mode for user-executable binaries.
  
  
  @(#)README      8.22 (Berkeley) 6/30/98
  
  
  

Veja a relação completa dos artigos de Rubens Queiroz de Almeida

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (495 votos)

Recomende este site
Recomendar este artigo


Versão para impressão


Opinião dos Leitores

*Nome:
Email:
Me notifique sobre novos comentários nessa pagina
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Mão na Massa LDAP - 1 Profissional por Máquina
Configure um serviço de Diretórios baseado no servidor OpenLDAP!
Dia 6 de Dezembro - São Paulo
Saiba mais

Biblioteca

Redes - Guia Prático
Por Carlos. E. Morimoto

Hardware - o Guia Definitivo
Por Carlos. E. Morimoto

Kurumin 7 - Guia Prático
Por Carlos. E. Morimoto

Linux: Ferramentas Técnicas, 2ed
Por Carlos. E. Morimoto

VPN: Virtual Private Network
Por Lino Sarlo da Silva

MySQL - Guia do Programador
Por André Milani

Sistemas de Banco de Dados
Por Ramez E. Elmasri e Shamkant Navathe

Hardware PC: Guia de Aprendizagem Rápida
Por Carlos E. Morimoto

Extreme Programming
Por Vinicius Manhaes Teles

Google Hacking
Por JOHNNY LONG

Elite da Tropa
Por Luis Eduardo Soares, Andre Batista e Rodrigo Pimentel

Harry Potter e as Relíquias da Morte
Por J.K. Rowling

Manual Completo do Linux: Guia do Administrador
Por Evi Nemeth, Trent R. Hein, Garth Snyder

PHP para Quem Conhece PHP
Por Juliano Niederauer

O Conhecimento em Rede
Por Carlos Nepomuceno e Marcos Cavalcanti

Enterprise Javabeans 3.0
Por Bill Burke, Richard Monson

Redes de Computadores
Por Andrew S. Tanembaum

Marley e Eu: a Vida e o Amor ao Lado do Pior Cão do Mundo
Por John Grogan

Deus, um delírio
Por Richard Dawkins

Java: Como Programar
Por Harvey M. Deitel e Paul J. Deitel

Descobrindo o Linux: Entenda o Sistema Operacional GNU/Linux
Por Joao Eriberto Mota Filho

Use a Cabeça!: JSP & Servlets
Por Brian Bashan, Kathy Sierra, Bert Bates

1808
Por Laurentino Gomes

UML: Guia do Usuário
Por Grady Booch, James Rumbaugh e Ivar Jacobson