Sendmail Core Dumps and Compiling Sendmail 8.11.7 on AIX 5.2 ml6

From: Michael H. Martel (martelm_at_QUARK.VSC.EDU)
Date: 09/22/05

  • Next message: Mark Schlechte: "Re: Memory added but not all being recognized"
    Date:         Thu, 22 Sep 2005 15:08:04 -0400
    To: aix-l@Princeton.EDU
    
    

    Hello!

    I'm trying to compile sendmail 8.11.7 on my aix 5.2 ml6 test box. I'm
    doing this to try and prove that it's not really the sendmail binary that
    is core dumping on me. SPecifically, the default Sendmail is providing me
    with messages like this periodically.

    LABEL: CORE_DUMP_FAILED
    IDENTIFIER: 45C7A35B

    Date/Time: Thu Sep 22 11:41:15 EDT
    Sequence Number: 3940
    Machine Id: 00C45FBE4C00
    Node Id: eclipse
    Class: S
    Type: PERM
    Resource Name: SYSPROC

    Description
    SOFTWARE PROGRAM ABNORMALLY TERMINATED

    Probable Causes
    INTERNAL SOFTWARE ERROR
    SYSTEM RUNNING OUT OF PAGING SPACE

    User Causes
    USER GENERATED SIGNAL

    Failure Causes
    CORE DUMP FAILED - SEE A REASON CODE BELOW

            Recommended Actions
            DEFINE ADDITIONAL PAGING SPACE
            RERUN THE APPLICATION PROGRAM
            IF PROBLEM PERSISTS THEN DO THE FOLLOWING
            CONTACT APPROPRIATE SERVICE REPRESENTATIVE

    Detail Data
    SIGNAL NUMBER
              11
    USER'S PROCESS ID:
                   5710006
    REASON CODE
               1
    USER ID
            1000
    PROCESSOR ID
               0
    CORE FILE NAME

    PROGRAM NAME
    sendmail

    My first thought was that it was paging space. But I'm in good shape on
    that ( or so I think!) :

    # lsps -a
    Page Space Physical Volume Volume Group Size %Used Active Auto Type
    paging00 hdisk1 rootvg 16384MB 2 yes yes lv
    hd6 hdisk0 rootvg 512MB 64 yes yes lv

    So I started compiling my own Sendmail using the 8.11.7 sources, since I
    don't really want to move to 8.12 or 8.13 . I'm using the IBM C compiler
    and gcc.

    vac.C 6.0.0.12 COMMITTED C for AIX Compiler

    # gcc -v
    Reading specs from /usr/local/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.4/specs
    Configured with: ../gcc-3.3.4/configure --disable-nls
    --enable-languages=c,c++
    Thread model: aix
    gcc version 3.3.4

    If I try and compile with the IBM C compiler I get the following messages
    very quickly :

    make[1]: Entering directory
    `/usr/local/src/sendmail-8.11.7/obj.AIX.5.2.PPC/libsmutil'
    cc -g -I. -I../../sendmail -I../../include -DNDBM -DNIS -D_AIX3
    -DNOT_SENDMAIL -c -o debug.o debug.c
    "../../sendmail/sendmail.h", line 2166.17: 1506-343 (S) Redeclaration of
    unsetenv differs from previous declaration on line 464 of
    "/usr/include/stdlib.h".
    "../../sendmail/sendmail.h", line 2166.17: 1506-050 (I) Return type "void"
    in redeclaration is not compatible with the previous return type "int".
    make[1]: *** [debug.o] Error 1

    In order to get around that, I added this line to my site.config.m4 file :

            APPENDDEF(`confENVDEF', `-DHASUNSETENV')

    Now when I compile it, I get these messages :

    cc -g -I. -I../../sendmail -I../../include -DNDBM -DNIS -D_AIX3
    -DHASUNSETENV -DNOT_SENDMAIL -c -o snprintf.o snprintf.c
    "snprintf.c", line 60.1: 1506-343 (S) Redeclaration of snprintf differs
    from previous declaration on line 267 of "/usr/include/stdio.h".
    "snprintf.c", line 60.1: 1506-378 (I) Prototype for function snprintf
    cannot contain "..." when mixed with a nonprototype declaration.
    "snprintf.c", line 60.1: 1506-376 (I) Redeclaration of snprintf has a
    different number of fixed parameters than the previous declaration.
    make[1]: *** [snprintf.o] Error 1

    If instead of the IBM C compiler I use gcc I get ...

    gcc -g -I. -I../../sendmail -I../../include -DNDBM -DNIS -D_AIX3
    -DNOT_SENDMAIL -c -o debug.o debug.c
    In file included from debug.c:15:
    ../../sendmail/sendmail.h:2166: error: conflicting types for `unsetenv'
    /usr/local/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.4/include/stdlib.h:489:
    error: previous declaration of `unsetenv'
    make[2]: *** [debug.o] Error 1

    Which goes away when I add this line to my site.config.m4:

            APPENDDEF(`confENVDEF', `-DHASUNSETENV')

    Using gcc, it then goes on to compile and work nicely. Except I need to
    add NEWDB support to it. So I compiled and installed the Berkeley Library
    and added it to my sit.config.m4 file as below :

            APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB.4.3/include')
            APPENDDEF(`confLIBDIRS', `-L/usr/local/BerkeleyDB.4.3/lib')

    So now, when I try and compile it, I get :

    gcc -g -I. -I../../sendmail -I../../include
    -I/usr/local/BerkeleyDB.4.3/include -DNEWDB -DNDBM -DNIS -D_AIX3
    -DHASUNSETENV -DNOT_SENDMAIL -c -o smdb2.o smdb2.c
    smdb2.c: In function `smdb_db_open_internal':
    smdb2.c:533: warning: passing arg 2 of pointer to function from
    incompatible pointer type
    smdb2.c:533: error: incompatible type for argument 4 of indirect function
    call
    smdb2.c:533: error: too few arguments to function

    Which looks bad to me. :-)

    Anyone seen this before ?

    Thansk!

    Michael

    --
      --------------------------------o---------------------------------
       Michael H. Martel              | Systems Administrator
       michael.martel@vsc.edu         | Vermont State Colleges
       http://www.vsc.edu/~michael    | PH:802-241-2544 FX:802-241-3363
    

  • Next message: Mark Schlechte: "Re: Memory added but not all being recognized"

    Relevant Pages