Opened 11 years ago

Closed 9 years ago

#40507 closed defect (fixed)

Unable to clean kcachegrind

Reported by: istlota@… Owned by: NicosPavlov
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: kcachegrind

Description (last modified by mf2k (Frank Schima))

Attempts to 'sudo port clean --all all' fail when it gets to kcachegrind with this error:

Error: Unable to open port: couldn't change working directory to "/Volumes/macintoshUSB/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/kde/kcachegrind": no such file or directory

This same command completed when I ran it a day or two ago.

Change History (8)

comment:1 Changed 11 years ago by mf2k (Frank Schima)

Description: modified (diff)
Owner: changed from macports-tickets@… to nicos@…

In the future, please use WikiFormatting.

Something is strange:

$ port info kcachegrind
Error: Unable to open port: couldn't change working directory to "/opt/mports/trunk/dports/kde/kcachegrind": no such file or directory

comment:2 Changed 11 years ago by NicosPavlov

The port has been renamed due to a conflict with another port. Rebuilding the index with

sudo port selfupdate

should solve the issue, eventually along with

sudo port uninstall kcachegrind
sudo port install kcachegrind4

to replace the port.

comment:3 Changed 11 years ago by jamesfmarshall@…

sudo port selfupdate does not solve the issue here, not even with the sudo port uninstall command.

Can we fix this manually?

comment:4 Changed 11 years ago by istlota@…

I concur with jamesfmarshall. Even after I issued the suggested cmds [sudo port selfupdate, sudo port uninstall kcachegrind, sudo port install kcachegrind4], sudo port clean --all all still fails at the same spot.

comment:5 Changed 11 years ago by amadeus24

The easiest way would be to create a link "kcachegrind" to "kcachegrind4".
"port clean all" should then do the job.
It's true we have then a system-cadaver, but it's just a link, which can be removed later.

comment:6 Changed 11 years ago by NicosPavlov

Summary: Unable to clean kacachegrindUnable to clean kcachegrind
Version: 2.2.0

The fact of making a symlink may not be sufficient, as any manual addition to the ports source would be suppressed when running selfupdate again, unless it is placed in a local port repository. Furthermore, this link may hide the other existing port devel/kcachegrind, which is the original reason for suppressing kde/kcachegrind.

One way which seemed to work for me is to manually force the full creation of a port index with:

cd ${prefix}/var/macports/sources/rsync.macports.org/release/tarballs/ports
sudo portindex -f

where ${prefix} is the Macports installation (usually /opt/local). This way is also maintained through selfupdates.

comment:7 in reply to:  6 Changed 11 years ago by amadeus24

Replying to nicos@…:

The fact of making a symlink may not be sufficient, as any manual addition to the ports source would be suppressed when running selfupdate again, unless it is placed in a local port repository. Furthermore, this link may hide the other existing port devel/kcachegrind, which is the original reason for suppressing kde/kcachegrind.

One way which seemed to work for me is to manually force the full creation of a port index with:

cd ${prefix}/var/macports/sources/rsync.macports.org/release/tarballs/ports
sudo portindex -f

where ${prefix} is the Macports installation (usually /opt/local). This way is also maintained through selfupdates.


Agree with you. I create the link just to prevent "clean" to stumble and deleted the link after "clean" have finished the job. Even not emptying everything the function will go through all ports and will not stop.
Anyway, I will recommend your steps also.

comment:8 Changed 9 years ago by NicosPavlov

Resolution: fixed
Status: newclosed

This issue should be fixed, as the older port kcachegrind has been erased from the ports list after having been obsolete for some time.

Note: See TracTickets for help on using tickets.