OK. I read over it the first time. set CC=xlc_r or CC=xlc and you should get the right parameters. Also, you will no longer need the flag -qlanglvl=extc89. Hope this helps! Michael On 2/19/2020 5:51 PM, Val Baranov wrote: > On Tuesday, February 18, 2020 8:31 PM Darren Tucker wrote: > On Wed, 19 Feb 2020 at 06:38, Val Baranov <val.baranov@xxxxxxxx> wrote: >>> AIX 7.1 TL5, OpenSSL ver. 1.1.1d. "vac.C" version 11.0.1.23 >>> Compilation error " The indirection operator cannot be applied to a pointer >> to an incomplete struct or union " (see full log below) produced for " libressl- >> api-compat.c ". >>> No such error if compiled with OpenSSL ver. 1.0.2r (and the earlier >>> versions) Any idea how to fix? Thank you >> Are you sure this is the 8.2p1 source? The line numbers from the error >> messages don't correspond to those in 8.2p1, but they do match 7.9p1. For >> example: >> >>> "libressl-api-compat.c", line 619.26: 1506-043 (S) The operand of the sizeof >> operator is not valid. >> >> $ head -619 openssh-7.9p1/openbsd-compat/libressl-api-compat.c | tail -1 >> return calloc(1, sizeof(EVP_MD_CTX)); $ head -619 openssh-8.0p1/openbsd- >> compat/libressl-api-compat.c | tail -1 #ifndef HAVE_EVP_MD_CTX_NEW $ >> head -619 openssh-8.2p1/openbsd-compat/libressl-api-compat.c | tail -1 >> #ifndef HAVE_EVP_MD_CTX_NEW >> >> I don't have VAC so I can't reproduce this myself. I have built >> 8.2p1 with a shared-lib openssl-1.1.1d on AIX with GCC, though. > Daren, This is definitely ver. 8.2 - my apologies, but the output provided from session where " libressl-api-compat.c " was substituted with the older version in attempts to find out if this may have any difference. > The "make" output with the 'native' souce of " libressl-api-compat.c " (truncated) is as follows: > # make > (cd openbsd-compat && make) > cc -qlanglvl=extc89 -g -q64 -fPIC -I. -I.. -I. -I./.. -I/usr/local/openssl/include -I/usr/local/zlib/include -DHAVE_CONFIG_H -c libressl-api-compat.c > "/usr/include/stdarg.h", line 89.9: 1506-236 (W) Macro name va_copy has been redefined. > "/usr/include/stdarg.h", line 89.9: 1506-358 (I) "va_copy" is defined on line 872 of ../defines.h. > "libressl-api-compat.c", line 165.22: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union. > "libressl-api-compat.c", line 167.22: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union. > "libressl-api-compat.c", line 169.22: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union. > "libressl-api-compat.c", line 177.14: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union. > "libressl-api-compat.c", line 177.45: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union. > "libressl-api-compat.c", line 178.14: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union. > "libressl-api-compat.c", line 182.25: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union. > "libressl-api-compat.c", line 183.17: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union. > "libressl-api-compat.c", line 186.25: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union. > "libressl-api-compat.c", line 187.17: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union. > <skip> > <skip> > "libressl-api-compat.c", line 593.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union. > "libressl-api-compat.c", line 602.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union. > "libressl-api-compat.c", line 611.13: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union. > "libressl-api-compat.c", line 615.16: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union. > "libressl-api-compat.c", line 623.26: 1506-043 (S) The operand of the sizeof operator is not valid. > > So, what you may recommend? Switch over to gcc/gmake? This will leave AIX native compiler forever out of scope. As an option and if needed, I may perform debugging per your directions (if possible). > Txs. Val > > _______________________________________________ > openssh-unix-dev mailing list > openssh-unix-dev@xxxxxxxxxxx > https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev _______________________________________________ openssh-unix-dev mailing list openssh-unix-dev@xxxxxxxxxxx https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev