Compile error

General
2005-07-19
2013-04-23
  • CUTTHEMUSIC
    CUTTHEMUSIC
    2005-07-19

    When I attempt to compile I get the following.

    dk-filter.c:44:26: openssl/bio.h: No such file or directory

    dk-filter.c:45:26: openssl/evp.h: No such file or directory

    dk-filter.c: In function `dkf_report':

    dk-filter.c:1174: `BIO' undeclared (first use in this function)

    dk-filter.c:1174: (Each undeclared identifier is reported only once

    dk-filter.c:1174: for each function it appears in.)

    dk-filter.c:1174: `b64' undeclared (first use in this function)

    dk-filter.c:1175: `bout' undeclared (first use in this function)

    dk-filter.c:1269: `BIO_NOCLOSE' undeclared (first use in this function)

    dk-filter.c: In function `main':

    dk-filter.c:3725: incompatible type for argument 4 of indirect function call

    dk-filter.c:3725: too many arguments to function

    make[1]: *** [dk-filter.o] Error 1

    make[1]: Leaving directory `/usr/local/src/dk-milter-0.3.0/obj.Linux.2.4.20-8.i686/dk-filter'

    make: *** [all] Error 2

     
    • You either don't have OpenSSL installed, or you haven't told the build scripts where they are.

      Read the INSTALL file for instructions on building.  It mentions files you have to edit to indicate this information to the build system before compiling.

       
    • CUTTHEMUSIC
      CUTTHEMUSIC
      2005-07-19

      Murray,
      That is what I find strange. I verified that I have OpenSSL and I have edited the files to reflect the location and still I have build errors.

       
    • Do you see the files it's looking for matching the command line?

      e.g. if you can see /usr/local/ssl/include/openssl/pem.h, then you should see -I/usr/local/ssl/include in your build command.

       
    • CUTTHEMUSIC
      CUTTHEMUSIC
      2005-07-19

      I'm not sure if I understand exactly what you are asking.

      I am able to confirm that the below files both exist
      /usr/local/ssl/include/openssl/bio.h
      /usr/local/ssl/include/openssl/evp.h

      Here is the path from dk-filter/Makefile.m4
      dnl APPENDDEF(`confINCDIRS', `-I/usr/local/ssl/include')
      dnl APPENDDEF(`confLIBDIRS', `-L/usr/local/ssl/lib')

      And here is the path from libdk/Makefile.m4
      dnl Enable and edit this as appropriate for your system:
      APPENDDEF(`confINCDIRS', `-I/usr/local/ssl/include')

       
    • "dnl" means "delete to newline" in m4 lingo.  Therefore the two lines you cited on dk-filter/Makefile.m4 are effectively commented-out.

      Remove the "dnl"s on the two APPENDDEF lines, and do "sh Build -c" in the dk-filter directory to start fresh with the modified Makefile.m4.

       
    • CUTTHEMUSIC
      CUTTHEMUSIC
      2005-07-19

      Ok, no I have another problem

      ./t-shm
      2 of 2 tests completed successfully
      5 of 5 tests completed successfully
      ============================================================
      cc -O2 -I. -I../../include  -DNEWDB       -c -o t-sem.o t-sem.c
      cc -o t-sem   t-sem.o libsm.a   -ldb -lresolv -lcrypt -lnsl -ldl
      ============================================================
      ./t-sem
      This test takes about 8 seconds.
      If it takes longer than 30 second, please interrupt it
      and compile again without semaphore support, i.e.,-DSM_CONF_SEM=0
      3 of 3 tests completed successfully
      6 of 6 tests completed successfully
      ============================================================
      cc -O2 -I. -I../../include  -DNEWDB       -c -o t-cf.o t-cf.c
      cc -o t-cf   t-cf.o libsm.a   -ldb -lresolv -lcrypt -lnsl -ldl
      cc -O2 -I. -I../../include  -DNEWDB       -c -o b-strcmp.o b-strcmp.c
      cc -o b-strcmp   b-strcmp.o libsm.a   -ldb -lresolv -lcrypt -lnsl -ldl
      make[1]: Leaving directory `/usr/local/src/dk-milter-0.3.0/obj.Linux.2.4.20-8.i686/libsm'
      cc -O2 -I. -I../../include  -I/usr/local/ssl/include -I../libdk/  -I/usr/local/sendmail/include -I/usr/local/BerkeleyDB/include -D_FFR_EXTERNAL_IGNORE_LIST  -D_FFR_FLUSH_HEADERS  -D_FFR_MACRO_LIST  -D_FFR_MULTIPLE_KEYS  -D_FFR_REPORTINFO  -D_FFR_REQUIRED_HEADERS  -D_FFR_SELECT_CANONICALIZATION  -DPOPAUTH   -D_REENTRANT -DXP_MT   -c -o dk-filter.o dk-filter.c
      dk-filter.c: In function `main':
      dk-filter.c:3725: incompatible type for argument 4 of indirect function call
      dk-filter.c:3725: too many arguments to function
      make: *** [dk-filter.o] Error 1
      [root@mail2 dk-filter]#

       
    • Sorry for the delayed response.  I don't check the forums all that often.  If you want quicker responses, I'd suggest opening a tracker item since those are mailed to me.

      This is an incompatibility with libdb.  Which version of libdb do you have installed?