Date: Thu, 03 Mar 2016 11:43:04 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-ports-bugs@FreeBSD.org Subject: [Bug 207675] databases/mariadb101-server - unbreak OQGRAPH option Message-ID: <bug-207675-13@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D207675 Bug ID: 207675 Summary: databases/mariadb101-server - unbreak OQGRAPH option Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Keywords: needs-qa, patch Severity: Affects Only Me Priority: --- Component: Individual Port(s) Assignee: brnrd@freebsd.org Reporter: truckman@FreeBSD.org Blocks: 199601 Flags: maintainer-feedback?(brnrd@freebsd.org) Assignee: brnrd@freebsd.org Created attachment 167680 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D167680&action= =3Dedit patch to fix OQGRAPH build failures mariadb101-server does not build if the OQGRAPH option is enabled for a cou= ple of reasons. One is the https://mariadb.atlassian.net/browse/MDEV-8051 when building with clang. Switching to gcc to build is undesirable because link= ing an application built with g++ (which links to libstdc++) with any other C++ code compiled with clang (which links to libc++) causes the application to immediately crash on startup. The issue appears to be problems in the namespace usage of the code that interfaces mariadb with the boost graph library. The attached patches to storage/oqgraph/oqgraph_shim.h and storage/oqgraph/graphcore.cc to fix this problem. The oqgraph_shim.h also conditionally used some boost typedefs that were introduced in boost 1.46.1, but removed in boost 1.49. This also broke the build with clang. This pat= ch disables the use of these typedefs when using boost 1.49 or newer. The other build problem is caused by trying to link to the static libJudy.a library instead of the dynamic libJudy.so library. This appears to have ca= used a linker failure when mariadb was building a shared library because the obj= ect files in libJudy.a were not compiled with the -fPIC option. The cause of t= his problem is in the FreeBSD port changes to cmake/ssl.cmake. The upstream default is to statically link the SSL libraries. This was done by reversing the library suffix list in ssl.cmake before doing the the library search, a= nd then reversing the suffix list again to restore the original order. The FreeBSD port patched this file to disable the first reversal so that the dynamic libraries would be found first, but neglected to disable the second reversal, which then left the suffix list in the wrong order, causing libJu= dy.a to be found first. Disabling the second reversal fixes this problem. The final change in the attached patch removes the gcc stuff from the port Makefile and gets rid of a portlint "fatal" error. With these changes, the OQGRAPH now also builds correctly with boost 1.55 a= nd boost 1.60. My build testing did find a build problem with the default GSSAPI_BASE opti= on on FreeBSD 9.3, which I did not try to fix. I was able to successfully bui= ld with GSSAPI_HEIMDAL on FreeBSD 9.3. I am using the base openssl. Referenced Bugs: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D199601 [Bug 199601] devel/boost-all: Upgrade to 1.58, 1.59, or 1.60 --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-207675-13>