Opened 3 years ago

Closed 3 years ago

#63167 closed defect (fixed)

gh @1.12.1 conflicts with fish @3.3.0

Reported by: cooljeanius (Eric Gallager) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: Cc: l2dy (Zero King), herbygillot (Herby Gillot)
Port: gh fish

Description

The gh port tries to install a fish completions file already provided by fish itself:

x ./opt/local/bin/gh
DEBUG: Image error: /opt/local/share/fish/completions/gh.fish is being used by the active fish port.  Please deactivate this port first, or use 'port -f activate gh' to force the activation.
    invoked from within
"throw registry::image-error "Image error: $file is being used by the active [$owner name] port.  Please deactivate this port first, or use 'port -f ac..."
    ("foreach" body line 45)
    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..."
    invoked from within
"try {
        registry::write {
            foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be ..."
    (procedure "_activate_contents" line 21)
    invoked from within
"_activate_contents $requested $rename_list"
    (procedure "activate" line 63)
    invoked from within
"activate $name "" "" 0 $optionslist"
    (procedure "portimage::activate_composite" line 3)
    invoked from within
"portimage::activate_composite $portname $composite_version [array get options]"
Error: port activate failed: Image error: /opt/local/share/fish/completions/gh.fish is being used by the active fish port.  Please deactivate this port first, or use 'port -f activate gh' to force the activation.

This conflict should either be marked, or fixed.

Change History (4)

comment:1 Changed 3 years ago by herbygillot (Herby Gillot)

Hey cooljeanius, can you ensure you have the very latest ports tree? Current versions of gh do not try to install to /opt/local/share/fish/completions.

Please do a sudo port selfupdate then try to install gh again.

comment:2 Changed 3 years ago by herbygillot (Herby Gillot)

I realize you posted the versions of both fish and gh. I think it may be possible that the file in question is an orphan from a previously installed version of gh.

Here's what I recommend. Uninstall both fish and gh, then see if that file is still there. If it is, verify it using port provides:

  1. sudo port uninstall fish
  2. sudo port uninstall gh
  3. Check if /opt/local/share/fish/completions/gh.fish still exists.
  4. If it does, do sudo port provides /opt/local/share/fish/completions/gh.fish to see if that file is connected to any port.
  5. If it isn't, manually delete it.
  6. Then reinstall the latest fish and gh and see if the conflict is resolved.

comment:3 Changed 3 years ago by cooljeanius (Eric Gallager)

ok this seems to have been resolved with the latest update to gh; it can be closed

comment:4 Changed 3 years ago by reneeotten (Renee Otten)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.