[MacPorts] #67568: inkscape @1.2.2: Symbol not found: (__ZN3Gtk6Widget20get_accessible_vfuncEv)
MacPorts
noreply at macports.org
Sun Jun 4 06:24:39 UTC 2023
#67568: inkscape @1.2.2: Symbol not found:
(__ZN3Gtk6Widget20get_accessible_vfuncEv)
-------------------------------+----------------------
Reporter: ryandesign | Owner: mascguy
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.8.1
Resolution: | Keywords: monterey
Port: inkscape, gtkmm3 |
-------------------------------+----------------------
Changes (by ryandesign):
* cc: dbevans (added)
* port: inkscape => inkscape, gtkmm3
Comment:
Replying to [ticket:67568 ryandesign]:
> {{{
> inkscape @1.2.2_3+x11 (active) requested_variants='' platform='darwin
21' archs='x86_64' date='2023-06-03T04:01:29-0500'
> }}}
The installation date shown here is misleading in that I did not build
from source on that date; I used the private binary produced by the
buildbot on 2023-05-05.
Downgrading gtkmm3 to 3.24.2_0 works. This suggests something significant
happened between gtkmm3 3.24.2 and 3.24.7. Unfortunately the
[changeset:712c0740383bf2f33c6196e5d4eb62d642196a55/macports-ports gtkmm3
3.24.2->3.24.7 update] in MacPorts was an overhaul of the port with many
changes, making it difficult to know what may have caused this.
One significant change that happened then for MacPorts is that the port
switched from autotools to meson. It also switched dependencies from
atkmm, cairomm, glibmm, and pangomm to atkmm-1.6, cairomm-1.0, glibmm-2.4,
and pangomm-1.4.
Looking in the gtkmm3 code, `get_accessible_vfunc` is only defined and
used if `GTKMM_ATKMM_ENABLED` is defined. This makes me think that maybe
the new gtkmm3 is not using atkmm, and that the fact that gtkmm3 was using
atkmm at the time inkscape was built somehow seeped into the build of
inkscape. I think this confirms it:
{{{
% port -q installed gtkmm3 and active
gtkmm3 @3.24.2_0+x11 (active)
% otool -L /opt/local/lib/libgtkmm-3.0.dylib
/opt/local/lib/libgtkmm-3.0.dylib:
/opt/local/lib/libgtkmm-3.0.1.dylib (compatibility version 3.0.0,
current version 3.0.0)
/opt/local/lib/libgdkmm-3.0.1.dylib (compatibility version 3.0.0,
current version 3.0.0)
/opt/local/lib/libatkmm-1.6.1.dylib (compatibility version 3.0.0,
current version 3.0.0)
/opt/local/lib/libgiomm-2.4.1.dylib (compatibility version 5.0.0,
current version 5.0.0)
/opt/local/lib/libpangomm-1.4.1.dylib (compatibility version
2.0.0, current version 2.30.0)
/opt/local/lib/libglibmm-2.4.1.dylib (compatibility version 5.0.0,
current version 5.0.0)
/opt/local/lib/libcairomm-1.0.1.dylib (compatibility version
6.0.0, current version 6.0.0)
/opt/local/lib/libsigc-2.0.0.dylib (compatibility version 1.0.0,
current version 1.0.0)
/opt/local/lib/libgtk-3.0.dylib (compatibility version 2405.0.0,
current version 2405.19.0)
/opt/local/lib/libgdk-3.0.dylib (compatibility version 2405.0.0,
current version 2405.19.0)
/opt/local/lib/libpangocairo-1.0.0.dylib (compatibility version
4801.0.0, current version 4801.10.0)
/opt/local/lib/libpango-1.0.0.dylib (compatibility version
4801.0.0, current version 4801.10.0)
/opt/local/lib/libharfbuzz.0.dylib (compatibility version
20901.0.0, current version 20901.0.0)
/opt/local/lib/libatk-1.0.0.dylib (compatibility version
23610.0.0, current version 23610.1.0)
/opt/local/lib/libcairo-gobject.2.dylib (compatibility version
11707.0.0, current version 11707.0.0)
/opt/local/lib/libcairo.2.dylib (compatibility version 11707.0.0,
current version 11707.0.0)
/opt/local/lib/libgdk_pixbuf-2.0.0.dylib (compatibility version
4201.0.0, current version 4201.2.0)
/opt/local/lib/libgio-2.0.0.dylib (compatibility version 6201.0.0,
current version 6201.6.0)
/opt/local/lib/libgobject-2.0.0.dylib (compatibility version
6201.0.0, current version 6201.6.0)
/opt/local/lib/libglib-2.0.0.dylib (compatibility version
6201.0.0, current version 6201.6.0)
/opt/local/lib/libintl.8.dylib (compatibility version 10.0.0,
current version 10.5.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
version 1200.3.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 1311.0.0)
}}}
{{{
% port -q installed gtkmm3 and active
gtkmm3 @3.24.7_0+x11 (active)
% otool -L /opt/local/lib/libgtkmm-3.0.dylib
/opt/local/lib/libgtkmm-3.0.dylib:
/opt/local/lib/libgtkmm-3.0.1.dylib (compatibility version 3.0.0,
current version 3.0.0)
/opt/local/lib/libgdkmm-3.0.1.dylib (compatibility version 3.0.0,
current version 3.0.0)
/opt/local/lib/libgiomm-2.4.1.dylib (compatibility version 5.0.0,
current version 5.0.0)
/opt/local/lib/libglibmm-2.4.1.dylib (compatibility version 5.0.0,
current version 5.0.0)
/opt/local/lib/libgobject-2.0.0.dylib (compatibility version
7601.0.0, current version 7601.2.0)
/opt/local/lib/libglib-2.0.0.dylib (compatibility version
7601.0.0, current version 7601.2.0)
/opt/local/lib/libsigc-2.0.0.dylib (compatibility version 1.0.0,
current version 1.0.0)
/opt/local/lib/libgtk-3.0.dylib (compatibility version 2406.0.0,
current version 2406.32.0)
/opt/local/lib/libgdk-3.0.dylib (compatibility version 2406.0.0,
current version 2406.32.0)
/opt/local/lib/libcairomm-1.0.1.dylib (compatibility version
6.0.0, current version 6.0.0)
/opt/local/lib/libpangomm-1.4.1.dylib (compatibility version
2.0.0, current version 2.30.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
version 1300.23.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 1311.100.3)
}}}
So I would guess the solution is to make gtkmm3 use atkmm again. The
presence of the atkmm-1.6 dependency shows the port is intending to use
atkmm but something appears to be going wrong.
Looking at [https://build.macports.org/builders/ports-
13_arm64-builder/builds/22272/steps/install-port/logs/stdio the most
recent gtkmm3 build log from the buildbot], it says:
{{{
Dependency atkmm-1.6 found: YES 2.28.0 (cached)
}}}
{{{
Build atkmm API: false
}}}
I tried leaving gtkmm3 at 3.24.7_0 and rebuilding inkscape 1.2.2_3 from
source in trace mode but this failed.
I tried rebuilding gtkmm3 3.24.7_0 in trace mode but this failed.
--
Ticket URL: <https://trac.macports.org/ticket/67568#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list