Opened 5 years ago
Closed 5 years ago
#60149 closed defect (fixed)
at-spi2-atk @2.34.1_0 breaks py-gobject3
Reported by: | fhgwright (Fred Wright) | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.2 |
Keywords: | Cc: | snarkhunter (Steve Langer), nerdling (Jeremy Lavergne) | |
Port: | at-spi2-atk |
Description
I discovered that GPSD's xgps program was broken, due to an import failure caused by a dlopen failure. This seems to involve multiple levels of dependency, but it appears that the root problem is in at-spi2-atk. I was able to get it to work again by rolling back a few ports to earlier versions, as follows:
MacPro:macports-ports fw$ port installed py27-gobject3 atk gtk3 at-spi2-atk at-spi2-core The following ports are currently installed: at-spi2-atk @2.26.2_1+universal (active) at-spi2-atk @2.34.1_0+universal at-spi2-core @2.28.0_1+universal at-spi2-core @2.34.0_0+universal (active) atk @2.28.1_0+universal (active) atk @2.34.1_0+universal gtk3 @3.22.30_1+universal+x11 gtk3 @3.24.12_0+universal+x11 gtk3 @3.24.12_0+x11 gtk3 @3.24.14_0+x11 (active) gtk3 @3.24.14_1+x11 py27-gobject3 @3.28.3_0 (active)
BTW, although this is currently using Python 2.7, the problem is not dependent on the Python version.
The py-gobject3 port itself hasn't changed in the relevant time frame. Rolling back at-spi2 core proved to be unnecessary. I believe the rollback of gtk3 was only necessary to allow the rollback of atk, which in turn was only needed to allow the rollback of at-spi2-atk. So there's a good chance that it all boils down to fixing the latter.
I'm attaching a simple test program that demonstrates the problem. It works with Python 2.7-3.7, provided that pyXX-gobject3 is installed. It doesn't work with Python 3.8, for presumably unrelated reasons.
Attachments (1)
Change History (11)
Changed 5 years ago by fhgwright (Fred Wright)
Attachment: | test-py-gtk3.py added |
---|
comment:1 Changed 5 years ago by snarkhunter (Steve Langer)
Cc: | snarkhunter added |
---|
comment:2 Changed 5 years ago by snarkhunter (Steve Langer)
I had the same problem. Reverting atk from @2.34.1_0 to @2.28.1_0 seems to have fixed it. I did not have to revert gtk3 or py27-gobject3, and I don't have at-spi1-* installed at all.
comment:3 Changed 5 years ago by fhgwright (Fred Wright)
Perhaps you have gtk3 -x11, which removes the dependency on at-spi2-atk. That suggests that the rollback of atk is independently necessary, rather than solely to accomodate the at-spi2-atk rollback.
comment:4 Changed 5 years ago by snarkhunter (Steve Langer)
Yes, you're right. I should have mentioned that I'm using +quartz -x11 variants.
comment:5 Changed 5 years ago by fhgwright (Fred Wright)
And unfortunately atk is nomaintainer. But if the problems with atk and at-spi2-atk are similar, then the fixes might be similar as well.
Based on the errors, I think the basic problem is that the libraries are built in a way that the Python gobject introspection code can't load.
comment:6 Changed 5 years ago by nerdling (Jeremy Lavergne)
Cc: | nerdling added |
---|
comment:7 Changed 5 years ago by michaelld (Michael Dickens)
Please try out this PR < https://github.com/macports/macports-ports/pull/6544 > and see if it solves the issue. It does for me. It's an interim step between the current GI version and the one from <https://github.com/macports/macports-ports/pull/5759> ... which isn't going anywhere quickly it looks like & is already outdated (1.64.0 is out; the PR is for 1.62.0).
comment:8 Changed 5 years ago by michaelld (Michael Dickens)
comment:9 Changed 5 years ago by fhgwright (Fred Wright)
This fixes the problem, but indeed (as noted in the PR) atk needs a revbump. After installing this upgrade, and undoing the three aforementioned rollbacks, it still didn't work, but then worked after rebuilding atk from source (which didn't take long).
comment:10 Changed 5 years ago by dbevans (David B. Evans)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Test program for py-gobject3 Gtk import