Summary: | databases/mysql-udf fails to build with MariaDB | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | Beeblebrox <zaphod> |
Component: | Individual Port(s) | Assignee: | Bernard Spil <brnrd> |
Status: | Closed FIXED | ||
Severity: | Affects Many People | CC: | brnrd |
Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(brnrd) |
Version: | Latest | ||
Hardware: | amd64 | ||
OS: | Any |
Description
Beeblebrox
2015-04-20 10:31:53 UTC
Hi Raif, Thanks for the patch! Will investigate this further. Over to new maintainer. Hi Raif, The problem is with databases/mysql-udf not with mariadb-client. This patch solves the build issue % diff -udp Makefile.orig Makefile --- Makefile.orig 2015-08-15 13:55:14.929563914 +0200 +++ Makefile 2015-08-15 13:49:53.650585000 +0200 @@ -31,7 +31,7 @@ CFLAGS+= -fPIC do-build: .for MODULE in ${MODULES} cd ${WRKSRC} && \ - ${CC} ${CFLAGS} -I${LOCALBASE}/include -c -o udf_${MODULE}.o udf_${MODULE}.cc && \ + ${CC} ${CFLAGS} -I${LOCALBASE}/include -I${LOCALBASE}/include/mysql -c -o udf_${MODULE}.o udf_${MODULE}.cc && \ ${CC} -shared -o udf_${MODULE}.so udf_${MODULE}.o .endfor I think I've come to the bottom of this now. The problem is actually with the mysql-udf sources, not so much with MySQL/MariaDB. The sources include mysql's header files directly whereas these files are in a subdirectory of /usr/local/includes. This works on MySQL by chance as it doesn't pull in any of the mysql header files that include other header files. Including plugin.h or service.h (which have '#include <mysql/') would result in the same error using mysql. Although the initial error report seems resolved, the port still fails to build due to "unknown type name my_bool" message. This argument is type is present in at least my_dbug.h, my_pthread.h I assume the type needs to be declared at some top level... A commit references this bug: Author: brnrd Date: Sun Jul 3 12:43:28 UTC 2016 New revision: 417969 URL: https://svnweb.freebsd.org/changeset/ports/417969 Log: databases/mysql-udf: Fix building with MariaDB - Work around MySQL's include/mysql/mysql directory - Add -I ${LOCALBASE}/include to CFLAGS - Move from USE_MYSQL to USES= mysql PR: 199556 Changes: head/databases/mysql-udf/Makefile head/databases/mysql-udf/distinfo |