Opened 22 months ago

Closed 3 months ago

#67247 closed defect (fixed)

gimp3-devel non-X11 depends on both babl and babl-devel, which conflict

Reported by: andlabs (Pietro Gagliardi) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: cooljeanius (Eric Gallager), lukaso (Lukas Oberhuber), dbevans (David B. Evans)
Port: gimp3-devel gegl-devel babl babl-devel

Description

According to macports_deptree output, gimp3-devel +quartz -x11 +no_x11 depends on both babl-devel and gegl-devel, and gegl-devel depends on babl; installing gimp3-devel therefore tries to install both babl and babl-devel, which are conflicting packages. This causes installation to fail:

$ sudo port install gimp3-devel +quartz -x11 +no_x11
--->  Computing dependencies for gimp3-devel
The following dependencies will be installed: 
 babl
 babl-devel
 gegl-devel
Continue? [Y/n]: 
--->  Fetching archive for babl-devel
--->  Attempting to fetch babl-devel-0.1.102_0.darwin_16.x86_64.tbz2 from https://packages.macports.org/babl-devel
--->  Attempting to fetch babl-devel-0.1.102_0.darwin_16.x86_64.tbz2.rmd160 from https://packages.macports.org/babl-devel
--->  Installing babl-devel @0.1.102_0
--->  Activating babl-devel @0.1.102_0
--->  Cleaning babl-devel
--->  Fetching archive for babl
--->  Attempting to fetch babl-0.1.102_0.darwin_16.x86_64.tbz2 from https://packages.macports.org/babl
--->  Attempting to fetch babl-0.1.102_0.darwin_16.x86_64.tbz2.rmd160 from https://packages.macports.org/babl
--->  Installing babl @0.1.102_0
--->  Activating babl @0.1.102_0
Error: Failed to activate babl: Image error: /opt/local/bin/babl is being used by the active babl-devel port.  Please deactivate this port first, or use 'port -f activate babl' to force the activation.
    while executing
"throw registry::image-error $msg"
    ("foreach" body line 47)
    invoked from within
"foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to install links, we test if we can lst..."
    invoked from within
"registry::write {
            foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to instal..."
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_babl/babl/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there
is a bug.
Error: Processing of port gimp3-devel failed

This is on macOS 10.12.

Change History (12)

comment:1 Changed 22 months ago by andlabs (Pietro Gagliardi)

Version: 2.8.1

comment:2 Changed 9 months ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

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

gimp3-devel depends on babl-devel. All other ports that depend on babl are supposed to work with either babl or babl-devel, but there was a bug where it would try to install babl anyway if you had babl-devel installed. I just fixed this; see #71243. Please wait at least two hours from now, then run sudo port selfupdate and try again and let us know if the problem still happens.

comment:4 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)

Well, you still won't be able to install gimp3-devel now for other reasons; see #71141.

comment:5 Changed 3 months ago by andlabs (Pietro Gagliardi)

Cool; thanks. I'll wait for the fix to be applied and then probably take a crack at fixing gimp3-devel myself.

comment:6 Changed 3 months ago by andlabs (Pietro Gagliardi)

It still tries to install babl and babl-devel at the same time if I install gimp3-devel without having either installed first. If I install gegl-devel by itself it tries to install babl. Only if I install babl-devel on its own first does gegl-devel/gimp3-devel work properly.

comment:7 Changed 3 months ago by bootchk (Lloyd Konneker)

So there is a work-around as described in the previous post.

Or I think after it fails, it work to deactivate babl-devel and try again (that seemed to work for me.)

From my experience building it yesterday, which seemed to succeed.

comment:8 in reply to:  6 ; Changed 3 months ago by mascguy (Christopher Nielsen)

Cc: lukaso added

Replying to andlabs:

It still tries to install babl and babl-devel at the same time if I install gimp3-devel without having either installed first. If I install gegl-devel by itself it tries to install babl. Only if I install babl-devel on its own first does gegl-devel/gimp3-devel work properly.

We eliminated the dependency on babl-devel, so that's one less headache.

The only thing keeping us tied to gegl-devel is a build issue with the latest release. Once that's been fixed, we'll be able to update gegl, and switch to that.

comment:9 Changed 3 months ago by lukaso (Lukas Oberhuber)

In case it's helpful, the Portfiles which are custom which are used for building GIMP 3 official builds are here: https://gitlab.gnome.org/Infrastructure/gimp-macos-build. I've also shadowed/overlayed Gegl and Babl there as well as a pile of other ports which don't build otherwise for my use case (cross compile for Big Sur/11). For example GIMP 3: https://gitlab.gnome.org/Infrastructure/gimp-macos-build/-/blob/master/ports/graphics/gimp3/Portfile?ref_type=heads

comment:10 Changed 3 months ago by mascguy (Christopher Nielsen)

Cc: dbevans added; mascguy removed
Owner: changed from dbevans to mascguy

comment:11 in reply to:  8 Changed 3 months ago by mascguy (Christopher Nielsen)

Replying to mascguy:

The only thing keeping us tied to gegl-devel is a build issue with the latest release. Once that's been fixed, we'll be able to update gegl, and switch to that.

These issues were just resolved, and gegl is now at parity with gegl-devel. So I'll update gimp3-devel later today, to depend on gegl.

comment:12 Changed 3 months ago by Christopher Nielsen <mascguy@…>

Resolution: fixed
Status: assignedclosed

In 98df7d8e753aa3be1b4631a32f45f44468740c2e/macports-ports (master):

gimp3-devel: switch to gegl

  • Now that gegl is at parity with gegl-devel, we can user the former

Fixes: #67247

Note: See TracTickets for help on using tickets.