fetchmail-friends
[Top] [All Lists]

[fetchmail]Configure problems on Solaris with fetchmail 5.9.7

2002-02-04 11:33:07
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
     |

Attachment: fetchmail-5.9.7.patch
Description: Text document

<Prev in Thread] Current Thread [Next in Thread>
  • [fetchmail]Configure problems on Solaris with fetchmail 5.9.7, Drazen Kacar <=