[MacPorts] #56214: inkscape @ 0.92.2_2 all variants: libc++abi.dylib Glib::ConvertError

MacPorts noreply at macports.org
Tue Apr 17 19:19:31 UTC 2018


#56214: inkscape @ 0.92.2_2 all variants: libc++abi.dylib Glib::ConvertError
-------------------------+---------------------
  Reporter:  streincorp  |      Owner:  dbevans
      Type:  defect      |     Status:  closed
  Priority:  Normal      |  Milestone:
 Component:  ports       |    Version:  2.4.2
Resolution:  fixed       |   Keywords:
      Port:  inkscape    |
-------------------------+---------------------
Changes (by neverpanic):

 * status:  accepted => closed
 * resolution:   => fixed


Comment:

 In [changeset:"e864b2340be9ef003d8ff4aef92e7151d06287dd/macports-ports"
 e864b2340be9ef003d8ff4aef92e7151d06287dd/macports-ports]:
 {{{
 #!ConfigurableCommitTicketReference repository="macports-ports"
 revision="e864b2340be9ef003d8ff4aef92e7151d06287dd"
 glibmm: Fix character set conversion with libc++

 glibmm contains code that attempts to convert between std::wstring and
 glibmm's Glib::ustring string class, which stores characters in UTF-8.
 This conversion code was using a fallback solution that eventually calls
 iconv to convert from the "WCHAR_T" character set to UTF-8.

 On macOS, iconv --list does not show WCHAR_T as supported character set
 and comments in the libiconv code handling WCHAR_T suggest it was
 written for glibc, which is not used on macOS. Consequently, the
 conversion failed, which caused Glib::ustring to throw an exception.

 This exception was not caught by inkscape and caused a crash when
 starting inkscape, rendering it useless.

 Fortunately, glibmm already contained code to deal with libc++'s
 std::wstrings, but it was guaded by a check for the __STDC_ISO_10646__
 prepocessor define. Allowing _LIBCPP_VERSION in addition to
 __STDC_ISO_10646__ makes code compiled against libc++ use this code path
 and solves the issue.

 Closes: https://trac.macports.org/ticket/56214
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/56214#comment:12>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list