Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#54932 closed defect (fixed)

gegl @0.2.0: glib-mkenums: KeyError: u'nick'

Reported by: captainproton1971 (Captain Proton) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version: 2.4.1
Keywords: Cc: ryandesign (Ryan Carsten Schmidt), EdHarry, vrurg (Vadim Belman), ichbindannmalwegmann (Roger Wegmann), ENOTTY, machsna (J. ‘mach’ Wust), michaellass (Michael Lass)
Port: gegl

Description

I've been following the ports migration after upgrading to macOS 10.13. gegl is refusing to build.

I'm not sure if this is a gegl issue or a glib issue (sorry, not a developer) from the log file. This looks like the important part of said log.

:info:build Traceback (most recent call last):
:info:build   File "/opt/local/bin/glib-mkenums", line 688, in <module>
:info:build     process_file(fname)
:info:build   File "/opt/local/bin/glib-mkenums", line 484, in process_file
:info:build     parse_entries(curfile, curfilename)
:info:build   File "/opt/local/bin/glib-mkenums", line 205, in parse_entries
:info:build     entries.append((name, value, options['nick']))
:info:build KeyError: u'nick'

Attachments (1)

gegl_main.log (471.1 KB) - added by captainproton1971 (Captain Proton) 7 years ago.
Log file of attempted build of gegl @0.2.0_24 on macOS 10.13

Download all attachments as: .zip

Change History (10)

Changed 7 years ago by captainproton1971 (Captain Proton)

Attachment: gegl_main.log added

Log file of attempted build of gegl @0.2.0_24 on macOS 10.13

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

Port: glib2 added; gegl @0.2.0_24 removed
Summary: gegl @0.2.0_24 not building after migration to macOS 10.13glib2: glib-mkenums: KeyError: u'nick'

I've seen this before, but I can't find the previous ticket about it right now.

comment:2 Changed 7 years ago by EdHarry

Cc: EdHarry added

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

Cc: vrurg ichbindannmalwegmann added; dbevans removed
Owner: set to dbevans
Port: gegl added; glib2 removed
Status: newassigned
Summary: glib2: glib-mkenums: KeyError: u'nick'gegl @0.2.0: glib-mkenums: KeyError: u'nick'

Maybe it is best to call it a gegl bug for now.

Has duplicate #54937, in which it was pointed out that gegl is outdated—0.3.20 is available. Are we intentionally holding gegl back, or did we just not notice the availability of the new version because of the way the livecheck is written? If there's no reason not to upgrade, maybe we should try that first and see if that solves this bug.

comment:4 Changed 7 years ago by dbevans (David B. Evans)

Status: assignedaccepted

I think this is probably the same unicode problem that was reported against libgda5. See https://bugzilla.gnome.org/show_bug.cgi?id=788283 for the issue and ryandesigns fix.

The root cause is that glib-mkenums as been re-coded using python in the latest version of glib 2.54.0 and this causes it to require utf8 encoded text as input. Will take a look.

Concerning gegl being outdated. We provide several versions of gegl as required by different dependents. In particular gegl (version 0.2.x) is still required by gimp2. However, the latest versions of gegl is provided by port gegl-0.3 and a development version is provided as gegl-devel providing a recent git master of the 0.3 develment branch. So I think all bases are covered.

Current gegl versions are

  • gegl @0.2.0_24
  • gegl-0.3 @0.3.20_1
  • gegl-devel @0.3.21-20170906

The 0.2 and 0.3 versions install in parallel without conflict.

comment:5 Changed 7 years ago by ENOTTY

Cc: ENOTTY added

comment:6 Changed 7 years ago by machsna (J. ‘mach’ Wust)

Cc: machsna added

comment:7 Changed 7 years ago by michaellass (Michael Lass)

Cc: michaellass added

comment:8 Changed 7 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: acceptedclosed

In 791c20f9daea67d57a86cc3b632ff5a673c867b6/macports-ports:

gegl: fix build with glib2 1.54+

As part of the old introspection patch, this port
patches gegl-enums.h. This in turn causes the build
to try and regenerate gegl-enums.c using the glib-mkenums
utility provided as part of glib2's GObject API.

Unfortunately, for reasons that are still not clear, the
new python implementation of glib-mkenums provided in glib2
1.54+ chokes on this conversion.

As a work-around, this commit patches gegl-enums.c to match
the patched gegl-enums.h, as generated in earlier versions,
allowing the build to complete as before and without tempting
the build to try and use glib-mkenums.

Note that this problem is specific to gegl and not the newer
versions gegl-0.3 and gegl-devel which now include a properly
generated gegl-enums.c in the upstream git repo.

Fixes #54932

comment:9 Changed 7 years ago by captainproton1971 (Captain Proton)

Yes, that seems to have fixed it for me. Thank you.

Note: See TracTickets for help on using tickets.