[exim-dev] Compile error on newer OpenBSD

Top Page
Delete this message
Reply to this message
Author: Todd Lyons
Date:  
To: exim-dev
Subject: [exim-dev] Compile error on newer OpenBSD
OpenBSD 5.5 was released on May 1 2014. In it, there appears to be
movement on deprecating arc4random_* function calls. A build client
builds all of the object files correctly, but is failing to link the
final exim binary with the following error:


ccache gcc -o exim  acl.o child.o crypt16.o daemon.o dbfn.o debug.o
deliver.o directory.o dns.o drtables.o enq.o exim.o expand.o filter.o
filtertest.o globals.o dkim.o header.o host.o ip.o log.o lss.o match.o
moan.o os.o parse.o queue.o rda.o readconf.o receive.o retry.o
rewrite.o rfc2047.o route.o search.o sieve.o smtp_in.o smtp_out.o
spool_in.o spool_out.o std-crypto.o store.o string.o tls.o tod.o
transport.o tree.o verify.o lookups/lf_quote.o lookups/lf_check_file.o
lookups/lf_sqlperform.o local_scan.o  malware.o mime.o regex.o spam.o
spool_mbox.o demime.o bmi_spam.o spf.o srs.o dcc.o dmarc.o version.o \
  routers/routers.a transports/transports.a lookups/lookups.a \
  auths/auths.a pdkim/pdkim.a \
   -lm    \
      \
    -L/usr/local/lib -Wl,-R/usr/local/lib -lpcre
acl.o(.text+0xe7): In function `acl_var_create':
: warning: strcpy() is almost always misused, please use strlcpy()
filter.o(.text+0x1a2d): In function `read_command_list':
: warning: strcat() is almost always misused, please use strlcat()
daemon.o(.text+0xb55): In function `daemon_go':
: warning: sprintf() is often misused, please use snprintf()
expand.o(.text+0x24c8): In function `vaguely_random_number':
: undefined reference to `arc4random_stir'
collect2: ld returned 1 exit status
Makefile:416: recipe for target 'exim' failed
gmake[1]: *** [exim] Error 1
gmake[1]: Leaving directory
'/home/farm/buildfarm/HEAD/exim.23119/src/build-OpenBSD-amd64'
Makefile:29: recipe for target 'all' failed
gmake: *** [all] Error 2


I hesitate to remove the "#define HAVE_ARC4RANDOM" from the
OS/os.h-OpenBSD because I don't want to break building on the older
versions. Anybody have suggestions of how to best fix it?

...Todd


--
The total budget at all receivers for solving senders' problems is $0.
If you want them to accept your mail and manage it the way you want,
send it the way the spec says to. --John Levine