Created attachment 164978 [details] explicitly set BOOST_INCLUDE_DIR Until Bug #199601 is resolved, the two mysql57 ports will need their own, "private" version of boost-1_59. But they don't need to conflict with the older version, which is used by a very large variety of other ports. Please, try applying the patch, which explicitly sets the BOOST_INCLUDE_DIR to avoid conflicts with ${LOCALBASE}/include/boost -- this should allow for a much wider adoption of the new version of MySQL.
MySQL57-{server,client} currently uses its own private version of boost :) -DBOOST_INCLUDE_DIR=${WRKDIR}/boost_1_59_0 is not actually needed as -DLOCAL_BOOST_DIR=${WRKSRC}/../boost_1_59_0 does the same work itself here. About conflict flag, you should notice that mysql57 indeed has conflict with boost-1.55 however i'm using it's private version for building. Thanks, Mokhi.
(In reply to Mahdi Mokhtari from comment #1) > MySQL57-{server,client} currently uses its own private version of boost :) Yes, I understand this. I even expressed my understanding on this ticket. > -DBOOST_INCLUDE_DIR=${WRKDIR}/boost_1_59_0 is not actually needed It is needed, because it does more than LOCAL_BOOST_DIR -- it makes the build ignore the older version of boost found under ${LOCALBASE}, thus avoiding the conflict. > About conflict flag, you should notice that mysql57 indeed has conflict > with boost-1.55 No, I do not notice the conflict after making the proposed change locally. I was able to build both client and server of mysql57 without removing boost-1_55 here. Have you tried it -- after applying my patch?
(In reply to Mikhail Teterin from comment #2) Thanks for your explanations about extra works "-DBOOST_INCLUDE_DIR" does, then we should add it :D > Have you tried it -- after applying my patch? yes!, i have boost155 and i'm dogfooding mysql57 :D i'm just telling after boost-1.59 comes in ports-tree, we should change from private boost to port-tree one and that matters!, doesn't that?
(In reply to Mikhail Teterin from comment #2 and continue from comment #3) now we agree with adding what you suggested "-DBOOST_INCLUDE_DIR=${WRKDIR}/boost_1_59_0" so we should add it first :) i've attached a patch ($your_patch - deleting_conflict) :D
Created attachment 165102 [details] patch for databases/mysql57-server/Makefile explicitly set BOOST_INCLUDE_DIR
(In reply to Mahdi Mokhtari from comment #4) > i've attached a patch ($your_patch - deleting_conflict) :D I don't understand -- why do you wish to retain the conflict-declaration?
(In reply to Mikhail Teterin from comment #6) I'm just telling, after boost-1.59 (or newer) comes in ports-tree, we should change from private boost to port-tree one and then Mysql would have conflict with boost-1.55, wouldn't ?
(In reply to Mikhail Teterin from comment #6) We should notice, however using private boost makes MySQL immune with having conflict with older boost installed (due compiling boost159 as static lib in their code). But there is conflict between boost159 and older (ie 158). And that is conceptual conflict (:D) and not direct conflict. This is what makes me put conflict flag. If you think this is not important, then remove it and i approve patch, no problem :D
(In reply to Mahdi Mokhtari from comment #7) When the latest Boost comes to ports-tree, I trust, you'll make an effort to make MySQL compile against that -- instead of using its own copy :) > This is what makes me put conflict flag. The conflict flag will prevent people with Boost-1.55 installed from building MySQL-5.7. The flag says: "if you try building this port with boost-1.55 installed, the build will fail". My patch makes this statement false, which is why I also remove the conflict-declaration. > If you think this is not important, then remove it and i approve patch, no problem :D Any minute now :) Thanks!
A commit references this bug: Author: mi Date: Tue Jan 5 17:29:50 UTC 2016 New revision: 405305 URL: https://svnweb.freebsd.org/changeset/ports/405305 Log: Add additional CMAKE-argument to avoid build-time conflicts between Boost-1_59 used privately by this port and Boost-1_55 installed by its own port. While at it, replace WRKSRC/.. with simply WRKDIR. PR: 205815 Approved by: maintainer Changes: head/databases/mysql57-client/Makefile head/databases/mysql57-server/Makefile
(In reply to commit-hook from comment #10) Thanks :D