<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>
      The file pam_modules.h<br>
      <blockquote>bash-4.2# cat /usr/include/security/pam_modules.h <br>
        /*
        IBM_PROLOG_BEGIN_TAG                                                  
        */<br>
        /* This is an automatically generated
        prolog.                             */<br>
        /*                                                                       
        */<br>
        /* bos610 src/bos/usr/ccs/lib/libpam/security/pam_modules.h
        1.2           */<br>
        /*                                                                       
        */<br>
        /* Licensed Materials - Property of
        IBM                                   */<br>
        /*                                                                       
        */<br>
        /* Restricted Materials of
        IBM                                            */<br>
        /*                                                                       
        */<br>
        /* COPYRIGHT International Business Machines Corp.
        2000,2001              */<br>
        /* All Rights
        Reserved                                                    */<br>
        /*                                                                       
        */<br>
        /* US Government Users Restricted Rights - Use, duplication
        or            */<br>
        /* disclosure restricted by GSA ADP Schedule Contract with IBM
        Corp.      */<br>
        /*                                                                       
        */<br>
        /*
        IBM_PROLOG_END_TAG                                                    
        */<br>
        /* $XConsortium: pam_modules.h /main/5 1996/05/09 04:25:54 drk $
        */<br>
        /*<br>
         * Copyright (c) 1992-1995, by Sun Microsystems, Inc.<br>
         * All rights reserved.<br>
         */<br>
        <br>
        <br>
        #ifndef _PAM_MODULES_H<br>
        #define _PAM_MODULES_H<br>
        <br>
        #ifndef _PAM_APPL_H<br>
        #include <security/pam_appl.h><br>
        #endif<br>
        <br>
        #ifdef __cplusplus<br>
        extern "C" {<br>
        #endif<br>
        <br>
        extern int<br>
        pam_sm_authenticate(<br>
                pam_handle_t    *pamh,<br>
                int     flags,<br>
                int     argc,<br>
                const char      **argv);<br>
        <br>
        extern int<br>
        pam_sm_setcred(<br>
                pam_handle_t    *pamh,<br>
                int     flags,<br>
                int     argc,<br>
                const char      **argv);<br>
        <br>
        extern int<br>
        pam_sm_acct_mgmt(<br>
                pam_handle_t    *pamh,<br>
                int     flags,<br>
                int     argc,<br>
                const char      **argv);<br>
        <br>
        extern int<br>
        pam_sm_open_session(<br>
                pam_handle_t    *pamh,<br>
                int     flags,<br>
                int     argc,<br>
                const char      **argv);<br>
        <br>
        extern int<br>
        pam_sm_close_session(<br>
                pam_handle_t    *pamh,<br>
                int     flags,<br>
                int     argc,<br>
                const char      **argv);<br>
        <br>
        /*<br>
         * Be careful - there are flags defined for pam_chauthtok() in<br>
         * pam_appl.h also.<br>
         */<br>
        #define PAM_PRELIM_CHECK        1<br>
        #define PAM_UPDATE_AUTHTOK      2<br>
        <br>
        #define PAM_REP_DEFAULT 0x0<br>
        #define PAM_REP_FILES   0x01<br>
        #define PAM_REP_NIS     0x02<br>
        #define PAM_REP_NISPLUS 0x04<br>
        #define PAM_OPWCMD      0x08    /* for nispasswd, yppasswd */<br>
        #define IS_FILES(x)     ((x & PAM_REP_FILES) ==
        PAM_REP_FILES)<br>
        #define IS_NIS(x)       ((x & PAM_REP_NIS) == PAM_REP_NIS)<br>
        #define IS_NISPLUS(x)   ((x & PAM_REP_NISPLUS) ==
        PAM_REP_NISPLUS)<br>
        #define IS_OPWCMD(x)    ((x & PAM_OPWCMD) == PAM_OPWCMD)<br>
        <br>
        extern int<br>
        pam_sm_chauthtok(<br>
                pam_handle_t    *pamh,<br>
                int             flags,<br>
                int             argc,<br>
                const char      **argv);<br>
        <br>
        #ifdef __cplusplus<br>
        }<br>
        #endif<br>
        <br>
        #endif  /* _PAM_MODULES_H */<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/26 下午9:08, Arran Cudbard-Bell 提到:<br>
    </div>
    <blockquote
      cite="mid:1FA0727A-E982-4505-B435-2E27B704AA75@freeradius.org"
      type="cite">
      <blockquote type="cite">
        <pre wrap="">
