How to fix "broken ports"?

Clemens Lang cal at macports.org
Sat May 26 06:09:42 PDT 2012


On Sat, May 26, 2012 at 02:52:08PM +0200, Marko Käning wrote:
> --->  Found 4 broken file(s), matching files to ports
> --->  Found 2 broken port(s):
>      automoc @0.9.88 
>          /opt/local/bin/automoc4
>      kmymoney @1.0.5 
>          /opt/local/bin/kmymoney2
>          /opt/local/lib/kde3/kmm_ofximport.so

This kind of output is pretty much useless, because it doesn't tell you
why the file was marked as broken.

> I haven't dealt yet with the kmymoney problem below, but what was a
> surprise for me was that automoc itself was installed ALTHOUGH its
> dependency qt4-mac is not installed in this installation.

If that is the case and automoc links against qt4-mac it's obvious why
rev-upgrade marks it as broken (it's dependency library is missing). In
the first rebuild step any missing dependencies for a broken port should
be installed, fixing this problem.

> Could this be due to that the installations are being forced when
> executing "sudo port rev-update rebuild"?
>
> I figure that it is more or less safe to force rebuilding a port which
> has all its dependencies installed in a MP installation, but I wonder
> why it was possible to install automoc in the first place, since
> qt4-mac is a dependency, but not installed!

I don't think so; automoc would probably not build without qt4-mac
installed. Much more likely is that qt4-mac was installed when
installing automoc, but was removed afterwards (or marked as broken by
rev-upgrade and the rebuild failed[1]). In this situation, marking
automoc as broken and forcing a rebuild is the correct thing to do,
because the rebuild will install all missing dependencies.
Theoretically, it would also be possible to install automoc from the
binary package without having qt4-mac installed, but I don't think
there's a way to do that with port(1).

[1] Actually rev-upgrade tries to detect failures while rebuilding and
should abort, but in some cases does not and continues silently (and I
haven't found out why that is).
-- 
Clemens Lang



More information about the macports-dev mailing list