Hello all --
I'm having a hell of a time trying to build fetchmail 5.9.11 on
Tru64 UNIX with the vendor's C compiler (which has never given me any
trouble before). Is this a known issue? Pertinent software versions:
> cc -V
Compaq C V6.3-025 on Compaq Tru64 UNIX V5.1 (Rev. 732)
Compiler Driver V6.3-026 (sys) cc Driver
> flex --version
flex version 2.5.4
The most painless possible build (./configure --disable-nls) eventually
gives up on smtp.c. Here's some sample output from just smtp.c:
--- begin build output ---
cc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -c -I. -I.
-I./intl -I./intl -DHESIOD -I/usr/local/include -O smtp.c
cc: Warning: fetchmail.h, line 403: Invalid token discarded. (invaltoken)
__attribute__ ((format (printf, 2, 3)))
----^
cc: Warning: fetchmail.h, line 406: Invalid token discarded. (invaltoken)
__attribute__ ((format (printf, 2, 3)))
----^
cc: Warning: fetchmail.h, line 409: Invalid token discarded. (invaltoken)
__attribute__ ((format (printf, 2, 3)))
----^
cc: Warning: fetchmail.h, line 412: Invalid token discarded. (invaltoken)
__attribute__ ((format (printf, 5, 6)))
----^
cc: Warning: fetchmail.h, line 435: Invalid token discarded. (invaltoken)
__attribute__ ((format (printf, 2, 3)))
----^
cc: Warning: fetchmail.h, line 439: Invalid token discarded. (invaltoken)
__attribute__ ((format (printf, 2, 3)))
----^
cc: Warning: fetchmail.h, line 491: Invalid token discarded. (invaltoken)
__attribute__ ((format (printf, 2, 3)))
----^
cc: Error: smtp.c, line 65: Missing ";". This condition may have been caused
by an open brace without a matching close brace. The compiler will attempt to
identify open braces that might be missing a close brace. (nosemi1)
{
--------^
cc: Warning: smtp.c, line 62: This open brace may be missing a close brace
and causing the syntax error at line number 65 in file smtp.c. (badopenbrace)
{
^
cc: Error: smtp.c, line 76: Invalid declarator. (declarator)
if (!username || !password) return;
--------^
cc: Error: smtp.c, line 122: Invalid declarator. (declarator)
else if (strstr(buf, "PLAIN")) {
--------^
cc: Error: smtp.c, line 143: Invalid declarator. (declarator)
else if (strstr(buf, "LOGIN")) {
--------^
cc: Error: smtp.c, line 180: Invalid declarator. (declarator)
return;
--------^
cc: Warning: smtp.c, line 64: The block-level declaration of the function
"SMTP_auth_error" specifies an explicit storage class other than extern.
(funcstrcls)
static void SMTP_auth_error(int sock, char *msg)
--------------------^
cc: Error: smtp.c, line 68: In this statement, "msg" is not declared.
(undeclared)
if (outlevel >= O_MONITOR) report(stdout, msg);
----------------------------------------------------------^
make: *** [smtp.o] Error 1
--- end build output ---
I've been scratching my head about the obvious lines in fetchmail.h:
#if !defined __GNUC__ || __GNUC__ < 2
# define __attribute__(xyz)<BB> /* Ignore. */
#endif
But I've not come to any conclusion otherwise. Any ideas?
Thanks,
Scott