mysql5 vs mysql devel

Bradley Giesbrecht brad at pixilla.com
Wed Dec 23 09:52:41 PST 2009


On Dec 23, 2009, at 9:37 AM, Payam Minoofar wrote:

> On Dec 22, 2009, at 10:02 PM, Ryan Schmidt wrote:
>
>> On Dec 22, 2009, at 17:01, Payam Minoofar wrote:
>>
>>> When I try to build Amarok, port hits this barrier, which doesn't  
>>> seem to make sense:
>>>
>>> [payam-imac:~] payam% sudo port install amarok +universal
>>> Password:
>>> Portfile changed since last build; discarding previous state.
>>> --->  Computing dependencies for amarokError: Unable to execute  
>>> port: Can't install mysql5 because conflicting ports are  
>>> installed: mysql5-devel
>>>
>>>
>>> Is there a way to make port to be able to compare these two  
>>> versions reported for the two versions of mysql5?
>>
>> MacPorts doesn't care about the versions. The amarok port declares  
>> its dependency on MySQL thus:
>>
>> path:lib/mysql5/libmysqld.a:mysql5
>>
>> This means any port that provides /opt/local/lib/mysql5/libmysqld.a  
>> satisfies the dependency. If the file is not installed, MacPorts  
>> tries to install the mysql5 port.
>>
>> Does your mysql5-devel port provide this file?
>
> Here is the problem, it seems. libmysqld.a resides in /opt/local/lib/ 
> mysql5/mysql/
>
> So, Amarok is looking for this file in the wrong directory. I also  
> installed mysql-server-devel, but this had no impact. Perhaps the  
> Amarok dependency needs to be updated?

The ports I work on that have mysql deps I use this:

     depends_lib-append path:${prefix}/bin/mysql_config5:mysql5

Both mysql5 and mysql5-devel seem to park this here but I haven't  
checked in a long time.

If mysql_config5 does move around based on the mysql port installed  
maybe this would work for you. Mysql 6 will undoubtedly break this  
which is why I wish we would just do away with this package versioning  
"feature" and just install things with the names most of the rest of  
the world expect. Changing prefix is mostly support by packages but  
changing executable names just makes for a lot more more work in my  
opinion.

Now where else have I typed mysql4 or mysql5, it's always mysql.  
mysqldump5, nope, mysqldump.

Sure, add some simlinks but what are we gaining from this feature?

What if we had the current mysql use mysql and older version get the  
mysql4 tag?

When mysql gets updated to v6 it get's mysql and mysql v5 gets mysql5.

Never mind, I think this is entrenched and easy enough to work around.


// Brad



More information about the macports-users mailing list