https://bugs.openldap.org/show_bug.cgi?id=9943

          Issue ID: 9943
           Summary: pw-radius
           Product: OpenLDAP
           Version: 2.4.57
          Hardware: x86_64
                OS: Linux
            Status: UNCONFIRMED
          Keywords: needs_review
          Severity: normal
          Priority: ---
         Component: libraries
          Assignee: b...@openldap.org
          Reporter: earyu...@gmail.com
  Target Milestone: ---

Good evening, dear developers!

I'm using Debian 11
Faced with the problem of compiling the module for authorization through
FreeRadius, users connecting to OpenLDAP.

There is little information on the net, but I managed to find the following:
https://github.com/openldap/openldap/blob/master/contrib/slapd-modules/passwd/README

moduleload pw-radius.so
gcc -shared -I../../../include -Wall -g -o pw-radius.so radius.c -lradius


Installed:
apt install slapd ldap-utils

Version:
slapd -V
@(#) $OpenLDAP: slapd 2.4.57+dfsg-3+deb11u1


gcc -shared -I /usr/lib/ldap/ -Wall -g -o pw-radius.so radius.c -lradius
gcc: error: radius.c: No such file or directory 

1. Download "openldap-2.5.13.tgz"
2. tar -zxvf openldap-2.5.13.tgz
3. find /root/openldap-2.5.13/ -name "radius.c"
/root/openldap-2.5.13/contrib/slapd-modules/passwd/radius.c
4. cd /root/openldap-2.5.13/contrib/slapd-modules/passwd/
5. gcc -shared -I ../../../include -Wall -g -o pw-radius.so radius.c -lradius"

Errors appear
5.1. radius.c:16:10: fatal error: portable.h: No such file or directory
   16 | #include "portable.h"

5.2. find /root/openldap-2.5.13/ -name "portable.*"
/root/openldap-2.5.13/include/portable.hin

5.3. cp /root/openldap-2.5.13/include/portable.hin
/root/openldap-2.5.13/include/portable.h

5.4. gcc -shared -I ../../../include -Wall -g -o pw-radius.so radius.c
-lradius"

5.5. In file included from radius.c:16:
../../../include/portable.h:1188:10: fatal error: ldap_features.h: No such file
or directory
 1188 | #include "ldap_features.h"

5.6. find /root/openldap-2.5.13/ -name "ldap_features.*"
/root/openldap-2.5.13/include/ldap_features.hin
cp /root/openldap-2.5.13/include/ldap_features.hin
/root/openldap-2.5.13/include/ldap_features.h

...

After changing the names of all bad files, a bunch of errors come out:

gcc -shared -I ../../../include -Wall -g -o pw-radius.so radius.c -lradius

In file included from ../../../include/lber.h:29,
                 from radius.c:20:
../../../include/lber_types.h:42:9: error: unknown type name ‘LBER_INT_T’
   42 | typedef LBER_INT_T ber_int_t;
      |         ^~~~~~~~~~
../../../include/lber_types.h:45:27: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
‘__attribute__’ before ‘ber_sint_t’
   45 | typedef signed LBER_INT_T ber_sint_t;
      |                           ^~~~~~~~~~
../../../include/lber_types.h:46:29: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
‘__attribute__’ before ‘ber_uint_t’
   46 | typedef unsigned LBER_INT_T ber_uint_t;
      |                             ^~~~~~~~~~
../../../include/lber_types.h:49:29: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
‘__attribute__’ before ‘ber_tag_t’
   49 | typedef unsigned LBER_TAG_T ber_tag_t;
      |                             ^~~~~~~~~
../../../include/lber_types.h:52:9: error: unknown type name ‘LBER_SOCKET_T’
   52 | typedef LBER_SOCKET_T ber_socket_t;
      |         ^~~~~~~~~~~~~
../../../include/lber_types.h:55:29: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
‘__attribute__’ before ‘ber_len_t’
   55 | typedef unsigned LBER_LEN_T ber_len_t;
      |                             ^~~~~~~~~
../../../include/lber_types.h:58:27: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
‘__attribute__’ before ‘ber_slen_t’
   58 | typedef signed LBER_LEN_T ber_slen_t;
      |                           ^~~~~~~~~~
In file included from ../../../include/portable.hin:1187,
                 from radius.c:16:
../../../include/lber.h:121:42: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  121 | typedef void* (BER_MEMALLOC_FN) LDAP_P(( ber_len_t size, void *ctx ));
      |                                          ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:122:43: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  122 | typedef void* (BER_MEMCALLOC_FN) LDAP_P(( ber_len_t n, ber_len_t size,
void *ctx ));
      |                                           ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:122:56: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  122 | typedef void* (BER_MEMCALLOC_FN) LDAP_P(( ber_len_t n, ber_len_t size,
void *ctx ));
      |                                                        ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:123:53: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  123 | typedef void* (BER_MEMREALLOC_FN) LDAP_P(( void *p, ber_len_t size,
void *ctx ));
      |                                                     ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
In file included from radius.c:20:
../../../include/lber.h:127:2: error: unknown type name ‘BER_MEMALLOC_FN’
  127 |  BER_MEMALLOC_FN *bmf_malloc;
      |  ^~~~~~~~~~~~~~~
../../../include/lber.h:128:2: error: unknown type name ‘BER_MEMCALLOC_FN’
  128 |  BER_MEMCALLOC_FN *bmf_calloc;
      |  ^~~~~~~~~~~~~~~~
../../../include/lber.h:129:2: error: unknown type name ‘BER_MEMREALLOC_FN’
  129 |  BER_MEMREALLOC_FN *bmf_realloc;
      |  ^~~~~~~~~~~~~~~~~
../../../include/lber.h:191:2: error: expected specifier-qualifier-list before
‘ber_slen_t’
  191 |  ber_slen_t (*sbi_read)( Sockbuf_IO_Desc *sbiod, void *buf,
      |  ^~~~~~~~~~
../../../include/lber.h:213:2: error: unknown type name ‘ber_len_t’
  213 |  ber_len_t bv_len;
      |  ^~~~~~~~~
In file included from ../../../include/portable.hin:1187,
                 from radius.c:16:
../../../include/lber.h:230:25: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  230 |  LDAP_CONST char *data, ber_len_t len ));
      |                         ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:244:9: error: unknown type name ‘ber_tag_t’
  244 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:248:9: error: unknown type name ‘ber_tag_t’
  248 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:251:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  251 |  ber_len_t *len ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:253:9: error: unknown type name ‘ber_tag_t’
  253 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:256:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  256 |  ber_len_t *len ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:258:9: error: unknown type name ‘ber_tag_t’
  258 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:263:9: error: unknown type name ‘ber_tag_t’
  263 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:268:9: error: unknown type name ‘ber_tag_t’
  268 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:273:9: error: unknown type name ‘ber_tag_t’
  273 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:278:9: error: unknown type name ‘ber_tag_t’
  278 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:288:9: error: unknown type name ‘ber_tag_t’
  288 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:292:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  292 |  ber_len_t *len ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:301:9: error: unknown type name ‘ber_tag_t’
  301 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:307:9: error: unknown type name ‘ber_tag_t’
  307 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:312:9: error: unknown type name ‘ber_tag_t’
  312 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:317:9: error: unknown type name ‘ber_tag_t’
  317 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:321:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  321 |  ber_len_t *len ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:323:9: error: unknown type name ‘ber_tag_t’
  323 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:327:9: error: unknown type name ‘ber_tag_t’
  327 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:332:9: error: unknown type name ‘ber_tag_t’
  332 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:335:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  335 |  ber_len_t *len,
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:338:9: error: unknown type name ‘ber_tag_t’
  338 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:341:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  341 |  ber_len_t *len,
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:344:9: error: unknown type name ‘ber_tag_t’
  344 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:371:2: error: unknown type name ‘ber_tag_t’; did you
