[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#3739) Compilation errors using SUNWspro Compilers



Full_Name: James F. Hranicky
Version: 2.3.3beta
OS: Solaris 8 Sparc/Solaris 10 x86
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (128.227.205.52)


Two files give compilation errors when compiled with Sun's C 
compiler.

The first file is openldap-2.3.3beta/servers/slapd/overlays/ppolicy.c .
Apparently, "restrict" is a reserved keyword for the compiler. A simple
patch fixes the problem:

--- openldap-2.3.3beta/servers/slapd/overlays/ppolicy.c.orig    2005-05-06
12:42:52.000000000 -0
400
+++ openldap-2.3.3beta/servers/slapd/overlays/ppolicy.c 2005-05-20
11:12:09.580129000 -0400
@@ -55,7 +55,7 @@
  * used by all instances
  */
 typedef struct pw_conn {
-       int restrict;           /* TRUE if connection is restricted */
+       int restricted;         /* TRUE if connection is restricted */
 } pw_conn;
 
 static pw_conn *pwcons;
@@ -792,7 +792,7 @@
                         * that we are disallowed from doing anything
                         * other than change password.
                         */
-                       pwcons[op->o_conn->c_conn_idx].restrict = 1;
+                       pwcons[op->o_conn->c_conn_idx].restricted = 1;
 
                        ppb->pErr = PP_changeAfterReset;
 
@@ -998,11 +998,11 @@
        return SLAP_CB_CONTINUE;
 }
 
-/* Reset the restrict flag for the next session on this connection */
+/* Reset the restricted flag for the next session on this connection */
 static int
 ppolicy_unbind( Operation *op, SlapReply *rs )
 {
-       pwcons[op->o_conn->c_conn_idx].restrict = 0;
+       pwcons[op->o_conn->c_conn_idx].restricted = 0;
        return SLAP_CB_CONTINUE;
 }
 
@@ -1020,7 +1020,7 @@
                send_ctrl = 1;
        }
 
