Re: [exim] Exim 4.96 compile fails on Devuan 4

Top Page
Delete this message
Reply to this message
Author: Andrew C Aitchison
Date:  
To: Mike Tubby
CC: exim-users
Subject: Re: [exim] Exim 4.96 compile fails on Devuan 4
On Sun, 11 Sep 2022, Mike Tubby via Exim-users wrote:

> On 11/09/2022 22:15, Andrew C Aitchison via Exim-users wrote:
>> On Sun, 11 Sep 2022, Mike Tubby via Exim-users wrote:
>>
>>> Hi all,
>>>
>>> Compiling Exim 4.96 fails on Devuan 4.0 Chimaera (basically Debian but
>>> without systemd).
>>>
>>> Firstly it complained that I didn't have "pcre2.h" - which it has never
>>> asked for before:
>>>
>>>     /bin/sh ../scripts/Configure-os.h
>>>     cc -DMACRO_PREDEF macro_predef.c
>>>     In file included from macro_predef.c:12:
>>>     exim.h:527:10: fatal error: pcre2.h: No such file or directory
>>>       527 | #include <pcre2.h>
>>>           |          ^~~~~~~~~
>>>     compilation terminated.
>>>
>>> so I did:
>>>
>>>     root@relay1:/home/mike/exim-4.96# apt-cache search pcre2
>>>     elpa-pcre2el - Emacs mode to convert between PCRE, Emacs and rx regexp
>>> syntax
>>>     libpcre2-16-0 - New Perl Compatible Regular Expression Library - 16
>>> bit runtime files
>>>     libpcre2-32-0 - New Perl Compatible Regular Expression Library - 32
>>> bit runtime files
>>>     libpcre2-8-0 - New Perl Compatible Regular Expression Library- 8 bit
>>> runtime files
>>>     libpcre2-dev - New Perl Compatible Regular Expression Library -
>>> development files
>>>     libpcre2-posix2 - New Perl Compatible Regular Expression Library -
>>> posix-compatible runtime files
>>>     libpcre3 - Old Perl 5 Compatible Regular Expression Library - runtime
>>> files
>>>     libpcre3-dev - Old Perl 5 Compatible Regular Expression Library -
>>> development files
>>>     librust-grep-pcre2-dev - Use PCRE2 with the 'grep' crate - Rust source
>>> code
>>>     librust-pcre2-dev - High level wrapper library for PCRE2 - Rust source
>>> code
>>>     librust-pcre2-sys-dev - Low level bindings to PCRE2 - Rust source code
>>>     pcre2-utils - New Perl Compatible Regular Expression Library -
>>> utilities
>>>     root@relay1:/home/mike/exim-4.96#
>>>
>>> and installed the bits I thought I needed:
>>>
>>>     root@relay1:/home/mike/exim-4.96# apt-get install libpcre2-dev libpcre2-posix2
>>>     Reading package lists... Done
>>>     Building dependency tree... Done
>>>     Reading state information... Done
>>>     The following additional packages will be installed:
>>>       libpcre2-16-0 libpcre2-32-0
>>>     The following NEW packages will be installed:
>>>       libpcre2-16-0 libpcre2-32-0 libpcre2-dev libpcre2-posix2
>>>     0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
>>>     Need to get 1,231 kB of archives.

              ...             ...

>>> Now hen I compile I get:
>>>
>>>     cc spool_mbox.c
>>>     cc arc.c
>>>     cc bmi_spam.c
>>>     cc dane.c
>>>     cc dcc.c
>>>     cc dmarc.c
>>>     cc imap_utf7.c
>>>     cc spf.c
>>>     cc utf8.c
>>>     cc version.c
>>>     cc -o exim


>>> Can't seem to find what's missing ... any ideas?


Are you trying to build the Exim.org or the Debian way ?

If Debian, I would start with
    sudo apt-get build-dep exim4
which ought to install the dependencies for you.


---------------------------------

I note that between 4.95 and 4.96
src/EDITME
changes include:

471,472c471,472
< PCRE_CONFIG=yes
< # PCRE_LIBS=-lpcre
---
> PCRE2_CONFIG=yes
> # PCRE_LIBS=-lpcre2


Have you included this change in exim-4.96/Local/Makefile ?

If you are using the Exim source, do you have
    pcre2-config
in your path ?


Unfortunately your build logs seem to hide the link line arguments,
so I cannot see how it is trying to include the pcre2 library.

> doing a "make clean" and a "make" results in:
>
> <snip> // lots of good stuff
>
> x86_64-linux-gnu-gcc perl.c
> cc malware.c
> cc mime.c
> cc regex.c
> cc spam.c
> cc spool_mbox.c
> cc arc.c
> cc bmi_spam.c
> cc dane.c
> cc dcc.c
> cc dmarc.c
> cc imap_utf7.c
> cc spf.c
> cc utf8.c
> cc version.c
> cc -o exim


I would like to see the arguments to the line above :-)

-- 
Andrew C. Aitchison                      Kendal, UK
                    andrew@???