New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #26381 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

libxcb/python dependency loop via tk/libX11

Reported by: macports@… Owned by: jeremyhu@…
Priority: Normal Milestone:
Component: ports Version: 1.9.1
Keywords: git-core python26 Cc: spyro@…, mcalhoun@…, jeremyhu@…, blb@…, tharant@…
Port: xorg-libxcb

Description

I've just installed 1.9.1 and ran the self update and an update to any outdated ports of which there were none. I then tried to install git-core and the debug version of the command returned a bunch of this:

DEBUG: Searching for dependency: xorg-xcmiscproto DEBUG: Didn't find receipt, going to depspec regex for: xorg-xcmiscproto DEBUG: Searching for dependency: xorg-xextproto DEBUG: Didn't find receipt, going to depspec regex for: xorg-xextproto

before returning:

Error: Internal error: port lookup failed: too many nested evaluations (infinite loop?) Error: Status 1 encountered during processing. To report a bug, see <http://guide.macports.org/#project.tickets>

I tried installing some of the dependencies to see if I could reduce the number and let ports move forward. bzip2 went in fine, python26 gave me the same error.

Change History

comment:1 Changed 3 years ago by blb@…

  • Owner changed from macports-tickets@… to jeremyhu@…
  • Port changed from git-core to xorg-libX11

Looks like this came in with r71258, since xorg-libxcb already wanted (indirectly) xorg-libX11...

comment:2 follow-up: ↓ 3 Changed 3 years ago by macports@…

So is there any way around this while that issue gets sorted? I'm just trying to get git installed on my system, and really don't care about the X11 components at this stage. I won't be using the graphical git tools anytime soon.

comment:3 in reply to: ↑ 2 Changed 3 years ago by spyro@…

Replying to macports@…:

So is there any way around this while that issue gets sorted? I'm just trying to get git installed on my system, and really don't care about the X11 components at this stage. I won't be using the graphical git tools anytime soon.

My temporary solution to this problem was to do the following workaround:

  1. Open a terminal window
  2. Enter the following (without quotes): "export EDITOR=/usr/bin/nano" (or /usr/bin/edit if you have textwrangler installed)
  3. Enter the following (without quotes): "sudo port edit xorg-libX11"
  4. Scroll down to the line " port:xorg-libxcb \ " (you will find it under depends_lib)
  5. Delete the line
  6. Press ctrl+o to write the file
  7. Press ctrl+x to exit
  8. You may now compile things again!

Keep in mind that this is only a temporary solution. The real solution would be for someone to fix this dependency loop. I spent about 4 hours today trying to figure my way out around this problem and dug up a solution on my own. For new macports users (and veterans doing a fresh install) it really is a showstopper.

I love macports - it makes my life without linux much easier, and I greatly appreciate the hard work of everyone who contributes to this project. It sure would be nice if there was some way to regression test these changes to the port tree before they go out into the wild.

comment:4 Changed 3 years ago by spyro@…

  • Cc spyro@… added

Cc Me!

comment:5 Changed 3 years ago by jeremyhu@…

  • Status changed from new to closed
  • Cc mcalhoun@…, jeremyhu@…, blb@… added
  • Resolution set to fixed
  • Port changed from xorg-libX11 to xorg-libxcb
  • Summary changed from git-core (and python26 and I assume others as well) fail to install with too many nested evaluations error to libxcb/python dependency loop via tk/libX11

Your workaround will likely result in your MP libX11 using your system libxcb.

The problem here is that python pulls in a dependency on libX11 via tk. That is clearly the problem point. libX11 needs libxcb. libxcb needs python (to build). python shouldn't need X11.

I'll just delete the xcb dependency on python, so it can use the system python to build.

r71272

comment:6 Changed 3 years ago by tharant@…

  • Cc tharant@… added

Cc Me!

comment:7 Changed 3 years ago by jean-daniel.guyot+macports@…

  • Status changed from closed to reopened
  • Resolution fixed deleted

Thank you very much for fixing this ! Had the problem here and I saw it was solved 30 minutes before. Yeah.

This solved the issue for xorg-xcb but it remains for xorg-xcb-proto. I fixed it locally by applying the same kind of patch than r71272.

comment:8 Changed 3 years ago by spyro@…

I filed a bug report for this same issue in xorg-xcb-proto in Ticket #26387

comment:9 Changed 3 years ago by jmr@…

  • Status changed from reopened to closed
  • Resolution set to fixed

comment:10 Changed 3 years ago by macports@…

excellent! looks like it has started out building one of the dependencies, so looks like I'm back in business. Thanks for the very swift fix!

Note: See TracTickets for help on using tickets.