MySQL 5 and MySQL 5.1 installed concurrently
Ryan Schmidt
ryandesign at macports.org
Sat Feb 7 11:25:25 PST 2009
On Feb 7, 2009, at 13:02, Michael J. I. Jackson wrote:
> On Feb 6, 2009, at 11:44 PM, Ryan Schmidt wrote:
>
>> On Feb 6, 2009, at 22:44, Michael J. I. Jackson wrote:
>>
>>> Is it possible to install the mysql5 and mysql5-devel ports
>>> concurrently on the same box? I had 5.0 installed, but then
>>> decided I'd like to try 5.1. So I deactivated the mysql port and
>>> installed mysql-devel. However, it appears that the install
>>> location for 5.1 is exactly the same as 5 so the two cannot
>>> coexist on the same machine.
>>>
>>> If someone would please confirm this, that would be great. If you
>>> could tell me how to confirm it for myself so I don't have to
>>> bother you next time, that would be even better. ;)
>>
>> You can have both mysql5 and mysql5-devel installed at the same
>> time, but not active at the same time. The same goes for any other
>> foo/foo-devel port combination.
>>
>> If you have mysql5 installed and would like to try mysql5-devel
>> instead, you would need to
>>
>> sudo port deactivate mysql5
>> sudo port install mysql5-devel +server
>>
>> In this particular case (mysql5 5.0.x and mysql5-devel 5.1.x) you
>> would also need to rebuild any programs (such as php5) that use
>> the mysql library, because the version number of the library has
>> changed. Otherwise you will find that php will complain about not
>> being able to find the (old) mysql5 library. To rebuild php5:
>>
>> sudo port -nf upgrade php5
>>
>> Some ports may not know about mysql5-devel and still try to depend
>> exclusively on mysql5. For example, if you've installed mysql5-
>> devel as above, and then try to install a port that requires
>> mysql5, you'll get an error as it tries to activate mysql5 but
>> can't because mysql5-devel is already active. Usually this is a
>> bug, which should be filed against that port so that the
>> dependency can be rewritten so that either mysql5 or mysql5-devel
>> can be used.
>
> Is this the case for rb-mysql?
>
> I have both mysql5 and mysql5-devel installed as you stated above,
> with mysql5-devel active and mysql5 deactivated. When I try and
> install rb-mysql, it immediately fetches mysql5 and starts
> rebuilding it (even though it's already installed, just inactive).
> Looking at the Portfile (http://trac.macports.org/browser/trunk/
> dports/ruby/rb-mysql/Portfile) the only relevant line I can see is
> the following:
>
> depends_lib port:mysql5
>
> So I guess there are three questions here: 1) Why would rb-mysql
> start rebuilding mysql5 if it's already been installed?
Because it is not active.
> 2) Should a bug be filed against rb-mysql to modify it so it can
> use mysql5-devel as well?
Yes. "port:mysql5" should be changed to "path:bin/mysql_config5:mysql5".
> 3) What can I do in the mean time to get rb-mysql working with
> mysql5-devel?
Make the above change to the portfile locally. To find out where the
file is, run "port file rb-mysql". Note that your change will be
wiped out next time you "port sync".
More information about the macports-users
mailing list