[sudo-users] problem compiling --with-ldap

Natxo Asenjo natxo.asenjo at gmail.com
Sat May 20 14:43:48 EDT 2006


hi,

Recently I found out that you could have the sudoers file in ldap. Great! I
have the server working but now my test workstation is not willing.

The workstation is centos 4. While doing ./configure I can see there is a
problem:

checking for LDAP libraries... not found, using -ldap
and with make
root at cara sudo-1.6.8p9]# make
gcc -c -I. -I.  -O2 -D_PATH_SUDOERS=\"/etc/sudoers\"
-D_PATH_SUDOERS_TMP=\"/etc/sudoers.tmp\" -DSUDOERS_UID=0 -DSUDOERS_GID=0
-DSUDOERS_MODE=0440  ldap.c
ldap.c:52:18: lber.h: No such file or directory
ldap.c:54:18: ldap.h: No such file or directory
ldap.c:103: error: syntax error before "LDAP"
ldap.c:103: warning: data definition has no type or storage class
ldap.c:104: error: syntax error before '*' token
ldap.c:104: warning: data definition has no type or storage class
ldap.c:105: error: syntax error before '{' token
ldap.c:111: error: syntax error before "if"
ldap.c:114: error: initializer element is not constant
ldap.c:114: warning: data definition has no type or storage class
ldap.c:117: error: syntax error before "for"
ldap.c:141: error: syntax error before "LDAP"
ldap.c:141: warning: data definition has no type or storage class
ldap.c:142: error: syntax error before '*' token
ldap.c:142: warning: data definition has no type or storage class
ldap.c:143: error: syntax error before '{' token
ldap.c:145: error: redefinition of 'p'
ldap.c:107: error: previous definition of 'p' was here
ldap.c:147: error: redefinition of 'ret'
ldap.c:109: error: previous definition of 'ret' was here
ldap.c:149: error: syntax error before "if"
ldap.c:152: error: redefinition of 'v'
ldap.c:114: error: previous definition of 'v' was here
ldap.c:152: error: initializer element is not constant
ldap.c:152: warning: data definition has no type or storage class
ldap.c:155: error: syntax error before "for"
ldap.c:189: error: syntax error before "LDAP"
ldap.c:189: warning: data definition has no type or storage class
ldap.c:190: error: syntax error before '*' token
ldap.c:190: warning: data definition has no type or storage class
ldap.c:191: error: syntax error before '{' token
ldap.c:193: error: redefinition of 'p'
ldap.c:145: error: previous definition of 'p' was here
ldap.c:193: error: redefinition of 'p'
ldap.c:145: error: previous definition of 'p' was here
ldap.c:195: error: redefinition of 'ret'
ldap.c:147: error: previous definition of 'ret' was here
ldap.c:195: error: redefinition of 'ret'
ldap.c:147: error: previous definition of 'ret' was here
ldap.c:197: error: syntax error before "if"
ldap.c:200: error: redefinition of 'v'
ldap.c:152: error: previous definition of 'v' was here
ldap.c:200: error: redefinition of 'v'
ldap.c:152: error: previous definition of 'v' was here
ldap.c:200: error: initializer element is not constant
ldap.c:200: warning: data definition has no type or storage class
ldap.c:222: error: syntax error before "if"
ldap.c:260: error: syntax error before "LDAP"
ldap.c:260: warning: data definition has no type or storage class
ldap.c:261: error: syntax error before '*' token
ldap.c:261: warning: data definition has no type or storage class
ldap.c:262: error: syntax error before '{' token
ldap.c:264: error: redefinition of 'p'
ldap.c:193: error: previous definition of 'p' was here
ldap.c:264: error: redefinition of 'p'
ldap.c:145: error: previous definition of 'p' was here
ldap.c:267: error: redefinition of 'ret'
ldap.c:195: error: previous definition of 'ret' was here
ldap.c:267: error: redefinition of 'ret'
ldap.c:147: error: previous definition of 'ret' was here
ldap.c:270: error: syntax error before "if"
ldap.c:272: error: redefinition of 'v'
ldap.c:200: error: previous definition of 'v' was here
ldap.c:272: error: redefinition of 'v'
ldap.c:152: error: previous definition of 'v' was here
ldap.c:272: error: initializer element is not constant
ldap.c:272: warning: data definition has no type or storage class
ldap.c:275: error: syntax error before "for"
ldap.c:288: error: conflicting types for 'allowed_cmnd'
ldap.c:265: error: previous declaration of 'allowed_cmnd' was here
ldap.c:288: warning: initialization makes integer from pointer without a
cast
ldap.c:288: error: initializer element is not constant
ldap.c:288: warning: data definition has no type or storage class
ldap.c:289: error: syntax error before '}' token
ldap.c:291: error: redefinition of 'allowed_cmnd'
ldap.c:288: error: previous definition of 'allowed_cmnd' was here
ldap.c:291: error: redefinition of 'allowed_cmnd'
ldap.c:288: error: previous definition of 'allowed_cmnd' was here
ldap.c:291: warning: initialization makes integer from pointer without a
cast
ldap.c:291: error: initializer element is not constant
ldap.c:291: warning: data definition has no type or storage class
ldap.c:292: error: syntax error before '}' token
ldap.c:295: error: conflicting types for 'allowed_args'
ldap.c:266: error: previous declaration of 'allowed_args' was here
ldap.c:295: warning: passing arg 1 of `__rawmemchr' makes pointer from
integer without a cast
ldap.c:295: warning: passing arg 1 of `__builtin_strchr' makes pointer from
integer without a cast
ldap.c:295: warning: initialization makes integer from pointer without a
cast
ldap.c:295: error: initializer element is not constant
ldap.c:295: warning: data definition has no type or storage class
ldap.c:296: error: syntax error before "if"
ldap.c:311: warning: parameter names (without types) in function declaration
ldap.c:311: error: conflicting types for 'free'
/usr/include/stdlib.h:597: error: previous declaration of 'free' was here
ldap.c:311: error: conflicting types for 'free'
/usr/include/stdlib.h:597: error: previous declaration of 'free' was here
ldap.c:311: warning: data definition has no type or storage class
ldap.c:312: error: syntax error before '}' token
ldap.c:329: error: syntax error before "LDAP"
ldap.c:329: warning: data definition has no type or storage class
ldap.c:330: error: syntax error before '*' token
ldap.c:330: warning: data definition has no type or storage class
ldap.c:331: error: syntax error before '{' token
ldap.c:334: error: redefinition of 'p'
ldap.c:264: error: previous definition of 'p' was here
ldap.c:334: error: redefinition of 'p'
ldap.c:145: error: previous definition of 'p' was here
ldap.c:339: error: syntax error before "if"
ldap.c:341: error: redefinition of 'v'
ldap.c:272: error: previous definition of 'v' was here
ldap.c:341: error: redefinition of 'v'
ldap.c:152: error: previous definition of 'v' was here
ldap.c:341: error: initializer element is not constant
ldap.c:341: warning: data definition has no type or storage class
ldap.c:344: error: syntax error before "for"
ldap.c:347: error: conflicting types for 'var'
ldap.c:335: error: previous declaration of 'var' was here
ldap.c:347: warning: initialization makes integer from pointer without a
cast
ldap.c:347: error: initializer element is not constant
ldap.c:347: warning: data definition has no type or storage class
ldap.c:349: error: conflicting types for 'val'
ldap.c:336: error: previous declaration of 'val' was here
ldap.c:349: warning: passing arg 1 of `__rawmemchr' makes pointer from
integer without a cast
ldap.c:349: warning: passing arg 1 of `__builtin_strchr' makes pointer from
integer without a cast
ldap.c:349: warning: initialization makes integer from pointer without a
cast
ldap.c:349: error: initializer element is not constant
ldap.c:349: warning: data definition has no type or storage class
ldap.c:352: error: syntax error before "if"
ldap.c:354: error: conflicting types for 'op'
ldap.c:337: error: previous declaration of 'op' was here
ldap.c:354: error: invalid type argument of `unary *'
ldap.c:354: warning: data definition has no type or storage class
ldap.c:355: error: syntax error before "if"
ldap.c:358: error: syntax error before '(' token
ldap.c:370: warning: parameter names (without types) in function declaration
ldap.c:370: warning: data definition has no type or storage class
ldap.c:372: error: syntax error before '}' token
ldap.c:641: error: syntax error before "LDAP"
ldap.c:641: warning: data definition has no type or storage class
ldap.c:642: error: syntax error before '*' token
ldap.c:642: warning: data definition has no type or storage class
ldap.c:643: error: syntax error before '{' token
ldap.c:649: error: syntax error before "if"
ldap.c:652: error: conflicting types for 'dn'
ldap.c:645: error: previous declaration of 'dn' was here
ldap.c:652: error: initializer element is not constant
ldap.c:652: warning: data definition has no type or storage class
ldap.c:653: error: conflicting types for 'edn'
ldap.c:646: error: previous declaration of 'edn' was here
ldap.c:653: warning: pointer/integer type mismatch in conditional expression
ldap.c:653: warning: initialization makes integer from pointer without a
cast
ldap.c:653: error: initializer element is not constant
ldap.c:653: warning: data definition has no type or storage class
ldap.c:654: error: syntax error before '&' token
ldap.c:655: error: syntax error before '&' token
ldap.c:656: error: syntax error before '&' token
ldap.c:661: error: redefinition of 'v'
ldap.c:341: error: previous definition of 'v' was here
ldap.c:661: error: redefinition of 'v'
ldap.c:152: error: previous definition of 'v' was here
ldap.c:661: error: initializer element is not constant
ldap.c:661: warning: data definition has no type or storage class
ldap.c:662: error: syntax error before "if"
ldap.c:664: error: syntax error before '&' token
ldap.c:665: error: syntax error before '&' token
ldap.c:670: error: redefinition of 'v'
ldap.c:661: error: previous definition of 'v' was here
ldap.c:670: error: redefinition of 'v'
ldap.c:152: error: previous definition of 'v' was here
ldap.c:670: error: initializer element is not constant
ldap.c:670: warning: data definition has no type or storage class
ldap.c:671: error: syntax error before "if"
ldap.c:673: error: syntax error before '&' token
ldap.c:674: error: syntax error before '&' token
ldap.c: In function `sudo_ldap_check':
ldap.c:700: error: `LDAP' undeclared (first use in this function)
ldap.c:700: error: (Each undeclared identifier is reported only once
ldap.c:700: error: for each function it appears in.)
ldap.c:703: error: `LDAPMessage' undeclared (first use in this function)
ldap.c:703: error: `result' undeclared (first use in this function)
ldap.c:793: warning: assignment makes pointer from integer without a cast
ldap.c:836: error: `LDAP_SCOPE_ONELEVEL' undeclared (first use in this
function)ldap.c:838: warning: assignment makes pointer from integer without
a cast
ldap.c:882: warning: pointer/integer type mismatch in conditional expression
ldap.c:884: warning: assignment makes pointer from integer without a cast
make: *** [ldap.o] Error 1

Do you know what package|library I need to get this working?

TIA
-- 
Groeten,
J.Asenjo



More information about the sudo-users mailing list