Opened 3 months ago

Last modified 2 weeks ago

#65704 new defect

MacPorts @2.7.2: port selfupdate fails due to error deleting p5-moosex-params-validate

Reported by: ekinakoglu (Ekin Akoglu) Owned by:
Priority: Normal Milestone:
Component: base Version: 2.7.2
Keywords: selfupdate, p5-moosex-params-validate Cc: jmroot (Joshua Root), raimue (Rainer Müller), ekinakoglu (Ekin Akoglu)
Port:

Description

On macOS Catalina (10.15.7 with Xcode version 12.4 (12D4e) and xcode-select version 2373) updating ports tree with sudo port selfupdate fails with error:

Error: /opt/local/bin/port: port selfupdate failed: Couldn't sync the ports tree: error deleting "/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/perl/p5-moosex-params-validate": file already exists

The "/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/perl/p5-moosex-params-validate" cannot be deleted even manually:

$ sudo rm -rf /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/perl/p5-moosex-params-validate

rm: /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/perl/p5-moosex-params-validate: Directory not empty

however, the directory is empty:

$ ls -la /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/perl/p5-moosex-params-validate

total 0

drwxr-xr-x 3 500 505 96 Oct 10 2019 .

drwxr-xr-x 4 500 505 128 Jul 15 2021 ..

rmdir also does not work:

$ sudo rmdir /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/perl/p5-moosex-params-validate

rmdir: /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/perl/p5-moosex-params-validate: Directory not empty

Attachments (1)

selfupdate_terminal_output.rtf (2.2 KB) - added by ekinakoglu (Ekin Akoglu) 3 months ago.

Download all attachments as: .zip

Change History (5)

Changed 3 months ago by ekinakoglu (Ekin Akoglu)

comment:1 Changed 3 months ago by ekinakoglu (Ekin Akoglu)

Cc: ekinakoglu added

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

Curious. Can you delete it if you first go into the directory?

$ cd /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/perl
$ sudo rm -rf p5-moosex-params-validate

Or can you delete a higher directory?

$ sudo rm -rf /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/perl
$ sudo rm -rf /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports

Or can you delete it in the Finder instead of in the Terminal?

You can try deleting all the way up to /opt/local/var/macports/sources/rsync.macports.org if you need to; it'll all be recreated after a successful selfupdate.

comment:3 Changed 4 weeks ago by ekinakoglu (Ekin Akoglu)

Hi, I could delete them only in the Finder, magical. Thank you. However, now I cannot empty the trash now. I keep getting these errors which I skip one by one:

The operation can’t be completed because the item “p5-moosex-params-validate” is in use.
The operation can’t be completed because the item “p5-net-frame-layer-ipv6” is in use.
The operation can’t be completed because the item “perl” is in use.
The operation can’t be completed because the item “ports” is in use.
The operation can’t be completed because the item “tarballs” is in use.
The operation can’t be completed because the item “release” is in use.
The operation can’t be completed because the item “macports” is in use.
The operation can’t be completed because the item “rsync.macports.org” is in use.

Further, I cannot use MacPorts. When I run % sudo port selfupdate, I get:

--->  Updating MacPorts base sources using rsync
MacPorts base version 2.7.2 installed,
MacPorts base version 2.8.0 downloaded.
--->  Updating the ports tree
--->  MacPorts base is outdated, installing new version 2.8.0
Installing new MacPorts release in /opt/local as root:wheel; permissions 0755
Error: Couldn't change permissions of the MacPorts sources at /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/base to root: child killed: kill signal
Please run `port -v selfupdate' for details.
Error: /opt/local/bin/port: port selfupdate failed: Couldn't change permissions of the MacPorts sources at /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/base to root: child killed: kill signal

comment:4 in reply to:  3 Changed 2 weeks ago by ryandesign (Ryan Schmidt)

Replying to ekinakoglu:

Hi, I could delete them only in the Finder, magical. Thank you. However, now I cannot empty the trash now. I keep getting these errors which I skip one by one:

The operation can’t be completed because the item “p5-moosex-params-validate” is in use.
The operation can’t be completed because the item “p5-net-frame-layer-ipv6” is in use.
The operation can’t be completed because the item “perl” is in use.
The operation can’t be completed because the item “ports” is in use.
The operation can’t be completed because the item “tarballs” is in use.
The operation can’t be completed because the item “release” is in use.
The operation can’t be completed because the item “macports” is in use.
The operation can’t be completed because the item “rsync.macports.org” is in use.

Does this problem persist after restarting the computer?

Further, I cannot use MacPorts. When I run % sudo port selfupdate, I get:

--->  Updating MacPorts base sources using rsync
MacPorts base version 2.7.2 installed,
MacPorts base version 2.8.0 downloaded.
--->  Updating the ports tree
--->  MacPorts base is outdated, installing new version 2.8.0
Installing new MacPorts release in /opt/local as root:wheel; permissions 0755
Error: Couldn't change permissions of the MacPorts sources at /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/base to root: child killed: kill signal
Please run `port -v selfupdate' for details.
Error: /opt/local/bin/port: port selfupdate failed: Couldn't change permissions of the MacPorts sources at /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/base to root: child killed: kill signal

That's #66031, which we don't know the cause of yet, but you should be able to ignore the error and continue to use MacPorts. MacPorts has been updated to 2.8.0 successfully despite the error.

Note: See TracTickets for help on using tickets.