Bug 205815 - databases/mysq57-server and mysql57-client - remove conflict with older boost-1_55
Summary: databases/mysq57-server and mysql57-client - remove conflict with older boost...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Mahdi Mokhtari
URL:
Keywords: needs-qa, patch
Depends on:
Blocks:
 
Reported: 2016-01-03 03:25 UTC by Mikhail Teterin
Modified: 2016-01-05 17:52 UTC (History)
3 users (show)

See Also:
mmokhi: maintainer-feedback+


Attachments
explicitly set BOOST_INCLUDE_DIR (1.21 KB, patch)
2016-01-03 03:25 UTC, Mikhail Teterin
mmokhi: maintainer-approval+
Details | Diff
patch for databases/mysql57-server/Makefile explicitly set BOOST_INCLUDE_DIR (532 bytes, patch)
2016-01-05 12:39 UTC, Mahdi Mokhtari
mmokhi: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mikhail Teterin freebsd_committer 2016-01-03 03:25:24 UTC
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.
Comment 1 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-01-03 20:23:29 UTC
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.
Comment 2 Mikhail Teterin freebsd_committer 2016-01-03 20:44:10 UTC
(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?
Comment 3 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-01-03 21:16:08 UTC
(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?
Comment 4 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-01-05 12:32:22 UTC
(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
Comment 5 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-01-05 12:39:57 UTC
Created attachment 165102 [details]
patch for databases/mysql57-server/Makefile explicitly set BOOST_INCLUDE_DIR
Comment 6 Mikhail Teterin freebsd_committer 2016-01-05 17:01:19 UTC
(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?
Comment 7 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-01-05 17:14:38 UTC
(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 ?
Comment 8 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-01-05 17:18:25 UTC
(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
Comment 9 Mikhail Teterin freebsd_committer 2016-01-05 17:25:20 UTC
(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!
Comment 10 commit-hook freebsd_committer 2016-01-05 17:29:56 UTC
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
Comment 11 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-01-05 17:50:58 UTC
(In reply to commit-hook from comment #10)
Thanks :D