Re: [exim] exim build errors - exim-4.80.1

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Prashanth Katuri
Date:  
À: Phil Pennock
CC: exim-users@exim.org
Sujet: Re: [exim] exim build errors - exim-4.80.1
Phil,

Thank you for the reply. I am still getting the same error when added the below line into ldap.c as suggested.

#ifdef LDAP_OPT_X_TLS
if defined(LDAP_OPT_X_TLS) && !defined(LDAP_LIB_SOLARIS)

pkaturi@gb0882ldaptst01 >sudo make makefile
>>> New Makefile & lookups/Makefile.predynamic installed
>>> Use "make makefile" if you need to force rebuilding of the makefile


pkaturi@gb0882ldaptst01 >sudo make
`Makefile' is up to date.

make[1]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc'
/bin/sh ../scripts/Configure-config.h "make"
make[2]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc'
make[2]: `buildconfig' is up to date.
make[2]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc'
Building configuration file config.h
>>> config.h built


>>> version 4.80.1 #5


>>> exicyclog script built
>>> exinext script built
>>> exiwhat script built
>>> exigrep script built
>>> eximstats script built
>>> exipick script built
>>> exiqgrep script built
>>> exiqsumm script built
>>> transport-filter.pl script built
>>> convert4r3 script built
>>> convert4r4 script built
>>> exim_checkaccess script built


gcc exim_dbmbuild.c
gcc -o exim_dbmbuild
>>> exim_dbmbuild utility built


gcc -DEXIM_DUMPDB exim_dbutil.c
gcc -DCOMPILE_UTILITY os.c
gcc -DCOMPILE_UTILITY store.c
gcc -o exim_dumpdb
>>> exim_dumpdb utility built


gcc -DEXIM_FIXDB exim_dbutil.c
make[2]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/auths'
gcc auth-spa.c
gcc b64decode.c
gcc b64encode.c
gcc call_pam.c
gcc call_pwcheck.c
gcc call_radius.c
gcc check_serv_cond.c
gcc cram_md5.c
gcc cyrus_sasl.c
gcc dovecot.c
gcc get_data.c
gcc get_no64_data.c
gcc gsasl_exim.c
gcc heimdal_gssapi.c
gcc md5.c
gcc plaintext.c
gcc pwcheck.c
gcc sha1.c
gcc spa.c
gcc xtextdecode.c
gcc xtextencode.c
ar cq auths.a
make[2]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/auths'

gcc -o exim_fixdb
>>> exim_fixdb utility built


gcc -DEXIM_TIDYDB exim_dbutil.c
gcc -o exim_tidydb
>>> exim_tidydb utility built


