Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
1.7.0
-
None
-
OS X 10.6.2
Description
I was very pleased to find that Axis2/c 1.7.0RC2 builds correctly on OS X 10.6.
However when building the samples directory I got the following error:
Making all in echo
gcc -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/axis2c/include/axis2-1.7.0 -g -O2 -D_LARGEFILE64_SOURCE -ansi -Wall -Werror -Wno-implicit-function-declaration -g -D_GNU_SOURCE -MT echo.o -MD -MP -MF .deps/echo.Tpo -c -o echo.o echo.c
In file included from /usr/local/axis2c/include/axis2-1.7.0/platforms/unix/axutil_unix.h:126,
from /usr/local/axis2c/include/axis2-1.7.0/platforms/axutil_platform_auto_sense.h:53,
from /usr/local/axis2c/include/axis2-1.7.0/axutil_dll_desc.h:31,
from /usr/local/axis2c/include/axis2-1.7.0/axutil_class_loader.h:31,
from /usr/local/axis2c/include/axis2-1.7.0/axis2_util.h:24,
from echo.c:21:
/usr/include/unistd.h:495: error: conflicting types for 'swab'
/usr/include/string.h:137: error: previous declaration of 'swab' was here
In file included from /usr/local/axis2c/include/axis2-1.7.0/platforms/unix/axutil_unix.h:126,
from /usr/local/axis2c/include/axis2-1.7.0/platforms/axutil_platform_auto_sense.h:53,
from /usr/local/axis2c/include/axis2-1.7.0/axutil_dll_desc.h:31,
from /usr/local/axis2c/include/axis2-1.7.0/axutil_class_loader.h:31,
from /usr/local/axis2c/include/axis2-1.7.0/axis2_util.h:24,
from echo.c:21:
/usr/include/unistd.h:570: error: conflicting types for 'setkey'
/usr/include/stdlib.h:235: error: previous declaration of 'setkey' was here
/usr/include/unistd.h:590: error: conflicting types for 'getsubopt'
/usr/include/stdlib.h:206: error: previous declaration of 'getsubopt' was here
make[3]: *** [echo.o] Error 1
On OS X function 'swab' and 'setkey' are declared both in unistd.h and string.h .
I could easily avoid the error with the patch below:
— ./util/include/platforms/unix/axutil_unix.h 2010-08-19 11:57:15.000000000 +0200
+++ /usr/local/axis2c/include/axis2-1.7.0/platforms/unix/axutil_unix.h 2010-12-05 22:02:30.000000000 +0100
@@ -122,9 +122,9 @@
#include "axutil_date_time_util_unix.h"
/* for file access handling */
-#ifdef HAVE_UNISTD_H
+#if defined HAVE_UNISTD_H && !defined _APPLE_
#include <unistd.h>
-#endif /*HAVE_UNISTD_H */
+#endif /*HAVE_UNISTD_H && !defined _APPLE_ */
/* network handling */
#include <sys/socket.h>