svn commit: r432458 - in head/databases: mysql56-client mysql56-client/files mysql56-server mysql56-server/files

John Marino freebsd.contact at marino.st
Sun Jan 29 19:50:12 UTC 2017


On 1/25/2017 13:07, Bernard Spil wrote:
> Author: brnrd
> Date: Wed Jan 25 19:07:08 2017
> New Revision: 432458
> URL: https://svnweb.freebsd.org/changeset/ports/432458
>
> Log:
>   databases/mysql56-server: Fix OpenSSL linking
>
>     - Force dynamic linking with OpenSSL
>
>   MFH:		2017Q1
>
> Added:
>   head/databases/mysql56-client/files/patch-cmake_ssl.cmake   (contents, props changed)
>   head/databases/mysql56-server/files/patch-cmake_ssl.cmake   (contents, props changed)
> Modified:
>   head/databases/mysql56-client/Makefile
>   head/databases/mysql56-server/Makefile
>
> Modified: head/databases/mysql56-client/Makefile
> ==============================================================================
> --- head/databases/mysql56-client/Makefile	Wed Jan 25 18:59:23 2017	(r432457)
> +++ head/databases/mysql56-client/Makefile	Wed Jan 25 19:07:08 2017	(r432458)
> @@ -2,7 +2,7 @@
>  # $FreeBSD$
>
>  PORTNAME=	mysql
> -PORTREVISION?=	0
> +PORTREVISION?=	1
>  PKGNAMESUFFIX=	56-client
>
>  COMMENT=	Multithreaded SQL database (client)
>
> Added: head/databases/mysql56-client/files/patch-cmake_ssl.cmake
> ==============================================================================
> --- /dev/null	00:00:00 1970	(empty, because file is newly added)
> +++ head/databases/mysql56-client/files/patch-cmake_ssl.cmake	Wed Jan 25 19:07:08 2017	(r432458)
> @@ -0,0 +1,11 @@
> +--- cmake/ssl.cmake.orig	2016-11-28 13:36:22 UTC
> ++++ cmake/ssl.cmake
> +@@ -176,7 +176,7 @@ MACRO (MYSQL_CHECK_SSL)
> +     IF(OPENSSL_INCLUDE_DIR AND
> +        OPENSSL_LIBRARY   AND
> +        CRYPTO_LIBRARY      AND
> +-       OPENSSL_MAJOR_VERSION STREQUAL "1"
> ++       OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1"
> +       )
> +       SET(OPENSSL_FOUND TRUE)
> +     ELSE()
>
> Modified: head/databases/mysql56-server/Makefile
> ==============================================================================
> --- head/databases/mysql56-server/Makefile	Wed Jan 25 18:59:23 2017	(r432457)
> +++ head/databases/mysql56-server/Makefile	Wed Jan 25 19:07:08 2017	(r432458)
> @@ -3,7 +3,7 @@
>
>  PORTNAME?=	mysql
>  PORTVERSION=	5.6.35
> -PORTREVISION?=	2
> +PORTREVISION?=	3
>  CATEGORIES=	databases ipv6
>  MASTER_SITES=	MYSQL/MySQL-5.6
>  PKGNAMESUFFIX?=	56-server
> @@ -54,6 +54,9 @@ CMAKE_ARGS+=	-DINSTALL_LAYOUT=FREEBSD \
>  		-DWITH_LIBEVENT=system \
>  		-DWITH_LZ4=system \
>  		-DWITH_ZLIB=system \
> +		-DWITH_SSL=${OPENSSLBASE} \
> +		-DCRYPTO_LIBRARY=${OPENSSLLIB}/libcrypto.so \
> +		-DOPENSSL_LIBRARY=${OPENSSLLIB}/libssl.so \
>  		-DINSTALL_MYSQLTESTDIR=0
>
>  SHEBANG_FILES=	scripts/*.pl* scripts/*.sh
> @@ -129,12 +132,6 @@ PERFSCHM_SUB_LIST_OFF+=	PERFSCHEMRC="--s
>
>  .include <bsd.port.pre.mk>
>
> -.if ${SSL_DEFAULT} == base
> -CMAKE_ARGS+=		-DWITH_SSL=system
> -.else
> -CMAKE_ARGS+=		-DWITH_SSL=${OPENSSLBASE}
> -.endif
> -
>  post-patch:
>  	@${REINPLACE_CMD} 's/*.1/${MMAN1}/' ${WRKSRC}/man/CMakeLists.txt
>
>
> Added: head/databases/mysql56-server/files/patch-cmake_ssl.cmake
> ==============================================================================
> --- /dev/null	00:00:00 1970	(empty, because file is newly added)
> +++ head/databases/mysql56-server/files/patch-cmake_ssl.cmake	Wed Jan 25 19:07:08 2017	(r432458)
> @@ -0,0 +1,11 @@
> +--- cmake/ssl.cmake.orig	2016-11-28 13:36:22 UTC
> ++++ cmake/ssl.cmake
> +@@ -176,7 +176,7 @@ MACRO (MYSQL_CHECK_SSL)
> +     IF(OPENSSL_INCLUDE_DIR AND
> +        OPENSSL_LIBRARY   AND
> +        CRYPTO_LIBRARY      AND
> +-       OPENSSL_MAJOR_VERSION STREQUAL "1"
> ++       OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1"
> +       )
> +       SET(OPENSSL_FOUND TRUE)
> +     ELSE()
>

Interestingly, this actually broke several ports for us:
benchmarks	sysbench
databases	apq-mysql
databases	mysql-connector-c++
mail	qmail-mysql
security	pam-mysql

typical message:
/usr/libexec/binutils227/elf/ld.gold: error: cannot find -lssl
/usr/libexec/binutils227/elf/ld.gold: error: cannot find -lcrypto

I think mysql_config is to blame:

checking for mysql_config... /usr/local/bin/mysql_config
checking MySQL C flags... -I/usr/local/include/mysql  -isystem 
/usr/local/include -fno-strict-aliasing  -g -fno-omit-frame-pointer 
-fno-strict-aliasing
checking MySQL linker flags... -L/usr/local/lib/mysql  -lmysqlclient_r 
-pthread -lz -lm -lexecinfo -lssl -lcrypto

It's not adding -L/usr/local/lib for ports' openssl ports.

John

---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus



More information about the svn-ports-all mailing list