Hi everyone!
During the recompilation of all the packages for x86_64 and switching to newest package versions I stumbled over the impossibility to compile MySQL due to an error in mysql/vio/viosslfactories.c:
viosslfactories.c:42:7: error: invalid use of incomplete typedef 'DH' {aka 'struct dh_st'}
viosslfactories.c:43:7: error: invalid use of incomplete typedef 'DH' {aka 'struct dh_st'}
viosslfactories.c:44:13: error: invalid use of incomplete typedef 'DH' {aka 'struct dh_st'}
viosslfactories.c:44:24: error: invalid use of incomplete typedef 'DH' {aka 'struct dh_st'}
What I found out yet is that this derives from a change in OpenSSL 1.1.x, "due to API changes and structures being opaque" - whatever this exactly means. (see http://vega.pgw.jp/~kabe/vsd/migrate2openssl-1.1.html ).
I guess this could be solved quite quickly with a relatively small patch, but my c/c++ skills are ancient and long gone.
Is there anybody out there with a solution at hand?!?
Thanks in advance !!!
SubStructure in viosslfactories.c looks like this:
static DH *get_dh512(void)
{
DH *dh;
if ((dh=DH_new()))
{
dh->p=BN_bin2bn(dh512_p,sizeof(dh512_p),NULL);
dh->g=BN_bin2bn(dh512_g,sizeof(dh512_g),NULL);
if (! dh->p || ! dh->g)
{
DH_free(dh);
dh=0;
}
}
return(dh);
}