Re: sendmail: no local mailer

From: Oleg V. Nauman <oleg_at_reis.zp.ua>
Date: Thu, 3 Apr 2003 22:05:03 +0300
On Wed, Apr 02, 2003 at 03:18:18PM -0700, Nate Williams wrote:
> > > > evantd> Sendmail has not been working on my system for some time now. I
> > > > evantd> can't say exactly how long, but my guess is that it broke when I
> > > > evantd> upgraded to RELENG_5_0. This is how sendmail is invoked (by
> > > > evantd> default) and it's output.
> > > > 
> > > > evantd> # sendmail -L sm-mta -bd -q30m -ODaemonPortOptions=Addr=localhost
> > > > evantd> 451 4.0.0 No local mailer defined: Bad address
> > > > evantd> 554 5.0.0 QueueDirectory (Q) option must be set
> > > > 
> > > > /etc/mail/sendmail.cf is a bogus (empty?) file.  One way to fix this is:
> > > > 
> > > > cd /etc/mail
> > > > mv sendmail.cf sendmail.cf~bogus
> > > > make
> > > > make restart
> > > 
> > > This happened on one of my -stable boxes lately when doing a upgrade
> > > using buildworld.  For some (unknown) reason m4 bombed out and created
> > > an empty .cf file.
> > > 
> > > I fixed it by doing something similar to what was done above, although
> > > why m4 failed is a mystery....
> > 
> > 	Some patch:
> > 
> > --- /usr/src/etc/sendmail/Makefile.orig Wed Apr  2 23:51:19 2003
> > +++ /usr/src/etc/sendmail/Makefile Wed Apr  2 23:51:50 2003
> > _at__at_ -1,7 +1,7 _at__at_
> >  # _at_(#)Makefile 8.19 (Berkeley) 1/14/97
> >  # $FreeBSD: src/etc/sendmail/Makefile,v 1.21 2002/07/29 09:40:06 ru Exp $
> > 
> > -M4=          m4
> > +M4=          /usr/bin/m4
> >  CHMOD=       chmod
> >  ROMODE=        444
> >  RM=          rm -f
> > 
> 
> This shouldn't be necessary, since m4 is in the path in buildworld, is

	installworld, you meant?

> it not?  Otherwise, we wouldn't be able to run make, cc, or any other
> tools.

	ok...

	this was under slightly patched /usr/src/etc/sendmail/Makefile:
--- /usr/src/etc/sendmail/Makefile.orig Thu Apr  3 19:47:54 2003
+++ /usr/src/etc/sendmail/Makefile      Thu Apr  3 21:18:23 2003
_at__at_ -18,6 +18,7 _at__at_
 .mc.cf:                ${M4FILES}
			${RM} ${.TARGET}
			(cd ${.CURDIR} && \
+			set | /usr/bin/grep PATH > /tmp/installworld.path 2>&1 ; \
			${M4} -D_CF_DIR_=${CFDIR}/ ${SENDMAIL_M4_FLAGS} \
			${CFDIR}/m4/cf.m4 ${_at_:R}.mc) > ${.TARGET}
			${CHMOD} ${ROMODE} ${.TARGET}

So, after some installworld's activity:

rm -f /etc/mail/vega.cf
(cd /usr/src/etc/sendmail &&  set | /usr/bin/grep PATH > /tmp/installworld.path 2>&1 ;  m4 -D_CF_DIR_=/usr/src/etc/sendmail/../../contrib/sendmail/cf/   /usr/src/etc/sendmail/../../contrib/sendmail/cf/m4/cf.m4 /etc/mail/vega.mc) > /etc/mail/vega.cf
m4: not found
^^^^^^^^^^^^^
*** Error code 127

Stop in /usr/src/etc/sendmail.
*** Error code 1

Stop in /usr/src/etc.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.

# more /tmp/installworld.path
GROFF_FONT_PATH=/usr/obj/usr/src/i386/usr/share/groff_font
PATH=/usr/obj/usr/src/i386/usr/sbin:/usr/obj/usr/src/i386/usr/bin:/usr/obj/usr/s
rc/i386/usr/games:/tmp/install.84736
GROFF_TMAC_PATH=/usr/obj/usr/src/i386/usr/share/tmac
GROFF_BIN_PATH=/usr/obj/usr/src/i386/usr/bin
OBJFORMAT_PATH=/usr/obj/usr/src/i386/usr/libexec
#sh
# export PATH=/usr/obj/usr/src/i386/usr/sbin:/usr/obj/usr/src/i386/usr/bin:/usr
/obj/usr/src/i386/usr/games:/tmp/install.84736
# /usr/bin/which m4
#
^D
# which m4
/usr/bin/m4
# ls -al /etc/mail/*.cf
-rw-r--r--  1 root  wheel  57079 Apr  3 20:45 /etc/mail/sendmail.cf
-rw-r--r--  1 root  wheel      0 Apr  3 21:33 /etc/mail/vega.cf
                            ^^^^
# uname -a
FreeBSD vega.reis.zp.ua 4.8-RC FreeBSD 4.8-RC #1: Sun Mar 30 12:52:49 EEST 2003     root_at_vega.reis.zp.ua:/usr/src/sys/compile/Vega  i386

Yes, this was attempt to 'make installworld' from NFS-mounted /usr/src and
/usr/obj. So, /usr/src/etc/sendmail/Makefile definitely should define
M4 as /usr/bin/m4.


> 
> 
> 
> Nate

-- 
NO37-RIPE
Received on Thu Apr 03 2003 - 09:05:32 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:02 UTC