Re: [exim-dev] Loadable lookup modules with Exim 4 for easie…

Top Page
Delete this message
Reply to this message
Author: Tony Finch
Date:  
To: Tim Jackson
CC: exim-dev
Subject: Re: [exim-dev] Loadable lookup modules with Exim 4 for easier packaging(dlopen)
On Thu, 15 Dec 2005, Tim Jackson wrote:
>
> I've now adapted Steve's patch to Exim 4 (4.52 as it happens) as a
> proof-of-concept. It attempts to split out MySQL functionality in a
> separate module. After some work, I've got it to the stage where Exim
> builds, you get a separate mysql.so and this is dlopen()'d when Exim
> starts. However, I have run into a bit of a brick wall and my complete
> lack of knowledge or experience in this area means I'm not sure what to
> do. Here's the deal:
>
> [exim-4.52]$ ./build-Linux-i386/exim -C src/configure.default
> Error loading mysql.so: /path/to/exim-4.52/build-Linux-i386/lookups/
> mysql.so: undefined symbol: debug_selector


The documentation for ${dlfunc says:

When compiling a function that is to be used in this way with gcc, you
need to add -shared to the gcc command. Also, in the Exim build-time
configuration, you must add -export-dynamic to EXTRALIBS.

The same would be true for your ${lookup patch. Does this help?

Tony.
--
<fanf@???> <dot@???> http://dotat.at/ ${sg{\N${sg{\
N\}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}\
\N}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}