I could not find this question anywhere, but I apologize if it is and I just missed it. Running an Alpha, OSF1 V5.1 1885 configure went fine. compile failed: cc -I. -I. -g -DHAVE_CONFIG_H -I./popt -c lib/getaddrinfo.c -o lib/getaddrinfo.o cc: Error: lib/getaddrinfo.c, line 182: In this statement, "EAI_MAX" is not declared. (undeclared) if (ecode < 0 || ecode > EAI_MAX) ---------------------------------^ cc: Error: lib/getaddrinfo.c, line 264: In this statement, "EAI_BADHINTS" is not declared. (undeclared) ERR(EAI_BADHINTS); /* xxx */ ------------------------^ cc: Error: lib/getaddrinfo.c, line 265: In this statement, "AI_MASK" is not declared. (undeclared) if (hints->ai_flags & ~AI_MASK) ---------------------------------------^ cc: Error: lib/getaddrinfo.c, line 299: In this statement, "EAI_BADHINTS" is not declared. (undeclared) ERR(EAI_BADHINTS); /*xxx*/ --------------------------------^ cc: Error: lib/getaddrinfo.c, line 305: In this statement, "EAI_BADHINTS" is not declared. (undeclared) ERR(EAI_BADHINTS); /*xxx*/ --------------------------------^ cc: Error: lib/getaddrinfo.c, line 355: In this statement, "EAI_PROTOCOL" is not declared. (undeclared) ERR(EAI_PROTOCOL); /*xxx*/ ----------------------------------------^ *** Exit 1 See no documentation about EAI_MAX And, looking in the code, indeed, EAI_MAX (et. al.) are not defined anywhere! How should I handle this? thanks, -tom
On Mon, Oct 27, 2003 at 03:39:37PM -0800, Tom Holton wrote:> > I could not find this question anywhere, but I apologize if it is and I > just missed it. > > Running an Alpha, OSF1 V5.1 1885 > > configure went fine. > > compile failed: > > cc -I. -I. -g -DHAVE_CONFIG_H -I./popt -c lib/getaddrinfo.c -o > lib/getaddrinfo.o > cc: Error: lib/getaddrinfo.c, line 182: In this statement, "EAI_MAX" is > not declared. (undeclared) > if (ecode < 0 || ecode > EAI_MAX) > ---------------------------------^ > cc: Error: lib/getaddrinfo.c, line 264: In this statement, "EAI_BADHINTS" > is not declared. (undeclared) > ERR(EAI_BADHINTS); /* xxx */ > ------------------------^ > cc: Error: lib/getaddrinfo.c, line 265: In this statement, "AI_MASK" is > not declared. (undeclared) > if (hints->ai_flags & ~AI_MASK) > ---------------------------------------^ > cc: Error: lib/getaddrinfo.c, line 299: In this statement, "EAI_BADHINTS" > is not declared. (undeclared) > ERR(EAI_BADHINTS); /*xxx*/ > --------------------------------^ > cc: Error: lib/getaddrinfo.c, line 305: In this statement, "EAI_BADHINTS" > is not declared. (undeclared) > ERR(EAI_BADHINTS); /*xxx*/ > --------------------------------^ > cc: Error: lib/getaddrinfo.c, line 355: In this statement, "EAI_PROTOCOL" > is not declared. (undeclared) > ERR(EAI_PROTOCOL); /*xxx*/ > ----------------------------------------^ > *** Exit 1 > > > See no documentation about EAI_MAX > > And, looking in the code, indeed, EAI_MAX (et. al.) are not defined > anywhere!It is defined in lib/addrinfo.h and included from rsync.h> > How should I handle this? > > thanks, > -tom > > > -- > To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync > Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html >-- ________________________________________________________________ J.W. Schultz Pegasystems Technologies email address: jw@pegasys.ws Remember Cernan and Schmitt
Hi, thanks for the reply. I apologize for not having a clearer question. I did know that EAI_MAX was in lib/addrinfo.h I have been able to produce an executable by simply copying 4 lines from lib/addrinfo.h into lib/getaddrinfo.c #define EAI_BADHINTS 12 #define EAI_PROTOCOL 13 #define EAI_MAX 14 #define AI_MASK (AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST) but I am guessing that this is not the preferred solution. I am assuming linux compilers or gcc do not get this problem, so I thought it might by important to have a correction for this on oSF. thanks for your help, On Mon, 27 Oct 2003, jw schultz wrote:> On Mon, Oct 27, 2003 at 03:39:37PM -0800, Tom Holton wrote: > > > > I could not find this question anywhere, but I apologize if it is and I > > just missed it. > > > > Running an Alpha, OSF1 V5.1 1885 > > > > configure went fine. > > > > compile failed: > > > > cc -I. -I. -g -DHAVE_CONFIG_H -I./popt -c lib/getaddrinfo.c -o > > lib/getaddrinfo.o > > cc: Error: lib/getaddrinfo.c, line 182: In this statement, "EAI_MAX" is > > not declared. (undeclared) > > if (ecode < 0 || ecode > EAI_MAX) > > ---------------------------------^ > > cc: Error: lib/getaddrinfo.c, line 264: In this statement, "EAI_BADHINTS" > > is not declared. (undeclared) > > ERR(EAI_BADHINTS); /* xxx */ > > ------------------------^ > > cc: Error: lib/getaddrinfo.c, line 265: In this statement, "AI_MASK" is > > not declared. (undeclared) > > if (hints->ai_flags & ~AI_MASK) > > ---------------------------------------^ > > cc: Error: lib/getaddrinfo.c, line 299: In this statement, "EAI_BADHINTS" > > is not declared. (undeclared) > > ERR(EAI_BADHINTS); /*xxx*/ > > --------------------------------^ > > cc: Error: lib/getaddrinfo.c, line 305: In this statement, "EAI_BADHINTS" > > is not declared. (undeclared) > > ERR(EAI_BADHINTS); /*xxx*/ > > --------------------------------^ > > cc: Error: lib/getaddrinfo.c, line 355: In this statement, "EAI_PROTOCOL" > > is not declared. (undeclared) > > ERR(EAI_PROTOCOL); /*xxx*/ > > ----------------------------------------^ > > *** Exit 1 > > > > > > See no documentation about EAI_MAX > > > > And, looking in the code, indeed, EAI_MAX (et. al.) are not defined > > anywhere! > > It is defined in lib/addrinfo.h and included from rsync.h > > > > > How should I handle this? > > > > thanks, > > -tom > > > > > > -- > > To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync > > Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html > > > > -- > ________________________________________________________________ > J.W. Schultz Pegasystems Technologies > email address: jw@pegasys.ws > > Remember Cernan and Schmitt > -- > To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync > Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html >
jw schultz wrote:> On Mon, Oct 27, 2003 at 03:39:37PM -0800, Tom Holton wrote: > >>I could not find this question anywhere, but I apologize if it is and I >>just missed it. >> >>Running an Alpha, OSF1 V5.1 1885 >> >>configure went fine. >> >>compile failed: >> >> >>See no documentation about EAI_MAX >> >>And, looking in the code, indeed, EAI_MAX (et. al.) are not defined >>anywhere! > > > It is defined in lib/addrinfo.h and included from rsync.hFor DECC on OpenVMS, the symbol EAI_ADDRFAMILY is defined in netdb.h, and if netdb.h gets included before lib/addrinfo.h, then lib/addrinfo.h will not define those symbols. This may be the same for OSF1 on Alpha.>>How should I handle this?I do not know for OSF1 on Alpha. But now that you know what is happening, maybe you can figure out a workaround. For OpenVMS, I have the program that generates config.h put in the config.h file a #include "vms_config.h". In the vms_config.h I put all the manual fixups. In the vms_config.h I put the missing definitions for the EIA symbols that were compatable with the existing EIA symbols supplied by the operating system. -John wb8tyw@qsl.net Personal Opinion Only
Tom Holton wrote:> Hi, thanks for the reply. I apologize for not having a clearer question. > I did know that EAI_MAX was in lib/addrinfo.h > I have been able to produce an executable by simply copying 4 lines from > lib/addrinfo.h into lib/getaddrinfo.c > #define EAI_BADHINTS 12 > #define EAI_PROTOCOL 13 > #define EAI_MAX 14 > #define AI_MASK (AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST) > > but I am guessing that this is not the preferred solution.> I am assuming linux compilers or gcc do not get this problem, so > I thought it might by important to have a correction for this on oSF.OSF1 on ALPHA is one of the previous names for what is now Tru64 UNIX, so what you are running is very old. It was named DIGITAL UNIX for several years before Compaq and Digital merged. Compaq changed the name to Tru64. I have not tracked the timeline for it closely, but the last time it was called OSF1 has got to have been about 5 years ago or longer. Ancient time in computer versions. It probably predates the getaddrinfo() call. If your version of DEC C is the same age as your OS, it is probably also ancient. Newer versions have better optimizers, error diagnostics and compliance with the C standards. If this qualified for a non-commercial hobby/educational license, you can upgrade to the current version for $99.00. http://h30097.www3.hp.com/noncommercial-unix/buy.htm Other than than occasionally doing battle with a LINUX or other UNIX systems, I do not know much about UNIX and rely on the expertise of others. I am trying to get rsync running on OpenVMS. On OpenVMS, the hobbyist license is free, and it includes the license for the DEC C compiler, code profilers, and other develoment tools. -John wb8tyw@qsl.net Personal Opinion Only