RE: OpenDKIM v1.2.0-Beta0 available

From: Murray S. Kucherawy <msk_at_cloudmark.com>
Date: Tue, 24 Nov 2009 11:58:23 -0800

> -----Original Message-----
> From: opendkim-users-bounce_at_lists.opendkim.org [mailto:opendkim-users-
> bounce_at_lists.opendkim.org] On Behalf Of Jose-Marcio Martins da Cruz
> Sent: Tuesday, November 24, 2009 11:50 AM
> To: Murray S. Kucherawy
> Cc: opendkim-users_at_lists.opendkim.org
> Subject: Re: OpenDKIM v1.2.0-Beta0 available
>
> I have some problems compiling opendkim under Solaris10 on a sparc
> T2000.
>
> I'm trying to compile it with my own openssl installation (the one from
> Solaris is too old). Openssl libraries are the static versions.
>
> I'm using Sun CC, not gcc.
>
> So, if I launch just "configure", it rants with things like :
>
> checking openssl/ssl.h usability... yes
> checking openssl/ssl.h presence... no
> configure: WARNING: openssl/ssl.h: accepted by the compiler, rejected
> by
> the preprocessor!
> configure: WARNING: openssl/ssl.h: proceeding with the compiler's
> result
> checking for openssl/ssl.h... yes
>
> and ends with :
>
> configure: error: Cannot build shared opendkim against
> static openssl libaries. Configure with
> --disable-shared to get this working or
> obtain a shared libssl libary for
> opendkim to use.
>
> at config.log, I find :
>
> configure:14600: checking openssl/ssl.h usability
> configure:14617: cc -xc99=all -c -I/usr/local/ssl/include -g
> conftest.c >&5
> configure:14624: $? = 0
> configure:14638: result: yes
> configure:14642: checking openssl/ssl.h presence
> configure:14657: cc -xc99=all -E conftest.c
> "conftest.c", line 77: cannot find include file: <openssl/ssl.h>

I tested this on Solaris 10 x86 yesterday and didn't have this problem. However, I was using the /usr/sfw installation. I'll try to simulate your situation.

Where are your SSL includes if not at /usr/local/ssl/include? ./configure appeared to find them for the tests above.

>
> ********************************************************************
>
> Well, launching "./configure --disable-shared", doesn't work either :
>
> checking openssl/ssl.h usability... yes
> checking openssl/ssl.h presence... no
> configure: WARNING: openssl/ssl.h: accepted by the compiler, rejected
> by
> the preprocessor!
> configure: WARNING: openssl/ssl.h: proceeding with the compiler's
> result
> checking for openssl/ssl.h... yes
> checking for library containing ERR_peek_error... -lcrypto
> checking for library containing SSL_library_init... no
> checking for library containing SSL_library_init... no
> configure: error: libssl not found

I think the warnings are an artifact of the Sun C compiler, not an actual problem. I don't get that warning on any of my other test systems.

> although it seems to find the good ssl installation, it rants against
> headers and the library, which it doesn't find.
>
> configure:14980: cc -xc99=all -o conftest -I/usr/local/ssl/include -g
> -L/usr/lo
> cal/ssl/lib -lssl -lcrypto conftest.c -lssl -ldl -lcrypto >&5
> "conftest.c", line 91: warning: statement not reached
> Undefined first referenced
> symbol in file
> socket /usr/local/ssl/lib/libcrypto.a(rand_egd.o)
> connect /usr/local/ssl/lib/libcrypto.a(rand_egd.o)
> shutdown /usr/local/ssl/lib/libcrypto.a(bss_sock.o)
> ld: fatal: Symbol referencing errors. No output written to conftest

This is probably a bug in our configure script; when checking for libcrypto, it needs to try with other libraries it had discovered before (e.g. libsocket). We're probably dropping them to try to isolate which specific libraries are needed to resolve specific libcrypto symbols. I'll send you a revised configure script to try shortly.

> *********************************************************************
>
> Well, another step is (which doesn't work either) :
>
> ./configure --disable-shared --with-openssl=/usr/local/ssl \
> LDFLAGS="-lnsl -lsocket"
>
> which solves the problem with libssl, but the warnings about ssl
> headers
> remains.

I don't think the warnings are a cause for alarm.

> ********************************************************************
>
> Finally, what works is :
>
> ./configure --disable-shared \
> --with-openssl=/usr/local/ssl \
> --with-db=/usr/local/BerkeleyDB.4.5 \
> CPPFLAGS="-I/usr/local/ssl/include" \
> LDFLAGS="-lnsl -lsocket"
>
> But I have a lots of warnings when compiling, given signed against
> unsigned chars on prototypes and function calls.

Yes, I know about these. It would take quite some time to clean up all of the signed/unsigned warnings. I may not get that done before 1.2.0 goes out but I'll open a bug about it so it gets fixed sooner rather than later.
Received on Tue Nov 24 2009 - 19:58:32 PST

This archive was generated by hypermail 2.3.0 : Mon Oct 29 2012 - 23:16:46 PST