Loading ...
Sorry, an error occurred while loading the content.
 

Compile error

Expand Messages
  • M. Rodrigo Monteiro
    Hi! I m tryind to compile Postfix with Dovecot support. CentOS 5.5 Kernel 2.6.18-194.26.1.el5 Dovecot 2.0.8 Postfix 2.7.2 The make command: make -f
    Message 1 of 6 , Dec 15, 2010
      Hi!

      I'm tryind to compile Postfix with Dovecot support.

      CentOS 5.5
      Kernel 2.6.18-194.26.1.el5
      Dovecot 2.0.8
      Postfix 2.7.2

      The make command:

      make -f Makefile.init makefiles \
      'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -I/usr/include
      -DHAS_DB -I/usr/include/db4 -DUSE_TLS -I/usr/include/openssl
      -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\"
      -I/usr/local/dovecot/include/dovecot' \
      'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib -lpcre
      -L/usr/lib -ldb -L/usr/lib -lssl -lcrypto
      -l/usr/local/dovecot/lib/dovecot'


      This is the error:

      In file included from ctable.c:61:
      ./sys_defs.h:717:1: warning: "HAS_DB" redefined
      <command line>:1:1: warning: this is the location of the previous definition
      gcc -Wmissing-prototypes -Wformat -DHAS_MYSQL -I/usr/include/mysql
      -DHAS_PCRE -I/usr/include -DHAS_DB -I/usr/include/db4 -DUSE_TLS
      -I/usr/include/openssl -DUSE_SASL_AUTH
      -DDEF_SERVER_SASL_TYPE=\"dovecot\"
      -I/usr/local/dovecot/include/dovecot -g -O -I. -DLINUX2 -c dict.c
      In file included from dict.c:179:
      sys_defs.h:717:1: warning: "HAS_DB" redefined
      <command line>:1:1: warning: this is the location of the previous definition
      In file included from dict_ht.h:18,
      from dict.c:199:
      /usr/local/dovecot/include/dovecot/dict.h:43: error: expected
      declaration specifiers or ‘...’ before ‘pool_t’
      /usr/local/dovecot/include/dovecot/dict.h:44: error: conflicting types
      for ‘dict_lookup’
      dict.h:128: error: previous declaration of ‘dict_lookup’ was here
      /usr/local/dovecot/include/dovecot/dict.h:54: error: expected ‘=’,
      ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘dict_iterate’
      dict.c: In function ‘dict_eval_lookup’:
      dict.c:432: warning: passing argument 1 of ‘dict_lookup’ from
      incompatible pointer type
      dict.c:432: error: too few arguments to function ‘dict_lookup’
      make: *** [dict.o] Error 1
      make: *** [update] Error 1



      Regards,
      Rodrigo.
    • Eero Volotinen
      ... Why? Can t you just take precompiled binary? -- Eero
      Message 2 of 6 , Dec 15, 2010
        2010/12/15 M. Rodrigo Monteiro <falecom@...>:
        > Hi!
        >
        > I'm tryind to compile Postfix with Dovecot support.

        Why? Can't you just take precompiled binary?

        --
        Eero
      • fakessh @
        ... Hash: SHA1 ... i try with succes compiled postfix with dovecot sasl http://ns.fakessh.eu/postfix-2.7.2-1.pcre.pgsql.mysql.sasl2.dovecot.vda.rhel5.src.rpm
        Message 3 of 6 , Dec 15, 2010
          -----BEGIN PGP SIGNED MESSAGE-----
          Hash: SHA1

          Le 15.12.2010 19:22, Eero Volotinen a écrit :
          > 2010/12/15 M. Rodrigo Monteiro <falecom@...>:
          >> Hi!
          >>
          >> I'm tryind to compile Postfix with Dovecot support.
          >
          > Why? Can't you just take precompiled binary?
          >
          > --
          > Eero

          i try with succes compiled postfix with dovecot sasl
          http://ns.fakessh.eu/postfix-2.7.2-1.pcre.pgsql.mysql.sasl2.dovecot.vda.rhel5.src.rpm
          http://ns.fakessh.eu/
          postfix-2.7.2-1.pcre.pgsql.mysql.sasl2.dovecot.vda.rhel5.i386.rpm

          that its based on the rpm simon mudd with standard option
          consult the doumentation on building rpm



          - --
          http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x092164A7
          gpg --keyserver pgp.mit.edu --recv-key 092164A7
          -----BEGIN PGP SIGNATURE-----
          Version: GnuPG v1.4.5 (GNU/Linux)
          Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

          iD8DBQFNCQi5tXI/OwkhZKcRAgOoAJ0S0KXrqxQfZdFBZHJxsI/JSc7UOACeNPAn
          iTsXOg9ddOMYD/BLHgVNobw=
          =4vAC
          -----END PGP SIGNATURE-----
        • Victor Duchovni
          ... No need for -I/usr/include, this is always included. ... The HAS_DB is determined automatically on Linux systems, do not use custom -I/usr/include/db4,
          Message 4 of 6 , Dec 15, 2010
            On Wed, Dec 15, 2010 at 03:11:26PM -0300, M. Rodrigo Monteiro wrote:

            > The make command:
            >
            > make -f Makefile.init makefiles \
            > 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -I/usr/include

            No need for -I/usr/include, this is always included.

            > -DHAS_DB -I/usr/include/db4 -DUSE_TLS -I/usr/include/openssl

            The "HAS_DB" is determined automatically on Linux systems, do not use
            custom -I/usr/include/db4, the default system Berkeley DB libraries and
            headers must be used.

            No need for -I/usr/include/openssl, the include files are

            <openssl/mumble.h>

            and are found via /usr/include.

            > -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\"
            > -I/usr/local/dovecot/include/dovecot' \

            There are no dovecot include files, no need for this -I argument is
            mentioned in SASL_README...

            > 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib -lpcre

            No need for -L/usr/lib, this is "free".

            > -L/usr/lib -ldb -L/usr/lib -lssl -lcrypto
            > -l/usr/local/dovecot/lib/dovecot'

            The lower-case "-l/usr/local/dovecot/lib/dovecot" looks wrong. In any
            case Postfix does not link with any dovecot libraries.

            > This is the error:
            >
            > /usr/local/dovecot/include/dovecot/dict.h:43: error: expected

            DO NOT add this directory to the include file search path.

            --
            Viktor.
          • M. Rodrigo Monteiro
            On Wed, Dec 15, 2010 at 15:30, Victor Duchovni ... Thanks Viktor! With the makefile below, Postfix compile without even warning errors. make -f Makefile.init
            Message 5 of 6 , Dec 15, 2010
              On Wed, Dec 15, 2010 at 15:30, Victor Duchovni
              <Victor.Duchovni@...> wrote:
              > --
              >        Viktor.
              >

              Thanks Viktor!
              With the makefile below, Postfix compile without even warning errors.

              make -f Makefile.init makefiles \
              'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -DUSE_TLS
              -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\"' \
              'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib -lpcre
              -ldb -lssl -lcrypto'



              Regards,
              Rodrigo.
            • Victor Duchovni
              ... This is much better. Though harmless, the -L/usr/lib is redundant. So is -ldb since Postfix detects this automatically. The more correct variant for
              Message 6 of 6 , Dec 15, 2010
                On Wed, Dec 15, 2010 at 03:41:18PM -0300, M. Rodrigo Monteiro wrote:

                > With the makefile below, Postfix compile without even warning errors.
                >
                > make -f Makefile.init makefiles \
                > 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -DUSE_TLS
                > -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\"' \
                > 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib -lpcre
                > -ldb -lssl -lcrypto'

                This is much better. Though harmless, the "-L/usr/lib" is redundant.
                So is "-ldb" since Postfix detects this automatically. The more correct
                variant for your needs is:

                make -f Makefile.init makefiles \
                'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -DUSE_TLS
                -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\"' \
                'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -lpcre -lssl -lcrypto'

                --
                Viktor.
              Your message has been successfully submitted and would be delivered to recipients shortly.