<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hello Arran,<br>
      <br>
      Thank for your support.<br>
      I try today and have error:<br>
      <blockquote>bash-4.2# make<br>
                cc -Wall -fPIC -c src/pam_radius_auth.c -o
        pam_radius_auth.o<br>
        src/pam_radius_auth.c: In function 'rad_converse':<br>
        src/pam_radius_auth.c:1004:2: warning: passing argument 3 of
        'pam_get_item' from incompatible pointer type [enabled by
        default]<br>
          retval = pam_get_item(pamh, PAM_CONV, (const void **)
        &conv);<br>
          ^<br>
        In file included from src/pam_radius_auth.h:25:0,<br>
                         from src/pam_radius_auth.c:61:<br>
        /usr/include/security/pam_appl.h:193:1: note: expected 'void **'
        but argument is of type 'const void **'<br>
         pam_get_item(<br>
         ^<br>
        src/pam_radius_auth.c:1007:2: warning: passing argument 2 of
        'conv->conv' from incompatible pointer type [enabled by
        default]<br>
          retval = conv->conv(1, msg,
        &resp,conv->appdata_ptr);<br>
          ^<br>
        src/pam_radius_auth.c:1007:2: note: expected 'struct pam_message
        **' but argument is of type 'const struct pam_message **'<br>
        src/pam_radius_auth.c: In function 'pam_sm_authenticate':<br>
        src/pam_radius_auth.c:1056:2: warning: passing argument 2 of
        'pam_get_user' from incompatible pointer type [enabled by
        default]<br>
          retval = pam_get_user(pamh, &user, NULL);<br>
          ^<br>
        In file included from src/pam_radius_auth.h:25:0,<br>
                         from src/pam_radius_auth.c:61:<br>
        /usr/include/security/pam_appl.h:219:1: note: expected 'char **'
        but argument is of type 'const char **'<br>
         pam_get_user(<br>
         ^<br>
        src/pam_radius_auth.c:1071:3: warning: passing argument 3 of
        'pam_get_item' from incompatible pointer type [enabled by
        default]<br>
           retval = pam_get_item(pamh, PAM_RUSER, (const void **)
        &userinfo);<br>
           ^<br>
        In file included from src/pam_radius_auth.h:25:0,<br>
                         from src/pam_radius_auth.c:61:<br>
        /usr/include/security/pam_appl.h:193:1: note: expected 'void **'
        but argument is of type 'const void **'<br>
         pam_get_item(<br>
         ^<br>
        src/pam_radius_auth.c:1095:3: warning: passing argument 3 of
        'pam_get_item' from incompatible pointer type [enabled by
        default]<br>
           retval = pam_get_item(pamh, PAM_SERVICE, (const void **)
        &config.client_id);<br>
           ^<br>
        In file included from src/pam_radius_auth.h:25:0,<br>
                         from src/pam_radius_auth.c:61:<br>
        /usr/include/security/pam_appl.h:193:1: note: expected 'void **'
        but argument is of type 'const void **'<br>
         pam_get_item(<br>
         ^<br>
        src/pam_radius_auth.c:1109:2: warning: passing argument 3 of
        'pam_get_item' from incompatible pointer type [enabled by
        default]<br>
          retval = pam_get_item(pamh, PAM_AUTHTOK, (const void **)
        &password);<br>
          ^<br>
        In file included from src/pam_radius_auth.h:25:0,<br>
                         from src/pam_radius_auth.c:61:<br>
        /usr/include/security/pam_appl.h:193:1: note: expected 'void **'
        but argument is of type 'const void **'<br>
         pam_get_item(<br>
         ^<br>
        src/pam_radius_auth.c:1142:2: warning: passing argument 3 of
        'pam_get_item' from incompatible pointer type [enabled by
        default]<br>
          retval = pam_get_item(pamh, PAM_RHOST, (const void **)
        &rhost);<br>
          ^<br>
        In file included from src/pam_radius_auth.h:25:0,<br>
                         from src/pam_radius_auth.c:61:<br>
        /usr/include/security/pam_appl.h:193:1: note: expected 'void **'
        but argument is of type 'const void **'<br>
         pam_get_item(<br>
         ^<br>
        src/pam_radius_auth.c: In function 'pam_sm_setcred':<br>
        src/pam_radius_auth.c:1246:2: warning: passing argument 3 of
        'pam_get_data' from incompatible pointer type [enabled by
        default]<br>
          pam_get_data(pamh, "rad_setcred_return", (const void **)
        &pret);<br>
          ^<br>
        In file included from src/pam_radius_auth.h:25:0,<br>
                         from src/pam_radius_auth.c:61:<br>
        /usr/include/security/pam_appl.h:243:1: note: expected 'void **'
        but argument is of type 'const void **'<br>
         pam_get_data(<br>
         ^<br>
        src/pam_radius_auth.c: In function 'pam_private_session':<br>
        src/pam_radius_auth.c:1268:2: warning: passing argument 2 of
        'pam_get_user' from incompatible pointer type [enabled by
        default]<br>
          retval = pam_get_user(pamh, &user, NULL);<br>
          ^<br>
        In file included from src/pam_radius_auth.h:25:0,<br>
                         from src/pam_radius_auth.c:61:<br>
        /usr/include/security/pam_appl.h:219:1: note: expected 'char **'
        but argument is of type 'const char **'<br>
         pam_get_user(<br>
         ^<br>
        src/pam_radius_auth.c:1288:3: warning: passing argument 3 of
        'pam_get_item' from incompatible pointer type [enabled by
        default]<br>
           retval = pam_get_item(pamh, PAM_SERVICE, (const void **)
        &config.client_id);<br>
           ^<br>
        In file included from src/pam_radius_auth.h:25:0,<br>
                         from src/pam_radius_auth.c:61:<br>
        /usr/include/security/pam_appl.h:193:1: note: expected 'void **'
        but argument is of type 'const void **'<br>
         pam_get_item(<br>
         ^<br>
        src/pam_radius_auth.c:1256:6: warning: variable 'ctrl' set but
        not used [-Wunused-but-set-variable]<br>
          int ctrl;<br>
              ^<br>
        src/pam_radius_auth.c: In function 'pam_sm_chauthtok':<br>
        src/pam_radius_auth.c:1368:2: warning: passing argument 2 of
        'pam_get_user' from incompatible pointer type [enabled by
        default]<br>
          retval = pam_get_user(pamh, &user, NULL);<br>
          ^<br>
        In file included from src/pam_radius_auth.h:25:0,<br>
                         from src/pam_radius_auth.c:61:<br>
        /usr/include/security/pam_appl.h:219:1: note: expected 'char **'
        but argument is of type 'const char **'<br>
         pam_get_user(<br>
         ^<br>
        src/pam_radius_auth.c:1388:3: warning: passing argument 3 of
        'pam_get_item' from incompatible pointer type [enabled by
        default]<br>
           retval = pam_get_item(pamh, PAM_SERVICE, (const void **)
        &config.client_id);<br>
           ^<br>
        In file included from src/pam_radius_auth.h:25:0,<br>
                         from src/pam_radius_auth.c:61:<br>
        /usr/include/security/pam_appl.h:193:1: note: expected 'void **'
        but argument is of type 'const void **'<br>
         pam_get_item(<br>
         ^<br>
        src/pam_radius_auth.c:1397:2: warning: passing argument 3 of
        'pam_get_item' from incompatible pointer type [enabled by
        default]<br>
          retval = pam_get_item(pamh, PAM_OLDAUTHTOK, (const void **)
        &password);<br>
          ^<br>
        In file included from src/pam_radius_auth.h:25:0,<br>
                         from src/pam_radius_auth.c:61:<br>
        /usr/include/security/pam_appl.h:193:1: note: expected 'void **'
        but argument is of type 'const void **'<br>
         pam_get_item(<br>
         ^<br>
        src/pam_radius_auth.c:1402:2: warning: passing argument 3 of
        'pam_get_item' from incompatible pointer type [enabled by
        default]<br>
          retval = pam_get_item(pamh, PAM_AUTHTOK, (const void **)
        &new_password);<br>
          ^<br>
        In file included from src/pam_radius_auth.h:25:0,<br>
                         from src/pam_radius_auth.c:61:<br>
        /usr/include/security/pam_appl.h:193:1: note: expected 'void **'
        but argument is of type 'const void **'<br>
         pam_get_item(<br>
         ^<br>
                cc -Wall -fPIC -c src/md5.c -o md5.o<br>
                cc -shared -Wl pam_radius_auth.o md5.o -lpam -o
        pam_radius_auth.so<br>
        cc: error: unrecognized command line option '-Wl'<br>
        make: 1254-004 The error code from the last command is 1.<br>
        <br>
        <br>
        Stop.<br>
      </blockquote>
      <pre class="moz-signature" cols="72">Sam
==============================================================
Sam Lin 林立山
Acom Networks
E-MAIL : <a class="moz-txt-link-abbreviated" href="mailto:sam@acom-networks.com">sam@acom-networks.com</a>
OFFICE : +886.2.2313.1416
MOBILE : +886.930.895.633
==============================================================</pre>
      於 2014/5/17 下午4:42, Arran Cudbard-Bell 提到:<br>
    </div>
    <blockquote
      cite="mid:3FE152DD-9902-4A3F-B318-124572BFAB04@freeradius.org"
      type="cite">
      <pre wrap="">
On 15 May 2014, at 10:52, Sam Lin <a class="moz-txt-link-rfc2396E" href="mailto:sam@acom-networks.com"><sam@acom-networks.com></a> wrote:

</pre>
      <blockquote type="cite">
        <pre wrap="">Hello Fajar,

Yes, all error come from gcc and thank you for export command.
</pre>
      </blockquote>
      <pre wrap="">
Ok. Git pull and try again. I might have been something simple
like PAM_EXTERN not being defined.

-Arran

Arran Cudbard-Bell <a class="moz-txt-link-rfc2396E" href="mailto:a.cudbardb@freeradius.org"><a.cudbardb@freeradius.org></a>
FreeRADIUS Development Team

FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2

</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">-
List info/subscribe/unsubscribe? See <a class="moz-txt-link-freetext" href="http://www.freeradius.org/list/users.html">http://www.freeradius.org/list/users.html</a></pre>
    </blockquote>
    <br>
  </body>
</html>