Description:
MySql compilation (tried with Mysql 5.7 and 8) is failing when openssl is installed from ports on FreeBsd 11.1. But when I use base openssl then mysql compilation goes through.
[ 13%] Building C object vio/CMakeFiles/vio.dir/viossl.c.o
cd /usr/ports/databases/mysql57-client/work/.build/vio && /usr/bin/cc -DHAVE_CONFIG_H -DHAVE_LIBEVENT2 -DHAVE_OPENSSL -I/usr/ports/databases/mysql57-client/work/.build/include -I/usr/ports/databases/mysql57-client/work/mysql-5.7.21/extra/rapidjson/include -I/usr/ports/databases/mysql57-client/work/.build/libbinlogevents/include -I/usr/ports/databases/mysql57-client/work/mysql-5.7.21/libbinlogevents/export -I/usr/ports/databases/mysql57-client/work/mysql-5.7.21/include -I/usr/local/include -O2 -pipe -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -Wall -Wextra -Wformat-security -Wvla -Wwrite-strings -Wdeclaration-after-statement -O2 -pipe -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -DDBUG_OFF -fPIC -o CMakeFiles/vio.dir/viossl.c.o -c /usr/ports/databases/mysql57-client/work/mysql-5.7.21/vio/viossl.c
[ 13%] Building C object vio/CMakeFiles/vio.dir/viosslfactories.c.o
cd /usr/ports/databases/mysql57-client/work/.build/vio && /usr/bin/cc -DHAVE_CONFIG_H -DHAVE_LIBEVENT2 -DHAVE_OPENSSL -I/usr/ports/databases/mysql57-client/work/.build/include -I/usr/ports/databases/mysql57-client/work/mysql-5.7.21/extra/rapidjson/include -I/usr/ports/databases/mysql57-client/work/.build/libbinlogevents/include -I/usr/ports/databases/mysql57-client/work/mysql-5.7.21/libbinlogevents/export -I/usr/ports/databases/mysql57-client/work/mysql-5.7.21/include -I/usr/local/include -O2 -pipe -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -Wall -Wextra -Wformat-security -Wvla -Wwrite-strings -Wdeclaration-after-statement -O2 -pipe -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -DDBUG_OFF -fPIC -o CMakeFiles/vio.dir/viosslfactories.c.o -c /usr/ports/databases/mysql57-client/work/mysql-5.7.21/vio/viosslfactories.c
/usr/ports/databases/mysql57-client/work/mysql-5.7.21/vio/viosslfactories.c:122:11: warning: implicit declaration of function 'DH_new' is invalid in C99 [-Wimplicit-function-declaration]
if ((dh=DH_new()))
^
/usr/ports/databases/mysql57-client/work/mysql-5.7.21/vio/viosslfactories.c:122:10: warning: incompatible integer to pointer conversion assigning to 'DH *' (aka 'struct dh_st *') from 'int' [-Wint-conversion]
if ((dh=DH_new()))
^~~~~~~~~
/usr/ports/databases/mysql57-client/work/mysql-5.7.21/vio/viosslfactories.c:124:7: error: incomplete definition of type 'struct dh_st'
dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
~~^
/usr/local/include/openssl/ossl_typ.h:140:16: note: forward declaration of 'struct dh_st'
typedef struct dh_st DH;
^
/usr/ports/databases/mysql57-client/work/mysql-5.7.21/vio/viosslfactories.c:124:11: warning: implicit declaration of function 'BN_bin2bn' is invalid in C99 [-Wimplicit-function-declaration]
dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
^
/usr/ports/databases/mysql57-client/work/mysql-5.7.21/vio/viosslfactories.c:125:7: error: incomplete definition of type 'struct dh_st'
dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
~~^
/usr/local/include/openssl/ossl_typ.h:140:16: note: forward declaration of 'struct dh_st'
typedef struct dh_st DH;
^
/usr/ports/databases/mysql57-client/work/mysql-5.7.21/vio/viosslfactories.c:126:13: error: incomplete definition of type 'struct dh_st'
if (! dh->p || ! dh->g)
~~^
/usr/local/include/openssl/ossl_typ.h:140:16: note: forward declaration of 'struct dh_st'
typedef struct dh_st DH;
^
/usr/ports/databases/mysql57-client/work/mysql-5.7.21/vio/viosslfactories.c:126:24: error: incomplete definition of type 'struct dh_st'
if (! dh->p || ! dh->g)
~~^
/usr/local/include/openssl/ossl_typ.h:140:16: note: forward declaration of 'struct dh_st'
typedef struct dh_st DH;
^
/usr/ports/databases/mysql57-client/work/mysql-5.7.21/vio/viosslfactories.c:128:7: warning: implicit declaration of function 'DH_free' is invalid in C99 [-Wimplicit-function-declaration]
DH_free(dh);
^
/usr/ports/databases/mysql57-client/work/mysql-5.7.21/vio/viosslfactories.c:377:3: warning: implicit declaration of function 'CRYPTO_set_id_callback' is invalid in C99 [-Wimplicit-function-declaration]
CRYPTO_set_id_callback(init ? openssl_id_function : NULL);
^
/usr/ports/databases/mysql57-client/work/mysql-5.7.21/vio/viosslfactories.c:398:5: warning: implicit declaration of function 'ERR_remove_state' is invalid in C99 [-Wimplicit-function-declaration]
ERR_remove_state(0);
^
6 warnings and 4 errors generated.
*** [vio/CMakeFiles/vio.dir/viosslfactories.c.o] Error code 1
make[4]: stopped in /usr/ports/databases/mysql57-client/work/.build
1 error
make[4]: stopped in /usr/ports/databases/mysql57-client/work/.build
*** [vio/CMakeFiles/vio.dir/all] Error code 2
make[3]: stopped in /usr/ports/databases/mysql57-client/work/.build
1 error
make[3]: stopped in /usr/ports/databases/mysql57-client/work/.build
*** [all] Error code 2
make[2]: stopped in /usr/ports/databases/mysql57-client/work/.build
1 error
make[2]: stopped in /usr/ports/databases/mysql57-client/work/.build
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1
Stop.
make[1]: stopped in /usr/ports/databases/mysql57-client
*** Error code 1
Stop.
How to repeat:
Try to build mysql 5.7 on FreeBsd 11.1 from ports when openssl is installed on system from security/openssl port and make file is configured to use system openssl instead of base one.
/etc/make.conf
DEFAULT_VERSIONS+=ssl=openssl
Suggested fix:
Please fix this installation issue.