-       if ( op->o_conn && pwcons[op->o_conn->c_conn_idx].restrict ) {
+       if ( op->o_conn && pwcons[op->o_conn->c_conn_idx].restricted ) {
                Debug( LDAP_DEBUG_TRACE,
                        "connection restricted to password changing only\n", 0,
0, 0);
                if ( send_ctrl ) {
@@ -1233,7 +1233,7 @@
                }
        }
        
-       if (pwcons[op->o_conn->c_conn_idx].restrict && !mod_pw_only) {
+       if (pwcons[op->o_conn->c_conn_idx].restricted && !mod_pw_only) {
                Debug( LDAP_DEBUG_TRACE,
                        "connection restricted to password changing only\n", 0,
0, 0 );
                rs->sr_err = LDAP_INSUFFICIENT_ACCESS; 

-------------

The second file is openldap-2.3.3beta/servers/slapd/bconfig.c . When 
compiled with Sun's cc, I get these warnings/errors:

cc -xO4 -I/cise/homes/jfh/apps/src/openldap-2.3.3beta/include
-I/usr/local/include -I../../inclu
de -I. -I./slapi -I. -I../../include  
-I/cise/homes/jfh/apps/src/openldap-2.3.3beta/include -I/
usr/local/include     -c -o bconfig.o bconfig.c
"bconfig.c", line 203: warning: initialization type mismatch
"bconfig.c", line 208: warning: initialization type mismatch
"bconfig.c", line 213: warning: initialization type mismatch
"bconfig.c", line 218: warning: initialization type mismatch
"bconfig.c", line 229: warning: initialization type mismatch
"bconfig.c", line 235: warning: initialization type mismatch
"bconfig.c", line 248: warning: initialization type mismatch
"bconfig.c", line 252: warning: initialization type mismatch
"bconfig.c", line 256: warning: initialization type mismatch
"bconfig.c", line 262: warning: initialization type mismatch
"bconfig.c", line 271: warning: initialization type mismatch
"bconfig.c", line 275: warning: initialization type mismatch
"bconfig.c", line 278: warning: initialization type mismatch
"bconfig.c", line 282: warning: initialization type mismatch
"bconfig.c", line 299: warning: initialization type mismatch
"bconfig.c", line 302: warning: initialization type mismatch
"bconfig.c", line 305: warning: initialization type mismatch
"bconfig.c", line 314: warning: initialization type mismatch
"bconfig.c", line 317: warning: initialization type mismatch
"bconfig.c", line 323: warning: initialization type mismatch
"bconfig.c", line 326: warning: initialization type mismatch
"bconfig.c", line 329: warning: initialization type mismatch
"bconfig.c", line 333: warning: initialization type mismatch
"bconfig.c", line 341: warning: initialization type mismatch
"bconfig.c", line 348: warning: initialization type mismatch
"bconfig.c", line 354: warning: initialization type mismatch
"bconfig.c", line 357: warning: initialization type mismatch
"bconfig.c", line 360: warning: initialization type mismatch
"bconfig.c", line 363: warning: initialization type mismatch
"bconfig.c", line 370: warning: initialization type mismatch
"bconfig.c", line 385: warning: initialization type mismatch
"bconfig.c", line 388: warning: initialization type mismatch
"bconfig.c", line 391: warning: initialization type mismatch
"bconfig.c", line 403: warning: initialization type mismatch
"bconfig.c", line 406: warning: initialization type mismatch
"bconfig.c", line 409: warning: initialization type mismatch
"bconfig.c", line 420: warning: initialization type mismatch
"bconfig.c", line 423: warning: initialization type mismatch
"bconfig.c", line 426: warning: initialization type mismatch
"bconfig.c", line 429: warning: initialization type mismatch
"bconfig.c", line 447: warning: initialization type mismatch
"bconfig.c", line 450: warning: initialization type mismatch
"bconfig.c", line 457: warning: initialization type mismatch
"bconfig.c", line 459: warning: initialization type mismatch
"bconfig.c", line 462: warning: initialization type mismatch
"bconfig.c", line 465: warning: initialization type mismatch
"bconfig.c", line 468: warning: initialization type mismatch
"bconfig.c", line 485: warning: initialization type mismatch
"bconfig.c", line 488: warning: initialization type mismatch
"bconfig.c", line 491: warning: initialization type mismatch
"bconfig.c", line 494: warning: initialization type mismatch
"bconfig.c", line 498: warning: initialization type mismatch
"bconfig.c", line 506: warning: initialization type mismatch
"bconfig.c", line 514: warning: initialization type mismatch
"bconfig.c", line 522: warning: initialization type mismatch
"bconfig.c", line 530: warning: initialization type mismatch
"bconfig.c", line 538: warning: initialization type mismatch
"bconfig.c", line 546: warning: initialization type mismatch
"bconfig.c", line 554: warning: initialization type mismatch
"bconfig.c", line 563: warning: initialization type mismatch
"bconfig.c", line 566: warning: initialization type mismatch
"bconfig.c", line 2267: warning: implicit function declaration:
read_config_file
"bconfig.c", line 2511: warning: implicit function declaration:
init_config_attrs
"bconfig.c", line 2515: warning: implicit function declaration: init_config_ocs
"bconfig.c", line 2595: warning: end-of-loop code not reached
"bconfig.c", line 2742: warning: implicit function declaration:
config_parse_vals
"bconfig.c", line 3073: warning: implicit function declaration:
init_config_argv
"bconfig.c", line 3098: warning: implicit function declaration:
config_parse_add
"bconfig.c", line 3182: zero or negative subscript
"bconfig.c", line 3369: warning: implicit function declaration: config_del_vals
"bconfig.c", line 3948: warning: implicit function declaration:
ldif_must_b64_encode_release
"bconfig.c", line 4135: warning: implicit function declaration:
ldif_must_b64_encode_register
cc: acomp failed for bconfig.c
make: *** [bconfig.o] Error 2

It apparently really doesn't like the subscript of 0 on line 3182. This file
compiles fine with gcc.