Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#56239 closed defect (fixed)

Error: Failed to archivefetch pango: cairo is required, but not active

Reported by: ryandesign (Ryan Schmidt) Owned by: admin@…
Priority: Normal Milestone:
Component: buildbot/mpbb Version:
Keywords: Cc: raimue (Rainer Müller), neverpanic (Clemens Lang)
Port:

Description (last modified by ryandesign (Ryan Schmidt))

There is something wrong with either mpbb or the active_variants portgroup.

See attached log from Travis, which is trying to install dependencies of a port. It successfully installs and then deactivates 135 dependencies, then tries to build dependency 136, which is pango. The log ends with:

----> Installing dependency (136 of 235) 'pango' with variants '+quartz+x11' (requesting '')
--->  Fetching archive for pango
DEBUG: Executing proc-pre-org.macports.archivefetch-archivefetch-0
DEBUG: Active variants check for archivefetch-type install considers depends_lib depends_run: glib2 cairo fribidi harfbuzz gobject-introspection Xft2
DEBUG: Checking cairo for active variants for depspec 'path:lib/pkgconfig/cairo.pc:cairo'
Error: Failed to archivefetch pango: cairo is required, but not active.

Attachments (1)

f6dfc5fe5954.txt.bz2 (361.6 KB) - added by ryandesign (Ryan Schmidt) 2 years ago.

Download all attachments as: .zip

Change History (8)

Changed 2 years ago by ryandesign (Ryan Schmidt)

Attachment: f6dfc5fe5954.txt.bz2 added

comment:1 Changed 2 years ago by ryandesign (Ryan Schmidt)

Description: modified (diff)

comment:2 Changed 2 years ago by raimue (Rainer Müller)

Cc: neverpanic added

The active_variants port group explicitly checks this, which was added in [6725a70946a050e5274e19bb68124a262ddef670/macports-ports].

I think we should always be able to fetch an archive. We do not install dependencies before fetching an archive with archivefetch, so this check seems kind of bogus.

comment:3 Changed 2 years ago by ryandesign (Ryan Schmidt)

Well, the variants of dependencies need to be checked sometime. If archivefetch is too early, what's the next possible phase during which we could do it?

comment:4 Changed 2 years ago by raimue (Rainer Müller)

Would the check at pre-activate be sufficient for that? That check was not there yet when the pre-archivefetch phase was added. If we actually want to prevent installing the archive, we could also do it in a pre-install.

comment:5 Changed 2 years ago by ryandesign (Ryan Schmidt)

Yes, the existing check at pre-activate seems fine to me.

comment:6 Changed 2 years ago by raimue (Rainer Müller)

Resolution: fixed
Status: newclosed

In 5728b46f39b698267f17ba8129b1a4f64c63f86b/macports-ports:

active_variants PG: Remove pre-archivefetch check

This check prevents to download binary archives for ports when the
dependencies are not active. We always want to be able to download
archives and archivefetch alone does not yet alter the installed ports.
The check at pre-activate should be enough to prevent accidental
activation without the correct dependencies.

Closes: #56239

comment:7 Changed 2 years ago by raimue (Rainer Müller)

I triggered builds for wine-devel, which failed before due to this problem. Seems to work, for example see 10.13.

Note: See TracTickets for help on using tickets.