ClamAV does not compile cleanly on Solaris with cc... I needed to patch
the following files:

*** ./libclamav/md5.c_orig      Wed Nov 13 11:17:24 2002
--- ./libclamav/md5.c   Wed Nov 13 11:22:42 2002
***************
*** 220,226 ****
--- 220,230 ----
        size_t add = 128 - left_over > len ? len : 128 - left_over;

        /* Only put full words in the buffer.  */
+ #if defined(__SUNPRO_C)
+       add -= add % 4;
+ #else
        add -= add % __alignof__ (md5_uint32);
+ #endif

        memcpy (&ctx->buffer[left_over], buffer, add);
        ctx->buflen += add;



*** ./libclamav/md5.h_orig      Wed Nov 13 11:08:29 2002
--- ./libclamav/md5.h   Wed Nov 13 11:16:01 2002
***************
*** 87,93 ****

    md5_uint32 total[2];
    md5_uint32 buflen;
! #ifdef C_DARWIN
    char buffer[128];
  #else
    char buffer[128] __attribute__ ((__aligned__ (__alignof__ (md5_uint32))));
--- 87,93 ----

    md5_uint32 total[2];
    md5_uint32 buflen;
! #if defined(C_DARWIN) || defined(__SUNPRO_C)
    char buffer[128];
  #else
    char buffer[128] __attribute__ ((__aligned__ (__alignof__ (md5_uint32))));

I used the following environment to help configure:

LDFLAGS=-L/opt/zlib-1.1.4/lib -R/opt/zlib-1.1.4/lib
CFLAGS=-D_REENTRANT -I/opt/zlib-1.1.4/include
CPPFLAGS=-D_REENTRANT -I/opt/zlib-1.1.4/include

and used the following configure command:

./configure --prefix=/opt/clamav-0.54

Note the use of "-D_REENTRANT"... this is probably a good idea in general
for compiling a multi-threaded program on Solaris (i.e. can we auto-add
this flag on Solaris during configure run?).  "-D_REENTRANT" is probably
the best way to get string.h to emit the prototype for strtok_r()...
otherwise, libclamav/mbox.c "breaks" having no prototype for strtok_r().

Many of the files in libclamav/zziplib have ^M (control-M) at the end of
the lines so I had to wash them through "dos2unix".  It'd be nice to fix
this because the Sun compiler likes linefeeds-only source code.

        Ed

Ed Phillips <[EMAIL PROTECTED]> University of Delaware (302) 831-6082
Systems Programmer III, Network and Systems Services
finger -l [EMAIL PROTECTED] for PGP public key

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Reply via email to