Subject: Sendmail 8.11.6 does not compile on 1.4.2? [with fix]
To: None <current-users@netbsd.org, tech-pkg@netbsd.org>
From: Olaf Seibert <rhialto@polderland.nl>
List: current-users
Date: 05/27/2002 15:48:30
Sendmail 8.11.6 does not seem to compile on 1.4.2. I compile with
STARTTLS and it cannot find openssl header files. NetBSD 1.4.2 does
not have ssl in the base system, but I installed the pkg version 0.9.5a.
It worked before when I installed Sendmail 8.11.3.
On another system with 1.5, this sendmail compiles fine and shows the
same cc command as the one that fails here.

This is more urgent because of the security advisory (2001-017) which
urges to upgrade sendmail to 8.11.6. (yes I should have done it sooner,
too).

I don't read tech-pkg currently, I hope it is appropriate to send this
report there.

This is the output from make:

...
Making dependencies in ../obj.NetBSD.1.4.2.i386/sendmail
cc -M -I. -I../../include -DNEWDB -DNIS -DMAP_REGEX  -DNETISO
-DTCPWRAPPERS -I/include -DSTARTTLS -D_FFR_TLS_TOREK  main.c alias.c
arpadate.c bf_torek.c clock.c collect.c conf.c control.c convtime.c
daemon.c deliver.c domain.c envelope.c err.c headers.c macro.c map.c
mci.c milter.c mime.c parseaddr.c queue.c readcf.c recipient.c
savemail.c sfsasl.c shmticklib.c srvrsmtp.c stab.c stats.c sysexits.c
timers.c trace.c udb.c usersmtp.c util.c version.c   >> Makefile
In file included from main.c:30:
sendmail.h:111: openssl/ssl.h: No such file or directory
In file included from alias.c:13:
sendmail.h:111: openssl/ssl.h: No such file or directory
...
many more
...
*** Error code 1

Stop.
Making in ../obj.NetBSD.1.4.2.i386/sendmail
cp /dev/null statistics
cc -O -I. -I../../include -DNEWDB -DNIS -DMAP_REGEX  -DNETISO
-DTCPWRAPPERS -I/include -DSTARTTLS -D_FFR_TLS_TOREK   -c main.c
In file included from main.c:30:
sendmail.h:111: openssl/ssl.h: No such file or directory
*** Error code 1

Stop.

It seems no buildlink system is used for sendmail.

Looking at files/site.config.m4-starttls, it appears that it wants to
add something like -I${LOCALBASE}/include and -L${LOCALBASE}/lib to
command lines, but I only see -I/include above. I suspected the
substitution of ${LOCALBASE} is failing so I used ${PREFIX} instead,
which is used also in the same file for an identical purpose. These
macro invocations are copied, unexpanded, to the file
${WRKSRC}/devtools/Site/site.config.m4 - I suspect that was perhaps not
the expected effect of the author of these files.

Intermediate question: should the LOCALBASE not really be PREFIX here
in any case?

However this also did not work. The only incantation strong enough was
to use /usr/pkg instead of ${LOCALBASE}. That finally fixed the problem
and made a working sendmail, with STARTTLS.

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert - rhialto@polder    -- Ah only did well at school
\X/ land.nl       -- tae git intae an O level class tae git away fae Begbie.