deactivating dep listed in both depends_{build,lib}

Bradley Giesbrecht pixilla at macports.org
Thu Jul 25 17:25:17 PDT 2013


On Jul 25, 2013, at 4:56 PM, Joshua Root wrote:

> On 2013-7-26 01:12 , Lawrence Velázquez wrote:
>> On Jul 25, 2013, at 10:40 AM, Bradley Giesbrecht <pixilla at macports.org> wrote:
>> 
>>> $ port -q installed libmemcached ; port -q deps libmemcached
>>> libmemcached @1.0.10_0 (active)
>>> Build Dependencies:   gcc46
>>> Library Dependencies: memcached, gcc46
>> 
>> The build dependency is coming from the Portfile; the library dependency is coming from base.
>> 
>> The Portfile is declaring the dependency incorrectly, in multiple ways: (1) the dependency on GCC should be a library dependency, and (2) it wipes out the existing build dependencies (perl5 and cyrus-sasl2).
>> 
>>> I am surprised that I can deactivate gcc46 without warning or forcing. Is this intended behavior?
>> 
>> Probably not. The build dependency is being declared after the library dependency; maybe it overrides it somehow?
> 
> I would guess libmemcached was installed before base was updated to 2.2,
> and thus didn't have a lib dep on gcc46 recorded in the registry.

Yes, libmemcached was installed before base was updated to 2.2.

> Separately but related, it might be interesting to check if it does in
> fact link to libraries provided by gcc46.


Port rev-upgrade seems to think so. Deactivating gcc46 caused rev-upgrade to consider libmemcached broken and proceeded to install gcc46.

How would I test if the linking is due to the .la files I've been hearing about?
Do I add "delete_la_files yes" to the gcc46 Portfile and rebuild gcc46?


Regards,
Bradley Giesbrecht (pixilla)



More information about the macports-dev mailing list