mean ‘ber_int_t’?
  371 |  ber_tag_t tag ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:377:2: error: unknown type name ‘ber_tag_t’; did you
mean ‘ber_int_t’?
  377 |  ber_tag_t tag ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:383:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  383 |  ber_len_t len,
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:384:2: error: unknown type name ‘ber_tag_t’; did you
mean ‘ber_int_t’?
  384 |  ber_tag_t tag ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:390:2: error: unknown type name ‘ber_tag_t’; did you
mean ‘ber_int_t’?
  390 |  ber_tag_t tag ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:396:2: error: unknown type name ‘ber_tag_t’; did you
mean ‘ber_int_t’?
  396 |  ber_tag_t tag ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:402:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  402 |  ber_len_t bitlen,
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:403:2: error: unknown type name ‘ber_tag_t’; did you
mean ‘ber_int_t’?
  403 |  ber_tag_t tag ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:408:2: error: unknown type name ‘ber_tag_t’; did you
mean ‘ber_int_t’?
  408 |  ber_tag_t tag ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:414:2: error: unknown type name ‘ber_tag_t’; did you
mean ‘ber_int_t’?
  414 |  ber_tag_t tag ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:419:2: error: unknown type name ‘ber_tag_t’; did you
mean ‘ber_int_t’?
  419 |  ber_tag_t tag ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:424:2: error: unknown type name ‘ber_tag_t’; did you
