Error compiling mailman 2.1.9
Hi guys:
I am trygin to compile mailman 2.1.9 and I got this error:
configure: error: can only configure for one host and one target at a time
My gcc version is: gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-9) My Linux distribution is: CentOS 4.3
I am calling the configure with this little script:
CONTENTDIR=/var/www PROG=mailman # Installation directories MMDIR=/usr/lib/${PROG} VARMMDIR=/var/lib/${PROG} DOCDIR=/usr/share/doc/${PROG} CONFIGDIR=/etc/${PROG} DATADIR=${VARMMDIR}/data LOCKDIR=/var/lock/${PROG} LOGDIR=/var/log/${PROG} PIDDIR=/var/run/${PROG} QUEUEDIR=/var/spool/${PROG} HTTPDCONFDIR=/etc/httpd/conf.d HTTPDCONFFILE=${PROG}.conf
# Now, the user and group the CGIs will expect to be run under. This should # match the user and group the web server is configured to run as. The scripts # will error out if they are invoked by any other user. cgiuser=apache cgigroup=apache
# Now, the user and group the scripts will actually execute as. mmuser=mailman mmuserid=41 mmgroup=mailman mmgroupid=41
# Directory/File modes & permissions dirmode=2775 exemode=2755
# Now, the groups your mail spoolers run as. Sendmail uses mail(12) # and postfix used to use nobody, but now uses postfix mailgroup="mail postfix mailman nobody daemon"
# Python binary __python=/usr/bin/python
# The mail wrapper program mail_wrapper=mailman
./configure --prefix=${MMDIR}
--prefix=${MMDIR}
--with-var-prefix=${VARMMDIR}
--with-config-dir=${CONFIGDIR}
--with-lock-dir=${LOCKDIR}
--with-log-dir=${LOGDIR}
--with-pid-dir=${PIDDIR}
--with-queue-dir=${QUEUEDIR}
--with-python=${__python}
--with-mail-gid=${mailgroup}
--with-cgi-id=${cgiuser}
--with-cgi-gid=${cgigroup}
--with-mailhost=localhost.localdomain
--with-urlhost=localhost.localdomain
--without-permcheck
-- Mario Silva Borrego Systems Administrator Supreme Court of New Mexico Judicial Information Division 2905 Rodeo Park Dr. East, Bldg. #5 Santa Fe, NM 87505 Phone: (505) 476-6959 / Mobil: (505) 660-1026 Fax: (505) 476-6952
Website: http://www.nmcourts.gov mailto: mario.silva@nmcourts.gov
LEGAL DISCLAIMER:
The content of this data transmission is not considered as an offer, proposal, understanding, or agreement unless it is confirmed in a document signed by a legal representative of Supreme Court of the State of New Mexico or the Judicial Information Division. The content of this data transmission is confidential and it is intended to be delivered only to the addresses, therefore, it shall not be distributed and/or disclosed through any mean without the original sender's previous authorization. If you are not the addressee you are forbidden to use it, either totally or partially, for any purpose.
AVISO LEGAL:
El contenido de este mensaje de datos no se considera oferta, propuesta o acuerdo, sino hasta que sea confirmado en documento por escrito que contenga la firma autógrafa del apoderado legal de La Suprema Corte del Estado de Nuevo Mexico o de la Division de Informatica del Estado. El contenido de este mensaje de datos es confidencial y se entiende dirigido y para uso exclusivo del destinatario, por lo que no podrá distribuirse y/o difundirse por ningún medio sin la previa autorización del emisor original. Si usted no es el destinatario, se le prohíbe su utilización total o parcial para cualquier fin.
Mario Silva Borrego wrote:
I am trygin to compile mailman 2.1.9 and I got this error:
configure: error: can only configure for one host and one target at a time
My gcc version is: gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-9) My Linux distribution is: CentOS 4.3
I am calling the configure with this little script:
I see a few issues with this script, but I can run it verbatim on CentOS 5 and it issues
configure: WARNING: you should use --build, --host, --target
four times, but runs fine with no error. The warnings (not very informative) come from
--with-mail-gid=${mailgroup}
and the fact that mailgroup is defined as
mailgroup="mail postfix mailman nobody daemon"
Also, this doesn't work. As far as I can tell, --with-mail-gid= needs to be a single group, not a list of groups. And even if you can make it accept a list, it may not work as the wrapper will be compiled with the first group from the list that is an existant group on your system, so in my case for example, I have a 'mail' group, but my MTA runs as 'postfix' so the above list would compile the wrapper with 'mail' which wouldn't work.
See more comments below.
CONTENTDIR=/var/www PROG=mailman # Installation directories MMDIR=/usr/lib/${PROG} VARMMDIR=/var/lib/${PROG} DOCDIR=/usr/share/doc/${PROG} CONFIGDIR=/etc/${PROG} DATADIR=${VARMMDIR}/data LOCKDIR=/var/lock/${PROG} LOGDIR=/var/log/${PROG} PIDDIR=/var/run/${PROG} QUEUEDIR=/var/spool/${PROG} HTTPDCONFDIR=/etc/httpd/conf.d HTTPDCONFFILE=${PROG}.conf
# Now, the user and group the CGIs will expect to be run under. This should # match the user and group the web server is configured to run as. The scripts # will error out if they are invoked by any other user. cgiuser=apache cgigroup=apache
The cgi user is not checked by the wrappers and there is no --with-cgi-id option.
# Now, the user and group the scripts will actually execute as. mmuser=mailman mmuserid=41 mmgroup=mailman mmgroupid=41
# Directory/File modes & permissions dirmode=2775 exemode=2755
# Now, the groups your mail spoolers run as. Sendmail uses mail(12) # and postfix used to use nobody, but now uses postfix mailgroup="mail postfix mailman nobody daemon"
# Python binary __python=/usr/bin/python
# The mail wrapper program mail_wrapper=mailman
./configure --prefix=${MMDIR}
--prefix=${MMDIR} \
Redundant --prefix
--with-var-prefix=${VARMMDIR} \ --with-config-dir=${CONFIGDIR} \ --with-lock-dir=${LOCKDIR} \ --with-log-dir=${LOGDIR} \ --with-pid-dir=${PIDDIR} \ --with-queue-dir=${QUEUEDIR} \
Have you patched Mailman with RedHat's FHS patch from http://mail.python.org/pipermail/mailman-developers/2004-October/017343.html or something similar? If not, the above five options don't exist. If so, maybe you broke configure with the patch.
--with-python=${__python} \ --with-mail-gid=${mailgroup} \ --with-cgi-id=${cgiuser} \
no --with-cgi-id option
--with-cgi-gid=${cgigroup} \ --with-mailhost=localhost.localdomain \ --with-urlhost=localhost.localdomain \ --without-permcheck
-- Mark Sapiro mark@msapiro.net The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Mark:
Thank you very much for your advices, finally I could compile it with this little modifications, the "--with-mail-gid" option does accept multiple values, so I just made some little modifications and here you have in case you also want to update your current installation:
# General variables
CONTENTDIR=/var/www PROG=mailman
# Installation directories MMDIR=/usr/lib/${PROG} VARMMDIR=/var/lib/${PROG} DOCDIR=/usr/share/doc/${PROG} CONFIGDIR=/etc/${PROG} DATADIR=${VARMMDIR}/data LOCKDIR=/var/lock/${PROG} LOGDIR=/var/log/${PROG} PIDDIR=/var/run/${PROG} QUEUEDIR=/var/spool/${PROG} HTTPDCONFDIR=/etc/httpd/conf.d HTTPDCONFFILE=${PROG}.conf # Now, the user and group the CGIs will expect to be run under. This should # match the user and group the web server is configured to run as. The scripts # will error out if they are invoked by any other user.
cgiuser=apache cgigroup=apache
# Now, the user and group the scripts will actually execute as.
mmuser=mailman mmuserid=41 mmgroup=mailman mmgroupid=41
# Directory/File modes & permissions
dirmode=2775 exemode=2755
# Now, the groups your mail spoolers run as. Sendmail uses mail(12) # and postfix used to use nobody, but now uses postfix
mailgroup="mail postfix mailman nobody daemon"
# Python binary __python=/usr/bin/python
# The mail wrapper program mail_wrapper=mailman
echo "Variable Values to use in configure line:" echo $CONTENTDIR echo $PROG echo $MMDIR echo $VARMMDIR echo $DOCDIR echo $CONFIGDIR echo $DATADIR echo $LOCKDIR echo $LOGDIR echo $PIDDIR echo $QUEUEDIR echo $HTTPDCONFDIR echo $HTTPDCONFFILE echo $cgiuser echo $cgigroup echo $mmuser echo $mmuserid echo $mmgroup echo $mmgroupid echo $dirmode echo $exemode echo $mailgroup echo $__python echo $mail_wrapper
/configure --prefix=${MMDIR}
--with-var-prefix=${VARMMDIR}
--with-config-dir=${CONFIGDIR}
--with-lock-dir=${LOCKDIR}
--with-log-dir=${LOGDIR}
--with-pid-dir=${PIDDIR}
--with-queue-dir=${QUEUEDIR}
--with-python=${__python}
'--with-mail-gid=${mailgroup}'
--with-cgi-id=${cgiuser}
--with-cgi-gid=${cgigroup}
--target=localhost.localdomain
--with-mailhost=localhost.localdomain
--with-urlhost=localhost.localdomain
--without-permcheck \
with this configuration my compiling just ran flawless and clean.
thank you very much for your help!
mario
-- Mario Silva Borrego Systems Administrator Supreme Court of New Mexico Judicial Information Division 2905 Rodeo Park Dr. East, Bldg. #5 Santa Fe, NM 87505 Phone: (505) 476-6959 / Mobil: (505) 660-1026 Fax: (505) 476-6952
Website: http://www.nmcourts.gov mailto: mario.silva@nmcourts.gov
LEGAL DISCLAIMER:
The content of this data transmission is not considered as an offer, proposal, understanding, or agreement unless it is confirmed in a document signed by a legal representative of Supreme Court of the State of New Mexico or the Judicial Information Division. The content of this data transmission is confidential and it is intended to be delivered only to the addresses, therefore, it shall not be distributed and/or disclosed through any mean without the original sender's previous authorization. If you are not the addressee you are forbidden to use it, either totally or partially, for any purpose.
AVISO LEGAL:
El contenido de este mensaje de datos no se considera oferta, propuesta o acuerdo, sino hasta que sea confirmado en documento por escrito que contenga la firma autógrafa del apoderado legal de La Suprema Corte del Estado de Nuevo Mexico o de la Division de Informatica del Estado. El contenido de este mensaje de datos es confidencial y se entiende dirigido y para uso exclusivo del destinatario, por lo que no podrá distribuirse y/o difundirse por ningún medio sin la previa autorización del emisor original. Si usted no es el destinatario, se le prohíbe su utilización total o parcial para cualquier fin.
Mario Silva Borrego wrote:
Thank you very much for your advices, finally I could compile it with this little modifications, the "--with-mail-gid" option does accept multiple values, so I just made some little modifications and here you have in case you also want to update your current installation:
<snip> > >mailgroup="mail postfix mailman nobody daemon" > <snip> > '--with-mail-gid=${mailgroup}' \ <snip>
This still does not work. Yes it is true that configure and make run clean, but the resultant 'mailman' mail wrapper will always give a group mismatch error.
By quoting '--with-mail-gid=${mailgroup}', you force configure to create literally the following line in src/Makefile
MAIL_GROUP= ${mailgroup}
Now, your script has not exported mailgroup to the environment, so make winds up compiling the mail wrapper with -DMAIL_GROUP="\"\"" so the compiled wrapper looks for the parent group name to be the null string which never matches.
If you do export mailgroup to the environment before running make, make compiles the wrapper with -DMAIL_GROUP="\"mail postfix mailman nobody daemon\"". This too does not work because the compiled wrapper looks for the parent group name to be literally "mail postfix mailman nobody daemon" which again will never match.
As I said in my prior reply, the correct solution is the leave the --with-mail-gid=${mailgroup} unquoted, and to define
mailgroup=mail
or
mailgroup=postfix
or whatever single correct group is used by the MTA to invoke the mail wrapper.
-- Mark Sapiro mark@msapiro.net The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (3)
-
Mario Silva Borrego
-
Mario Silva Borrego
-
Mark Sapiro