make[2]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/lookups'
gcc ldap.c
ldap.c: In function `perform_ldap_search':
ldap.c:523: error: syntax error before "defined"
ldap.c:183: error: label `RETURN_ERROR_BREAK' used but not defined
ldap.c:364: error: label `RETURN_ERROR' used but not defined
ldap.c: At top level:
ldap.c:535: error: syntax error before "if"
ldap.c:548: warning: initialization makes integer from pointer without a cast
ldap.c:548: warning: data definition has no type or storage class
ldap.c:549: error: syntax error before "goto"
ldap.c:552: error: `lcp' undeclared here (not in a function)
ldap.c:552: warning: passing arg 2 of `ldap_result2error' makes pointer from integer without a cast
ldap.c:552: error: initializer element is not constant
ldap.c:552: warning: data definition has no type or storage class
ldap.c:557: error: syntax error before "if"
ldap.c:561: warning: data definition has no type or storage class
ldap.c:562: error: syntax error before "goto"
ldap.c:581: warning: parameter names (without types) in function declaration
ldap.c:581: warning: data definition has no type or storage class
ldap.c:582: error: redefinition of 'result'
ldap.c:548: error: previous definition of 'result' was here
ldap.c:582: warning: initialization makes integer from pointer without a cast
ldap.c:582: warning: data definition has no type or storage class
ldap.c:583: error: syntax error before '}' token
ldap.c:597: error: syntax error before '->' token
ldap.c:598: error: syntax error before '->' token
ldap.c:608: error: syntax error before '->' token
ldap.c:616: error: syntax error before '->' token
ldap.c:616: warning: data definition has no type or storage class
ldap.c:623: error: `ludp' undeclared here (not in a function)
ldap.c:624: error: initializer element is not constant
ldap.c:624: warning: data definition has no type or storage class
ldap.c:626: error: syntax error before "if"
ldap.c:630: error: syntax error before '->' token
ldap.c:630: warning: data definition has no type or storage class
ldap.c:631: error: `err' undeclared here (not in a function)
ldap.c:632: warning: initialization from incompatible pointer type
ldap.c:632: error: initializer element is not constant
ldap.c:632: warning: data definition has no type or storage class
ldap.c:638: error: syntax error before "goto"
ldap.c:653: warning: passing arg 2 of `ldap_next_entry' makes pointer from integer without a cast
ldap.c:653: warning: initialization makes integer from pointer without a cast
ldap.c:653: error: initializer element is not constant
ldap.c:653: error: syntax error before ')' token
ldap.c:658: error: syntax error before "if"
ldap.c:668: warning: passing arg 2 of `ldap_get_dn' makes pointer from integer without a cast
ldap.c:668: warning: initialization makes integer from pointer without a cast
ldap.c:668: error: initializer element is not constant
ldap.c:668: warning: data definition has no type or storage class
ldap.c:669: error: syntax error before "if"
ldap.c:680: error: initializer element is not constant
ldap.c:680: warning: data definition has no type or storage class
ldap.c:681: error: syntax error before '}' token
ldap.c:693: error: `ptr' undeclared here (not in a function)
ldap.c:693: warning: data definition has no type or storage class
ldap.c:694: warning: data definition has no type or storage class
ldap.c:695: error: syntax error before '}' token
ldap.c:707: error: `ber' undeclared here (not in a function)
ldap.c:707: warning: passing arg 2 of `ldap_next_attribute' makes pointer from integer without a cast
ldap.c:707: warning: initialization makes integer from pointer without a cast
ldap.c:707: error: initializer element is not constant
ldap.c:707: error: syntax error before ')' token
ldap.c:722: error: `size' undeclared here (not in a function)
ldap.c:722: warning: passing arg 1 of `string_cat' makes pointer from integer without a cast
ldap.c:722: warning: passing arg 4 of `string_cat' makes pointer from integer without a cast
ldap.c:722: warning: initialization makes integer from pointer without a cast
ldap.c:722: error: initializer element is not constant
ldap.c:722: warning: data definition has no type or storage class
ldap.c:723: error: redefinition of 'data'
ldap.c:722: error: previous definition of 'data' was here
ldap.c:723: error: redefinition of 'data'
ldap.c:722: error: previous definition of 'data' was here
ldap.c:723: warning: passing arg 1 of `string_cat' makes pointer from integer without a cast
ldap.c:723: warning: initialization makes integer from pointer without a cast
ldap.c:723: error: initializer element is not constant
ldap.c:723: warning: data definition has no type or storage class
ldap.c:724: error: syntax error before '}' token
ldap.c:729: error: `value' undeclared here (not in a function)
ldap.c:729: error: initializer element is not constant
ldap.c:731: error: syntax error before "if"
ldap.c:752: error: redefinition of 'data'
ldap.c:723: error: previous definition of 'data' was here
ldap.c:752: error: redefinition of 'data'
ldap.c:722: error: previous definition of 'data' was here
ldap.c:752: error: `j' undeclared here (not in a function)
ldap.c:752: warning: passing arg 1 of `string_cat' makes pointer from integer without a cast
ldap.c:752: warning: initialization makes integer from pointer without a cast
ldap.c:752: error: initializer element is not constant
ldap.c:752: warning: data definition has no type or storage class
ldap.c:753: error: syntax error before '}' token
ldap.c:775: error: redefinition of 'attribute_found'
ldap.c:694: error: previous definition of 'attribute_found' was here
ldap.c:775: warning: data definition has no type or storage class
ldap.c:776: error: syntax error before '}' token
ldap.c:785: error: syntax error before '(' token
ldap.c:802: warning: parameter names (without types) in function declaration
ldap.c:802: warning: data definition has no type or storage class
ldap.c:803: error: redefinition of 'result'
ldap.c:582: error: previous definition of 'result' was here
ldap.c:803: error: redefinition of 'result'
ldap.c:582: error: previous definition of 'result' was here
ldap.c:803: warning: initialization makes integer from pointer without a cast
ldap.c:803: warning: data definition has no type or storage class
ldap.c:804: error: syntax error before '}' token
ldap.c:811: error: syntax error before '+' token
ldap.c:811: error: conflicting types for 'store_reset_3'
../store.h:49: error: previous declaration of 'store_reset_3' was here
ldap.c:811: error: conflicting types for 'store_reset_3'
../store.h:49: error: previous declaration of 'store_reset_3' was here
ldap.c:811: warning: data definition has no type or storage class
ldap.c:822: warning: parameter names (without types) in function declaration
ldap.c:822: error: conflicting types for 'free'
/usr/include/iso/stdlib_iso.h:125: error: previous declaration of 'free' was here
ldap.c:822: error: conflicting types for 'free'
/usr/include/iso/stdlib_iso.h:125: error: previous declaration of 'free' was here
ldap.c:822: warning: data definition has no type or storage class
ldap.c:824: error: syntax error before '}' token
ldap.c:851: error: syntax error before '->' token
ldap.c:851: warning: data definition has no type or storage class
ldap.c:852: error: redefinition of 'errmsg'
ldap.c:631: error: previous definition of 'errmsg' was here
ldap.c:853: warning: initialization from incompatible pointer type
ldap.c:853: error: initializer element is not constant
ldap.c:853: warning: data definition has no type or storage class
ldap.c:865: error: syntax error before "goto"
ldap.c:888: error: initializer element is not constant
ldap.c:888: warning: data definition has no type or storage class
ldap.c:889: error: `matched' undeclared here (not in a function)
ldap.c:890: error: `error2' undeclared here (not in a function)
ldap.c:890: warning: passing arg 2 of `ldap_parse_result' makes pointer from integer without a cast
ldap.c:890: error: initializer element is not constant
ldap.c:890: warning: data definition has no type or storage class
ldap.c:891: error: syntax error before "if"
ldap.c:902: warning: initialization makes integer from pointer without a cast
ldap.c:902: error: initializer element is not constant
ldap.c:902: warning: data definition has no type or storage class
ldap.c:933: error: syntax error before "if"
ldap.c:960: error: redefinition of 'error_yield'
ldap.c:561: error: previous definition of 'error_yield' was here
ldap.c:960: warning: data definition has no type or storage class
ldap.c:961: error: syntax error before '}' token
ldap.c:979: error: redefinition of 'error_yield'
ldap.c:960: error: previous definition of 'error_yield' was here
ldap.c:979: error: redefinition of 'error_yield'
ldap.c:960: error: previous definition of 'error_yield' was here
ldap.c:979: warning: data definition has no type or storage class
ldap.c:980: error: syntax error before "goto"
ldap.c:989: error: redefinition of 'error_yield'
ldap.c:979: error: previous definition of 'error_yield' was here
ldap.c:989: error: redefinition of 'error_yield'
ldap.c:960: error: previous definition of 'error_yield' was here
ldap.c:989: warning: data definition has no type or storage class
ldap.c:990: error: syntax error before "goto"
ldap.c:996: warning: initialization makes pointer from integer without a cast
ldap.c:996: error: initializer element is not constant
ldap.c:996: warning: data definition has no type or storage class
ldap.c:998: error: syntax error before ':' token
ldap.c:1000: warning: parameter names (without types) in function declaration
ldap.c:1000: error: conflicting types for 'ldap_free_urldesc'
/usr/local/include/ldap.h:2053: error: previous declaration of 'ldap_free_urldesc' was here
ldap.c:1000: error: conflicting types for 'ldap_free_urldesc'
/usr/local/include/ldap.h:2053: error: previous declaration of 'ldap_free_urldesc' was here
ldap.c:1000: warning: data definition has no type or storage class
ldap.c:1001: error: syntax error before "return"
ldap.c:693: error: storage size of `data' isn't known
make[2]: *** [ldap.o] Error 1
make[2]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/lookups'
make[1]: *** [buildlookups] Error 2
make[1]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc'
make: *** [all] Error 2


Thanks,
Prashanth

-----Original Message-----
From: Phil Pennock [mailto:pdp@exim.org]
Sent: Thursday, June 06, 2013 9:40 AM
To: Prashanth Katuri
Cc: exim-users@???
Subject: Re: [exim] exim build errors - exim-4.80.1

On 2013-06-06 at 10:00 +0000, Prashanth Katuri wrote:
> Phil,
>
> Thank you for the reply.
>
> I got the below error during make when added the below content in
> ldap.c
>
> {
>    DEBUG(D_lookup) debug_printf("%sbinding with user=%s password=%s\n",
>      (lcp->bound)? "re-" : "", user, password); -#ifdef LDAP_OPT_X_TLS
> +#if defined(LDAP_OPT_X_TLS) && !defined(LDAP_LIB_SOLARIS)
>    /* The Oracle LDAP libraries (LDAP_LIB_TYPE=SOLARIS) don't support this: */
>    if (eldap_start_tls)
>      {


The change supplied was in the form of a "unified diff"; the lines starting "-" are to be removed, the lines starting "+" are to be added.

The required change is to be made to one line, _replacing_ the #ifdef with the slightly more complicated "#if defined(...) && !defined(...)"
logic.

-Phil