Thank you very so much for your support, there still have error message:
</pre>
      </blockquote>
      <pre wrap="">
Can you send me the output of

cat /usr/include/security/pam_modules.h

For some reason the pam function signatures still don't match what you have on your system.

-Arran

</pre>
      <blockquote type="cite">
        <pre wrap="">bash-4.2# make
        cc -Wall -fPIC -c src/pam_radius_auth.c -o pam_radius_auth.o
src/pam_radius_auth.c:1037:16: error: conflicting types for 'pam_sm_authenticate'
 PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh,int flags,int argc,CONST char **argv)
                ^
In file included from src/pam_radius_auth.h:31:0,
                 from src/pam_radius_auth.c:61:
/usr/include/security/pam_modules.h:36:1: note: previous declaration of 'pam_sm_authenticate' was here
 pam_sm_authenticate(
 ^
src/pam_radius_auth.c:1240:16: error: conflicting types for 'pam_sm_setcred'
 PAM_EXTERN int pam_sm_setcred(pam_handle_t *pamh,int flags,int argc,CONST char **argv)
                ^
In file included from src/pam_radius_auth.h:31:0,
                 from src/pam_radius_auth.c:61:
/usr/include/security/pam_modules.h:43:1: note: previous declaration of 'pam_sm_setcred' was here
 pam_sm_setcred(
 ^
src/pam_radius_auth.c: In function 'pam_private_session':
src/pam_radius_auth.c:1256:6: warning: variable 'ctrl' set but not used [-Wunused-but-set-variable]
  int ctrl;
      ^
src/pam_radius_auth.c: At top level:
src/pam_radius_auth.c:1335:16: error: conflicting types for 'pam_sm_open_session'
 PAM_EXTERN int pam_sm_open_session(pam_handle_t *pamh, int flags, int argc, CONST char **argv)
                ^
In file included from src/pam_radius_auth.h:31:0,
                 from src/pam_radius_auth.c:61:
/usr/include/security/pam_modules.h:57:1: note: previous declaration of 'pam_sm_open_session' was here
 pam_sm_open_session(
 ^
src/pam_radius_auth.c:1340:16: error: conflicting types for 'pam_sm_close_session'
 PAM_EXTERN int pam_sm_close_session(pam_handle_t *pamh, int flags, int argc, CONST char **argv)
                ^
In file included from src/pam_radius_auth.h:31:0,
                 from src/pam_radius_auth.c:61:
/usr/include/security/pam_modules.h:64:1: note: previous declaration of 'pam_sm_close_session' was here
 pam_sm_close_session(
 ^
src/pam_radius_auth.c:1349:16: error: conflicting types for 'pam_sm_chauthtok'
 PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, CONST char **argv)
                ^
In file included from src/pam_radius_auth.h:31:0,
                 from src/pam_radius_auth.c:61:
/usr/include/security/pam_modules.h:88:1: note: previous declaration of 'pam_sm_chauthtok' was here
 pam_sm_chauthtok(
 ^
src/pam_radius_auth.c:1575:16: error: conflicting types for 'pam_sm_acct_mgmt'
 PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t *pamh,int flags,int argc,CONST char **argv)
                ^
In file included from src/pam_radius_auth.h:31:0,
                 from src/pam_radius_auth.c:61:
/usr/include/security/pam_modules.h:50:1: note: previous declaration of 'pam_sm_acct_mgmt' was here
 pam_sm_acct_mgmt(
 ^
make: 1254-004 The error code from the last command is 1.


Stop.
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
==============================================================

於 2014/5/25 下午5:50, Arran Cudbard-Bell 提到:
</pre>
        <blockquote type="cite">
          <blockquote type="cite">
            <pre wrap="">        cc -Wall -fPIC -c src/md5.c -o md5.o
        cc -shared -Wl pam_radius_auth.o md5.o -lpam -o pam_radius_auth.so
cc: error: unrecognized command line option '-Wl'
make: 1254-004 The error code from the last command is 1.

</pre>
          </blockquote>
          <pre wrap="">Ok, tweaked it some more, try now?

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




-
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>
        <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>
      <pre wrap="">
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>