Re: OpenDKIM 2.9.0 build issues on CentOS 6.5

From: Patrick Lists <opendkim-list_at_puzzled.xs4all.nl>
Date: Tue, 14 Jan 2014 17:45:15 +0100

Hi Murray,

Thank you for your feedback. Comments inline, including links to all the
files bugs.

On 14-01-14 10:09, Murray S. Kucherawy wrote:
> In addition to the open tasks request:
>
> On Tue, 14 Jan 2014, Patrick Lists wrote:
>> 1) --disable-rpath
>>
>> This does not seem to work as rpmbuild still fails saying it has
>> detected rpaths:
>
> It would be helpful to have at least "config.log" for this one, or
> possibly a complete build transcript, attached to the bug.

https://sourceforge.net/p/opendkim/bugs/189/ with config.log attached.


>> 2) --enable-socketdb
>>
>> gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I./../libopendkim
>> -I/usr/include -I/usr/include -I/usr/local/include -I/usr/include
>> -I/usr/include -I/usr/include -DCONFIG_BASE=\"/etc\" -O2 -g -pipe
>> -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
>> --param=ssp-buffer-size=4 -m64 -mtune=generic -MT
>> opendkim_genzone-opendkim-db.o -MD -MP -MF
>> .deps/opendkim_genzone-opendkim-db.Tpo -c -o
>> opendkim_genzone-opendkim-db.o `test -f 'opendkim-db.c' || echo
>> './'`opendkim-db.c
>> opendkim-db.c: In function 'dkimf_db_open':
>>
>> [snip warnings]
>>
>> opendkim-db.c:3193: error: 'struct sockaddr_un' has no member named
>> 'sun_len'
>
> Easy fix; it's already there for miltertest, just not for this file.

https://sourceforge.net/p/opendkim/bugs/190/


>> opendkim-db.c:5084: error: 'memcached_return_t' undeclared (first use
>> in this function)
>> opendkim-db.c:5084: error: (Each undeclared identifier is reported
>> only once
>> opendkim-db.c:5084: error: for each function it appears in.)
>> opendkim-db.c:5084: error: expected ';' before 'ret'
>> opendkim-db.c:5097: error: 'ret' undeclared (first use in this function)
>
> This seems to be the same as your third case:

Yes, I pasted too much.

>
>> 3) --with-libmemcached results in the following compilation failure:
>>
>> gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I./../libopendkim
>> -I/usr/include -I/usr/include -I/usr/local/include -I/usr/include
>> -I/usr/include -I/usr/include -DCONFIG_BASE=\"/etc\" -O2 -g -pipe
>> -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
>> --param=ssp-buffer-size=4 -m64 -mtune=generic -MT
>> opendkim_genzone-opendkim-db.o -MD -MP -MF
>> .deps/opendkim_genzone-opendkim-db.Tpo -c -o
>> opendkim_genzone-opendkim-db.o `test -f 'opendkim-db.c' || echo
>> './'`opendkim-db.c
>>
>> [snip warnings]
>>
>> opendkim-db.c:5084: error: 'memcached_return_t' undeclared (first use
>> in this function)
>> opendkim-db.c:5084: error: (Each undeclared identifier is reported
>> only once
>> opendkim-db.c:5084: error: for each function it appears in.)
>> opendkim-db.c:5084: error: expected ';' before 'ret'
>> opendkim-db.c:5097: error: 'ret' undeclared (first use in this function)
>> opendkim-db.c: In function 'dkimf_db_walk':
>> opendkim-db.c:6258: warning: unused variable 'databuf'
>> make[3]: *** [opendkim_genzone-opendkim-db.o] Error 1

https://sourceforge.net/p/opendkim/bugs/191/


> Which version of libmemcached are you using?

$ rpm -qa | grep memcache
libmemcached-devel-(none):0.31-1.1.el6.x86_64
libmemcached-(none):0.31-1.1.el6.x86_64

> The documentation at
> libmemcached.org suggests this is still correct, though I last tried it
> against 0.48 and it looks like upgrading will be a pain.

Version 0.31 looks more like downgrading :-P

>
>> 4) --with-libevent fails to detect installed libevent, libevent-devel
>> and libevent-headers
>
> It doesn't try because I don't know what names those RPMs export such
> that pkg-config could be used.

The libevent RPMs do not have a libevent.pc so I guess it requires
manual search like it already does for lua, openldap and cyrussassl.
Example output from configure:

configure: WARNING: pkg-config for Lua not found, trying manual search...
checking for Lua... /usr
checking Lua version... ok

> Right now configure doesn't check
> "lib64" which it appears you're using, which is the problem on your
> machine.

Isn't it a problem on every x86_64 machine?

Digging into the problem I think I found the cause. The function that
configure checks for, event_enable_debug_mode, seems only present in
libevent2 and not in libevent 1.4.13 which ships with EL6.5.

https://sourceforge.net/p/opendkim/bugs/192/

Googling around it seems that configure* uses the evutil_vsnprintf
function to test for the presence of libevent-1.x.x. For example here:
https://trac.transmissionbt.com/changeset/8625/trunk/configure.ac

> What name should I be passing to PKG_CHECK_MODULES to get
> these right?

No idea. My auto* foo is not sufficient.

Regards,
Patrick



Received on Tue Jan 14 2014 - 16:45:42 PST

This archive was generated by hypermail 2.3.0 : Tue Jan 14 2014 - 16:54:02 PST