#119 Install DKim, got 2 errors

v2.8.1
closed-invalid
5
2009-01-19
2009-01-19
Nick Nguyen
No

Hi, I installed dkim-milter-2.8.1 on my 32 bit centos 5.3 server and I got two errors.

I did the following steps:

#cd /usr/src
#wget <http://sourceforge.net/projects/dkim...r-2.8.1.tar.gz
#tar -xzvf dkim-milter-2.8.1.tar.gz
#cd dkim-milter-2.8.1
#vim site.config.m4.dist

dnl Build options for dkim-milter package
dnl ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

dnl Any options you set here are applied to all subdirectories of this
dnl build. Also, you may override or augment the defaults of any of the
dnl values described in devtools/README by setting your preferred values
dnl in this file.

dnl Debug binary
dnl
dnl If you are encountering coredumps and want to be able to analyze them
dnl using something like "gdb", enable this next line by deleting the "dnl"
dnl at the front of it.
dnl define(`confOPTIMIZE', `-g')
define(`confOPTIMIZE', `-g')
dnl Shared library for libdkim
dnl
dnl If you want libdkim to be built as a shared object library in addition
dnl to a static library, enable this next line by deleting the "dnl" at the
dnl front of it.
dnl define(`bld_LIBDKIM_SHARED', `true')
define(`bld_LIBDKIM_SHARED', `true')
dnl Installation for libdkim and dkim.h
dnl
dnl If you want libdkim and dkim.h to be installed when you install
dnl the package, enable this next line by deleting the "dnl" at the front
dnl of it. This is done automatically if you've requested the shared
dnl library.
dnl define(`bld_LIBDKIM_INSTALL', `true')
define(`bld_LIBDKIM_INSTALL', `true')
dnl Faster strtoul()/strtoull() implementations
dnl
dnl Some vendor implementations of strtoul() and strtoull() are slow.
dnl A version has been contributed which optimizes away the slow bits.
dnl If you'd like to use it, enable this next line by deleting the "dnl"
dnl at the front of it.
dnl APPENDDEF(`confENVDEF', `-DNEED_FAST_STRTOUL')
APPENDDEF(`confENVDEF', `-DNEED_FAST_STRTOUL')
dnl libar -- asynchronous resolver library
dnl
dnl If you want to use the provided asynchronous resolver library, enable this
dnl next line by deleting the "dnl" at the front of it.
dnl define(`bld_USE_ARLIB', `true')
define(`bld_USE_ARLIB', `true')
dnl
dnl libar normally uses res_init() or res_ninit() to load the contents
dnl of resolv.conf for its use. If neither of these work on your system
dnl in multi-threaded programs (e.g. OpenBSD 3.7 and later), then you
dnl may need to enable code that parses that file manually. This will
dnl also be required if you've got any IPv6 addresses in /etc/resolv.conf.
dnl In that case, enable this next line by deleting the "dnl" at the front
dnl of it.
dnl APPENDDEF(`conf_libar_ENVDEF', `-DAR_RES_MANUAL')
APPENDDEF(`conf_libar_ENVDEF', `-DAR_RES_MANUAL')
dnl libunbound -- "unbound" asynchronous resolver library
dnl
dnl If you want to use the "unbound" asynchronous resolver library, enable this
dnl next line by deleting the "dnl" at the front of it.
dnl define(`bld_USE_UNBOUND', `true')
define(`bld_USE_UNBOUND', `true')
dnl
dnl You will also need to acquire and make available the "unbound"
dnl library. You can find it at http://unbound.net.
dnl
dnl Finally, you may need to enable and adjust these so that the build
dnl can find your installation.
dnl APPENDDEF(`confINCDIRS', `-I/usr/local/unbound/include ')
dnl APPENDDEF(`confLIBDIRS', `-L/usr/local/unbound/lib ')
APPENDDEF('confINCDIRS', '-I/usr/local/include ')
APPENDDEF('confLIBDIRS', '-L/usr/local/lib ')
dnl POPAUTH -- POP-before-SMTP authentication
dnl
dnl If you use any POP-before-SMTP authentication, dkim-filter can
dnl query that database to see if a client sending a message for signing
dnl is legitimate, enable this next line by deleting the "dnl" at the
dnl front of it. Also see the section below called "BerkeleyDB".
dnl APPENDDEF(`conf_dkim_filter_ENVDEF', `-DPOPAUTH ')
APPENDDEF(`conf_dkim_filter_ENVDEF', `-DPOPAUTH ')
dnl QUERY_CACHE -- Query caching
dnl
dnl If you would like libdkim to maintain a cache of key and policy records
dnl it has seen, rather than relying on the DNS server to provide caching,
dnl enable this next line by deleting the "dnl" at the front of it. Also
dnl see the section below called "BerkeleyDB".
dnl APPENDDEF(`confENVDEF', `-DQUERY_CACHE ')

dnl BerkeleyDB -- Berkeley DB ("Sleepycat") database
dnl
dnl Several optional features in this package need the Berkeley DB library.
dnl These include: POPAUTH, QUERY_CACHE, _FFR_BODYLENGTH_DB, _FFR_STATS
dnl
dnl Sometimes this is built into your libc, but perhaps not, or perhaps
dnl you have a newer version that you want to use. If that's the case,
dnl edit the following lines as needed and enable the ones that apply
dnl by deleting "dnl" from the front of them:
dnl APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB/include ')
dnl APPENDDEF(`confLIBDIRS', `-L/usr/local/BerkeleyDB/lib ')
dnl APPENDDEF(`confLIBS', `-ldb ')

dnl OpenSSL -- cryptography library
dnl
dnl DKIM requires several algorithms provided by this library. You must
dnl have v0.9.8 or later for SHA256 support. If necessary, enable these
dnl lines by deleting "dnl" from the front of them and edit paths as needed.
dnl APPENDDEF(`confINCDIRS', `-I/usr/local/ssl/include ')
dnl APPENDDEF(`confLIBDIRS', `-L/usr/local/ssl/lib ')
APPENDDEF('confINCDIRS', '-I/usr/include/openssl ')
APPENDDEF(`confLIBDIRS', `-L/usr/lib ')
dnl TRE -- Approximate regular expression matching
dnl
dnl If you want to use the dkim_diffheaders() function, you also need
dnl to have the "tre" library and its header files installed. If necessary,
dnl enable these lines by deleting "dnl" from the front of them and edit
dnl paths as needed.
dnl APPENDDEF(`confINCDIRS', `-I/usr/local/include/tre ')
dnl APPENDDEF(`confLIBDIRS', `-L/usr/local/lib/tre ')
dnl APPENDDEF(`confLIBS', `-ltre ')

dnl Code For Future Release (FFRs):
dnl
dnl See the FEATURES file for descriptions of the features available
dnl as options. Many of these are untested and/or undocumented, so use
dnl at your own risk. To enable one, delete "dnl" from the front of its
dnl line.
dnl
dnl APPENDDEF(`confENVDEF', `-D_FFR_BODYLENGTH_DB ')
dnl APPENDDEF(`confENVDEF', `-D_FFR_CAPTURE_UNKNOWN_ERRORS ')
dnl APPENDDEF(`confENVDEF', `-D_FFR_COMMAIZE ')
dnl APPENDDEF(`confENVDEF', `-D_FFR_DIFFHEADERS ')
dnl APPENDDEF(`confENVDEF', `-D_FFR_DKIM_REPUTATION ')
dnl APPENDDEF(`confENVDEF', `-D_FFR_DNS_UPGRADE ')
dnl APPENDDEF(`confENVDEF', `-D_FFR_MULTIPLE_SIGNATURES ')
dnl APPENDDEF(`confENVDEF', `-D_FFR_PARSE_TIME ')
dnl APPENDDEF(`confENVDEF', `-D_FFR_REPLACE_RULES ')
dnl APPENDDEF(`confENVDEF', `-D_FFR_REPORT_INTERVALS ')
dnl APPENDDEF(`confENVDEF', `-D_FFR_SELECT_CANONICALIZATION ')
dnl APPENDDEF(`confENVDEF', `-D_FFR_SELECTOR_HEADER ')
dnl APPENDDEF(`confENVDEF', `-D_FFR_STATS ')
dnl APPENDDEF(`confENVDEF', `-D_FFR_VBR ')
dnl APPENDDEF(`confENVDEF', `-D_FFR_ZTAGS ')

dnl DomainKeys -- Yahoo DomainKeys verification support
dnl
dnl If you also want to verify messages signed with DomainKeys, enable this
dnl line by deleting "dnl" from the front of it. See also the README as it
dnl requires an additional library not included in this package.
dnl define(`bld_VERIFY_DOMAINKEYS', `true')

dnl libmilter -- Sendmail's milter library
dnl
dnl This must be in the search rules for your compile. If necessary,
dnl adjust the paths below and enable the lines by deleting "dnl" from the
dnl front of them.
dnl APPENDDEF(`bld_dkim_filter_INCDIRS', `-I/usr/local/sendmail/include')
dnl APPENDDEF(`bld_dkim_filter_LIBDIRS', `-L/usr/local/sendmail/lib')
APPENDDEF('bld_dkim_filter_INCDIRS', '-I/usr/include/libmilter ')
APPENDDEF('bld_dkim_filter_LIBDIRS', '-L/usr/lib ')
dnl smfi_addheader() -- older versions of libmilter
dnl
dnl If you run a version of libmilter too old to have the smfi_insheader()
dnl primitive, you can enable this to have dkim-filter use smfi_addheader()
dnl instead. It will still work, but it breaks the DKIM specification.
dnl To enable this, remove the "dnl" from the front of the line.
dnl APPENDDEF(`conf_dkim_filter_ENVDEF', `-DNO_SMFI_INSHEADER ')

#cp site.config.m4.dist devtools/Site/site.config.m4
# sh ./Build

And at the end I got the following errors:

dkim-policy.c: In function âdkim_get_policy_dns_excheckâ:
dkim-policy.c:182: error: redeclaration of âcâ with no linkage
dkim-policy.c:175: error: previous declaration of âcâ was here
make[2]: *** [dkim-policy.o] Error 1
make[2]: Leaving directory `/usr/src/dkim-milter-2.8.1/obj.Linux.2.6.18-92.1.22.el5PAE.i686/libdkim'
make[1]: *** [/usr/src/dkim-milter-2.8.1/obj.Linux.2.6.18-92.1.22.el5PAE.i686/libdkim/libdkim.a] Error 2
make[1]: Leaving directory `/usr/src/dkim-milter-2.8.1/obj.Linux.2.6.18-92.1.22.el5PAE.i686/dkim-filter'
make: *** [all] Error 2

I don't know what do do to get rid the those errors.

Discussion

  • Anonymous - 2009-01-19
    • assigned_to: nobody --> sm-msk
    • labels: --> Compilation
    • status: open --> pending
     
  • Anonymous - 2009-01-19

    You can't use both USE_UNBOUND and USE_ARLIB. Disable one or the other, and try again.

     
  • Anonymous - 2009-01-19
    • milestone: --> v2.8.1
     
  • Nick  Nguyen

    Nick Nguyen - 2009-01-19
    • status: pending --> open
     
  • Nick  Nguyen

    Nick Nguyen - 2009-01-19

    Thanks alot, that solved the problem.

     
  • Anonymous - 2009-01-19

    USE_UNBOUND and USE_ARLIB are incompatible. Documentation will be updated accordingly.

     
  • Anonymous - 2009-01-19
    • status: open --> closed-invalid
     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks