Hello,
I've tried to install fetchmail 5.9.7 on Solaris 8 and foud some small
problems.
1. configure test for mmap() fails. Message in config.log:
"configure", line 2497: identifier redeclared: malloc
current : function() returning pointer to char
previous: function(unsigned int) returning pointer to void :
"/usr/include/iso/stdlib_iso.h", line 105
cc: acomp failed for conftest.c
configure: failed program was:
This is because the configure test declares malloc() in the wrong way.
I removed the declaration from the configure script and the test
passed.
2. Check for MD5Init() fails, although Solaris 8 has that function in
libmd5. configure script didn't even try to look there. However,
Solaris MD5 implementation is not API compatible with GNU
implementation and neither of them are API compatible with the
implementation in OpenSSL. The functions do the same thing, but the
problem is in the namespace conflicts. It's rather tricky to implement
that correctly, but I think wget managed, so you could take the
implementation from the latest wget version.
It would be nice if fetchmail on SPARC v9 Solaris used the native MD5
implementation, because MD5 algorithm is biased towards little endian
processors. The native library uses some assembly to achieve better
performance.
3. configure script honoured CPPFLAGS environment variable for various
checks, but that setting was not copied into the Makefile, so the
compilation failed because of that.
4. There was a failed configure check:
checking for inet_aton... no
That's fine, as Solaris doesn't have inet_aton among documented
interfaces. However, IPv6 enabled OS versions have inet_pton() and you
get inet_aton() from that like this:
#define inet_aton(x, y) inet_pton(AF_INET, x, y)
so you might want to add inet_pton check.
5. OpenSSL detection could stand some improvement. My instalation has
headers available with -I/usr/local/include and libraries available
with -L/usr/local/lib. I did that so that programs which want to use
OpenSSL wouldn't have hard time finding it.
However, fetchmail has some artificial inteligence which fails
miserably.
Headers and libraries were available without any special settings. The
configure script should have checked for that condition before
anything else. But it didn't. It first tried to check if OpenSSL lives
in /usr/local/ssl. It falsly concluded that it's there, because it was
available by default.
So it added -I/usr/local/ssl/include. That wouldn't be so bad because
that directory just doesn't exist, but since it also removed
-I/usr/local/include from my CPPFLAGS (problem 3 above), the compilation
failed.
6. At one place the compiler refused to handle string literal with
newline. The error message was:
"env.c", line 72: newline in string literal
The trivial patch (attached) fixes that.
7. --with-gss check failed. Solaris 8 does have GSS implementation, so
that shouldn't be the case. The error message was:
checking for gss_init_sec_context in -lgssapi_krb5... no
That function on Solaris is in libgss. I don't know if the GSS
implementation in fetchmail requires gssapi_krb5 library (I've never
heard of it) or it would work with any compliant GSS implementation.
If it requires gssapi_krb5, it would be nice if "configure --help"
message said that. If it would work with any GSS implementation, I
suppose you should add the check for libgss.
--
.-. .-. I don't think for my employer.
(_ \ / _)
| dave(_at_)willfork(_dot_)com
|
fetchmail-5.9.7.patch
Description: Text document