AIX7.3을 실행하는 테스트 서버에 Radius 서버를 설치하려고 합니다. 나는 다음을 수행했습니다.
- pam_radius-1.4.0.tar.gz를 다운로드한 /tmp에 tar 파일을 추출했습니다.
- 80행에서 pam_radius-1.4.0/src/pam_radius_auth.h를 수정하고 #ifndef CONST 앞에 #define __sun을 추가합니다.
- 변경 사항 구성 및 컴파일
#./configure # make
make 명령을 실행할 때 다음 오류가 발생합니다.
# make
cc -Wall -fPIC -c src/pam_radius_auth.c -o pam_radius_auth.o
cc: not found
make: 1254-004 The error code from the last command is 1.
일을 하는 동안
#make CC=gcc
다음과 같은 오류가 발생하는데 해결 방법을 모르겠습니다. 누군가가 내 오류를 설명하고 AIX7.3에 r4adius를 설치하는 방법에 대한 최신 문서를 갖고 있다면 더 좋을 것입니다.
# make CC=gcc
gcc -Wall -fPIC -c src/pam_radius_auth.c -o pam_radius_auth.o src/pam_radius_auth.c: In function 'rad_converse': src/pam_radius_auth.c:1028:40: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types] 1028 | retval = pam_get_item(pamh, PAM_CONV, (CONST void **) &conv);
| ^~~~~~~~~~~~~~~~~~~~~
| |
| const void ** In file included from src/pam_radius_auth.h:25,
from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **' 196 | void ** item /* Address of place to put pointer */
| ~~~~~~~~^~~~ src/pam_radius_auth.c:1031:25: warning: passing argument 2 of 'conv->conv' from incompatible pointer type [-Wincompatible-pointer-types] 1031 | retval = conv->conv(1, msg, &resp,conv->appdata_ptr);
| ^~~
| |
| const struct pam_message ** src/pam_radius_auth.c:1031:25: note: expected 'struct pam_message **' but argument is of type 'const struct pam_message **' src/pam_radius_auth.c: In function 'pam_sm_authenticate': src/pam_radius_auth.c:1081:30: warning: passing argument 2 of 'pam_get_user' from incompatible pointer type [-Wincompatible-pointer-types] 1081 | retval = pam_get_user(pamh, &user, NULL);
| ^~~~~
| |
| const char ** In file included from src/pam_radius_auth.h:25,
from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:221:9: note: expected 'char **' but argument is of type 'const char **' 221 | char **user, /* User Name */
| ~~~~~~~^~~~ src/pam_radius_auth.c:1096:42: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types] 1096 | retval = pam_get_item(pamh, PAM_RUSER, (CONST void **) &userinfo);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| |
| const void ** In file included from src/pam_radius_auth.h:25,
from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **' 196 | void ** item /* Address of place to put pointer */
| ~~~~~~~~^~~~ src/pam_radius_auth.c:1120:44: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types] 1120 | retval = pam_get_item(pamh, PAM_SERVICE, (CONST void **) &config.client_id);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| const void ** In file included from src/pam_radius_auth.h:25,
from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **' 196 | void ** item /* Address of place to put pointer */
| ~~~~~~~~^~~~ src/pam_radius_auth.c:1136:44: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types] 1136 | retval = pam_get_item(pamh, PAM_AUTHTOK, (CONST void **) &password);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| |
| const void ** In file included from src/pam_radius_auth.h:25,
from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **' 196 | void ** item /* Address of place to put pointer */
| ~~~~~~~~^~~~ src/pam_radius_auth.c:1170:41: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types] 1170 | retval = pam_get_item(pamh, PAM_RHOST, (CONST void **) &rhost);
| ^~~~~~~~~~~~~~~~~~~~~~
| |
| const void ** In file included from src/pam_radius_auth.h:25,
from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **' 196 | void ** item /* Address of place to put pointer */
| ~~~~~~~~^~~~ src/pam_radius_auth.c: In function 'pam_sm_setcred': src/pam_radius_auth.c:1290:43: warning: passing argument 3 of 'pam_get_data' from incompatible pointer type [-Wincompatible-pointer-types] 1290 | pam_get_data(pamh, "rad_setcred_return", (CONST void **) &pret);
| ^~~~~~~~~~~~~~~~~~~~~
| |
| const void ** In file included from src/pam_radius_auth.h:25,
from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:246:9: note: expected 'void **' but argument is of type 'const void **' 246 | void **data
| ~~~~~~~^~~~ src/pam_radius_auth.c: In function 'pam_private_session': src/pam_radius_auth.c:1312:30: warning: passing argument 2 of 'pam_get_user' from incompatible pointer type [-Wincompatible-pointer-types] 1312 | retval = pam_get_user(pamh, &user, NULL);
| ^~~~~
| |
| const char ** In file included from src/pam_radius_auth.h:25,
from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:221:9: note: expected 'char **' but argument is of type 'const char **' 221 | char **user, /* User Name */
| ~~~~~~~^~~~ src/pam_radius_auth.c:1332:44: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types] 1332 | retval = pam_get_item(pamh, PAM_SERVICE, (CONST void **) &config.client_id);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| const void ** In file included from src/pam_radius_auth.h:25,
from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **' 196 | void ** item /* Address of place to put pointer */
| ~~~~~~~~^~~~ src/pam_radius_auth.c:1300:6: warning: variable 'ctrl' set but not used [-Wunused-but-set-variable] 1300 | int ctrl;
| ^~~~ src/pam_radius_auth.c: In function 'pam_sm_chauthtok': src/pam_radius_auth.c:1412:30: warning: passing argument 2 of 'pam_get_user' from incompatible pointer type [-Wincompatible-pointer-types] 1412 | retval = pam_get_user(pamh, &user, NULL);
| ^~~~~
| |
| const char ** In file included from src/pam_radius_auth.h:25,
from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:221:9: note: expected 'char **' but argument is of type 'const char **' 221 | char **user, /* User Name */
| ~~~~~~~^~~~ src/pam_radius_auth.c:1432:44: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types] 1432 | retval = pam_get_item(pamh, PAM_SERVICE, (CONST void **) &config.client_id);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| const void ** In file included from src/pam_radius_auth.h:25,
from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **' 196 | void ** item /* Address of place to put pointer */
| ~~~~~~~~^~~~ src/pam_radius_auth.c:1441:46: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types] 1441 | retval = pam_get_item(pamh, PAM_OLDAUTHTOK, (CONST void **) &password);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| |
| const void ** In file included from src/pam_radius_auth.h:25,
from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **' 196 | void ** item /* Address of place to put pointer */
| ~~~~~~~~^~~~ src/pam_radius_auth.c:1446:43: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types] 1446 | retval = pam_get_item(pamh, PAM_AUTHTOK, (CONST void **) &new_password);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| const void ** In file included from src/pam_radius_auth.h:25,
from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **' 196 | void ** item /* Address of place to put pointer */
| ~~~~~~~~^~~~
gcc -Wall -fPIC -c src/md5.c -o md5.o
gcc -shared pam_radius_auth.o md5.o -lpam -o pam_radius_auth.so Target "all" is up to date.