if ( LDAP_IS_UDP(ld) ) {
                                struct sockaddr sa = {0};
                                /* dummy, filled with ldo_peer in request.c */
-                               err = ber_write( ber, &sa, sizeof(sa), 0 );
+                               err = ber_write( ber, (char *) &sa, sizeof(sa), 0 );
                        }
                        if ( LDAP_IS_UDP(ld) && ld->ld_options.ldo_version ==
                                LDAP_VERSION2 )
 
        if ( LDAP_IS_UDP(ld) ) {
                struct sockaddr sa = {0};
                /* dummy, filled with ldo_peer in request.c */
-           err = ber_write( ber, &sa, sizeof( sa ), 0 );
+           err = ber_write( ber, (char *) &sa, sizeof( sa ), 0 );
        }
        if ( LDAP_IS_UDP(ld) && ld->ld_options.ldo_version == LDAP_VERSION2) {
            char *dn = ld->ld_options.ldo_cldapdn;
 
 #include "lutil.h"
 #include "slap.h"
 
+#ifdef LDAP_CONNECTIONLESS
+#include "../../libraries/liblber/lber-int.h"  /* ber_int_sb_read() */
+#endif
+
 #ifdef LDAP_SLAPI
 #include "slapi/slapi.h"
 #endif
 
                if ( !c ) {
                        Debug( LDAP_DEBUG_TRACE,
                                "connectionless_init: failed on %s (%d)\n",
-                               lr->sl_url, lr->sl_sd, 0 );
+                               lr->sl_url.bv_val, lr->sl_sd, 0 );
                        return -1;
                }
                lr->sl_is_udp++;