I'm trying to compile and install 'Apache 2.4.54 64bit' in 'IBM AIX 7.1'.
When I execute 'make', I hit this 'The parameter type is not valid for a function of this linkage type' error.
$ oslevel -s
7100-05-01-1731
$ cc -qversion
IBM XL C/C++ for AIX, V16.1.0 (5725-C72, 5765-J12)
Version: 16.01.0000.0007
$ make
Making all in srclib
Making all in apr
/bin/sh /refresh/home/stage/apache/2.4.54/srclib/apr/libtool --silent --mode=compile cc -qlanglvl=extc89 -g -DHAVE_CONFIG_H -U__STR__ -D_THREAD_SAFE -D_LARGEFILE64_SOURCE -I./include -I/refresh/home/stage/apache/2.4.54/srclib/apr/include/arch/unix -I./include/arch/unix -I/refresh/home/stage/apache/2.4.54/srclib/apr/include/arch/unix -I/refresh/home/stage/apache/2.4.54/srclib/apr/include -I/refresh/home/stage/apache/2.4.54/srclib/apr/include/private -I/refresh/home/stage/apache/2.4.54/srclib/apr/include/private -o atomic/unix/builtins64.lo -c atomic/unix/builtins64.c && touch atomic/unix/builtins64.lo
"atomic/unix/builtins64.c", line 33.12: 1506-754 (S) The parameter type is not valid for a function of this linkage type.
"atomic/unix/builtins64.c", line 38.5: 1506-754 (S) The parameter type is not valid for a function of this linkage type.
"atomic/unix/builtins64.c", line 43.12: 1506-754 (S) The parameter type is not valid for a function of this linkage type.
"atomic/unix/builtins64.c", line 48.12: 1506-754 (S) The parameter type is not valid for a function of this linkage type.
"atomic/unix/builtins64.c", line 54.12: 1506-754 (S) The parameter type is not valid for a function of this linkage type.
"atomic/unix/builtins64.c", line 61.12: 1506-754 (S) The parameter type is not valid for a function of this linkage type.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
$
And this is the source of "builtins64.c".
+31 APR_DECLARE(apr_uint64_t) apr_atomic_add64(volatile apr_uint64_t *mem, apr_uint64_t val)
+32 {
+33 return __sync_fetch_and_add(mem, val);
+34 }
+35
+36 APR_DECLARE(void) apr_atomic_sub64(volatile apr_uint64_t *mem, apr_uint64_t val)
+37 {
+38 __sync_fetch_and_sub(mem, val);
+39 }
+40
+41 APR_DECLARE(apr_uint64_t) apr_atomic_inc64(volatile apr_uint64_t *mem)
+42 {
+43 return __sync_fetch_and_add(mem, 1);
+44 }
+45
+46 APR_DECLARE(int) apr_atomic_dec64(volatile apr_uint64_t *mem)
+47 {
+48 return __sync_sub_and_fetch(mem, 1);
+49 }
Can anyone help me with this ?
Thanks in advance.