How can variant B imply variant A?

Michael Dickens michaelld at macports.org
Wed Aug 22 07:20:57 PDT 2012


Hmm … does (I think it's called) rev-update do its thing after
installing from archive?  It's the post-install "Updating database of
binaries" and "Scanning binaries for linking errors" check.  If it
does, then it should catch the linking error between qt4-mac +framework
and gnuplot, though I'm not sure what it can do if an older version of
gnuplot was installed from archive that is not compatible with the
current qt4-mac install.  The archival capabilities can only go so far
in terms of variants.
I have thought about qt4-mac's dual library / framework build, since it
causes these sorts of issues.  I'm wondering if trying to install
qt4-mac as dual framework / library would work: install as framework
internally (to the Qt build), and then link from the frameworks into
${prefix}/include/Qt* and ${prefix}/lib/libQt*.  The former is already
done, and seems to work well.  Doing the latter is a relatively simple
extension of the former.  If both libraries and frameworks were
installed, always, then dependent ports could choose which one to link
to and would, after the change, always be backwards compatible with
older versions.  Yes, this might make sense to look into.
Thoughts on the above? - MLD
On Aug 22, 2012, at 9:46 AM, Mojca Miklavec
<mojca.miklavec.lists at gmail.com> wrote:

  On Wed, Aug 22, 2012 at 3:29 PM, Michael Dickens  wrote:

  Hi Mojca - I assume I was included because the qt4-mac / gnuplot
  issue you
  described (as forwarded below)?

  Exactly.

  If I understand what you wrote, I really
  don't see that as an issue since it was a current version of qt4-mac
  and an
  archived version of gnuplot.  I think the vast majority of users
  will not be
  encountering this issue; it'll be just a handful of developers and
  hackers,
  and they will have "asked for it" :)  I'm not sure there's any
  reasonable
  way to guarantee that a current port is compatible with an older,
  archived
  version of another port; just too many possibilities of things that
  could go
  wrong there.

  I totally agree with that point of view. (I was just a bit less
  explicit.)

  Or, maybe I don't understand what the issue really is, or its
  importance? - MLD

  I wrote that for two reasons (apart from being bitten by it in the
  morning). The first reason is that user may legally do the
  following:
  - install "qt4-mac +framework"
  - install another port with default dependency on qt4-mac which was
  built with buildbot and depends on
  /opt/local/lib/libQt<whatever>.dylib
  This is not a problem with gnuplot since gnuplot has to be built
  from
  source. But it might be a problem for other packages. I'm not sure
  how
  serious problem that is though. I don't expect many people would
  really want to use "+framework" flag anyway. I used it out of pure
  curiosity, and even then it's painful. With default setting
  upgrading
  to new revision takes a fraction of a minute. With +framework
  upgrade
  takes hours and hours and hours. I would not worry about this unless
  bug reports start flying in.
  The second reason why I wrote it was the response to this thought:

  This is just a bad idea: your package will install differently based
  on what's available, and not even consistently (e.g. archives).

  (I was thinking of choosing the port variant based on whether
  wxWidgets or wxWidgets-devel is already present. This would actually
  not break archives. But currently "qt4-mac +framework" does.)
  It's not really a serious issue, however it might be worth keeping
  it in mind.
  Mojca
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-dev/attachments/20120822/96fc7439/attachment.html>


More information about the macports-dev mailing list