mean ‘ber_int_t’?
  424 |  ber_tag_t tag ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:445:9: error: unknown type name ‘ber_slen_t’
  445 | LBER_F( ber_slen_t )
      |         ^~~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:448:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  448 |  ber_len_t len ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:450:9: error: unknown type name ‘ber_slen_t’
  450 | LBER_F( ber_slen_t )
      |         ^~~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:454:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  454 |  ber_len_t len ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:456:9: error: unknown type name ‘ber_slen_t’
  456 | LBER_F( ber_slen_t )
      |         ^~~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:460:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  460 |  ber_len_t len,
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:501:9: error: unknown type name ‘ber_tag_t’
  501 | LBER_F( ber_tag_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:504:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  504 |  ber_len_t *len,
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:600:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  600 |  ber_len_t s ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:605:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  605 |  ber_len_t s ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:609:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  609 |  ber_len_t n,
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:610:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  610 |  ber_len_t s ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:643:21: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  643 |  LDAP_CONST char *, ber_len_t len, int duplicate, struct berval *bv));
      |                     ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:647:21: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  647 |  LDAP_CONST char *, ber_len_t len, int duplicate, struct berval *bv));
      |                     ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:656:9: error: unknown type name ‘ber_len_t’
  656 | LBER_F( ber_len_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber.h:658:22: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  658 |  LDAP_CONST char *s, ber_len_t len ));
      |                      ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber.h:662:22: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  662 |  LDAP_CONST char *s, ber_len_t l ));
      |                      ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
In file included from radius.c:21:
../../../include/lber_pvt.h:45:2: error: unknown type name ‘ber_len_t’
   45 |  ber_len_t  buf_size;
      |  ^~~~~~~~~
../../../include/lber_pvt.h:46:2: error: unknown type name ‘ber_len_t’
   46 |  ber_len_t  buf_ptr;
      |  ^~~~~~~~~
../../../include/lber_pvt.h:47:2: error: unknown type name ‘ber_len_t’
   47 |  ber_len_t  buf_end;
      |  ^~~~~~~~~
In file included from ../../../include/portable.hin:1187,
                 from radius.c:16:
../../../include/lber_pvt.h:66:9: error: unknown type name ‘ber_slen_t’
   66 | LBER_F( ber_slen_t )
      |         ^~~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber_pvt.h:76:51: error: unknown type name ‘ber_len_t’; did
you mean ‘ber_int_t’?
   76 | ber_pvt_sb_grow_buffer LDAP_P(( Sockbuf_Buf *buf, ber_len_t minsize ));
      |                                                   ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber_pvt.h:78:9: error: unknown type name ‘ber_len_t’
   78 | LBER_F( ber_len_t )
      |         ^~~~~~~~~
../../../include/ldap_cdefs.h:136:31: note: in definition of macro ‘LBER_F’
  136 | # define LBER_F(type)  extern type
      |                               ^~~~
../../../include/lber_pvt.h:79:59: error: unknown type name ‘ber_len_t’; did
you mean ‘ber_int_t’?
   79 | ber_pvt_sb_copy_out LDAP_P(( Sockbuf_Buf *sbb, char *buf, ber_len_t len
));
      |                                                           ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber_pvt.h:89:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
   89 |  ber_len_t s, void *ctx));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber_pvt.h:94:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
   94 |  ber_len_t s, void *ctx ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber_pvt.h:98:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
   98 |  ber_len_t n,
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber_pvt.h:99:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
   99 |  ber_len_t s, void *ctx ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber_pvt.h:128:21: error: unknown type name ‘ber_len_t’; did
you mean ‘ber_int_t’?
  128 |  LDAP_CONST char *, ber_len_t len, int dup, struct berval *bv, void
*ctx));
      |                     ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lber_pvt.h:132:21: error: unknown type name ‘ber_len_t’; did
you mean ‘ber_int_t’?
  132 |  LDAP_CONST char *, ber_len_t len, int dup, struct berval *bv, void
*ctx));
      |                     ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
In file included from ../../../include/lutil.h:21,
                 from radius.c:22:
../../../include/ac/socket.h:233:46: error: unknown type name ‘uid_t’
  233 | LDAP_LUTIL_F( int ) lutil_getpeereid( int s, uid_t *, gid_t * );
      |                                              ^~~~~
../../../include/ac/socket.h:233:55: error: unknown type name ‘gid_t’
  233 | LDAP_LUTIL_F( int ) lutil_getpeereid( int s, uid_t *, gid_t * );
      |                                                       ^~~~~
../../../include/ac/socket.h:238:18: error: field ‘sa_addr’ has incomplete type
  238 |  struct sockaddr sa_addr;
      |                  ^~~~~~~
../../../include/ac/socket.h:239:21: error: field ‘sa_in_addr’ has incomplete
type
  239 |  struct sockaddr_in sa_in_addr;
      |                     ^~~~~~~~~~
In file included from ../../../include/portable.hin:1187,
                 from radius.c:16:
../../../include/lutil.h:68:2: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
   68 |  ber_len_t nbytes ));
      |  ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
../../../include/lutil.h:137:51: error: unknown type name ‘ber_len_t’; did you
mean ‘ber_int_t’?
  137 | lutil_passwd_generate LDAP_P(( struct berval *pw, ber_len_t ));
      |                                                   ^~~~~~~~~
../../../include/ldap_cdefs.h:32:25: note: in definition of macro ‘LDAP_P’
   32 | # define LDAP_P(protos) protos
      |                         ^~~~~~
radius.c:27:10: fatal error: radlib.h: No such file or directory
   27 | #include <radlib.h>

Help me please.
Thank you !

-- 
You are receiving this mail because:
You are on the CC list for the issue.

Reply via email to