kravietz / pam_tacplus

TACACS+ protocol client library and PAM module in C. This PAM module support authentication, authorization (account management) and accounting (session management)performed using TACACS+ protocol designed by Cisco.
GNU Lesser General Public License v3.0
132 stars 101 forks source link

Issue with the supplied md5.h on Sol10 x86 + gcc 4.9.2 #58

Closed cyanb closed 2 years ago

cyanb commented 8 years ago

Compilation is blowing up spectacularly, on a Solaris 10 x86 box w/CSW tooling installed.

I wouldn't even begin to know where to go with this:

libtool: compile: gcc -DHAVE_CONFIG_H -I. -fstack-protector-all -Wl,-z,relro -Wl,-z,now -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -I ./libtac/include -g -O2 -MT libtac/lib/libtac_la-authen_s.lo -MD -MP -MF libtac/lib/.deps/libtac_la-authen_s.Tpo -c libtac/lib/authen_s.c -fPIC -DPIC -o libtac/lib/.libs/libtac_la-authen_s.o In file included from libtac/lib/authen_s.c:35:0: libtac/lib/md5.h:37:17: error: expected declaration specifiers or '...' before '(' token void MD5InitP((MD5CTX)); ^ libtac/lib/md5.h:38:19: error: expected declaration specifiers or '...' before '(' token void MD5UpdateP((MD5CTX, unsigned char_, UINT4)); ^ libtac/lib/md5.h:39:18: error: expected declaration specifiers or '...' before '(' token void MD5Final__P((unsigned char[], MD5CTX)); ^ libtac/lib/authen_s.c: In function 'tac_authen_send': libtac/lib/authen_s.c:152:2: warning: incompatible implicit declaration of built-in function 'bcopy' bcopy(&tb, pkt + pktlen, sizeof(tb)); /* packet body beginning / ^ _\ Error code 1 make: Fatal error: Command failed for target libtac/lib/libtac_la-authen_s.lo' Current working directory /export/home/gmelanso/pam_tacplus-master *** Error code 1 make: Fatal error: Command failed for targetall'

.. thoughts?

cyberrbob commented 8 years ago

I had the same error and fixed it by adding space between a function name and a macro P(...), pls. look this for info https://lists.freebsd.org/pipermail/freebsd-questions/2006-June/124165.html so, I had MD5UpdateP((MD5_CTX, unsigned char, UINT4)) and I got MD5Update __P((MD5_CTX, unsigned char, UINT4)) now it compiles nice.

PS. YOU need fix all mentioned functions in this file to fix problem.