problem with def of inet_ntop() in git-compat-util.h as well as other places
- From
- dev <dev@cor0.com>
- Date
- Aug 27, 2014, 19:15 UTC
- Message-ID
- <1024776344.30870.1409166905539.JavaMail.vpopmail@webmail2.networksolutionsemail.com>
per :
http://pubs.opengroup.org/onlinepubs/009695399/functions/inet_ntop.html
The last parameter is not unsigned long but socklen_t size.
This causes a problem on things like Solaris :
* new build flags
CC credential-store.o
"git-compat-util.h", line 516: error: identifier redeclared: inet_ntop
current : function(int, pointer to const void, pointer to char,
unsigned long) returning pointer to const char
previous: function(int, pointer to const void, pointer to char,
unsigned int) returning pointer to const char :
"/usr/include/arpa/inet.h", line 68
cc: acomp failed for credential-store.c
gmake: *** [credential-store.o] Error 2Therefore I hacked around it with a #ifdef __SunOS_5_10 for the sake of getting the build done.
However ran into a problem, again, with compat/inet_ntop.c which seems to be not needed at all since inet_ntop() handles both IPv6 and IPv4 just fine. Really I don't see why this file gets carted around so much as it is even in the Apache svn codebase as well.
Not needed.
Therefore I commented out the inet_ntop() function entirely therein.
Also the Makefile's generated are all borked full of GCCism "CFLAGS = -g -O2 -Wall" which means very little on some OS wherein the gcc compiler is not the default. Love GCC. I bootstrap it all the time. However this is Solaris and am using ORacle Studio 12.3 compilers and therefore the CFLAGS in the Makefiles are just silly. Lastly, the linkage to libintl should look in /usr/local/lib if the LD_LIBRARY_PATH and other env vars are setup correctly. However the Makefile's seem to miss this fact and -lintl needs to be manually hacked into place.
Still doesn't "just build" yet. Getting there :-\
dev