selfupdate failing with "Operation timed out"

Ryan Schmidt ryandesign at macports.org
Fri Apr 23 07:17:16 UTC 2021


On Apr 22, 2021, at 19:25, Joseph Hunkeler wrote:

> After installing MacPorts-2.6.4-10.15-Catalina.pkg I'm seeing this behavior:
> 
> # /opt/local/bin/port -v selfupdate
> --->  Updating MacPorts base sources using rsync
> rsync: failed to connect to rsync.macports.org: Operation timed out (60)
> rsync error: error in socket IO (code 10) at /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-54.120.1/rsync/clientserver.c(106)
> [receiver=2.6.9]
> Command failed: /usr/bin/rsync -rtzvl --delete-after rsync://rsync.macports.org/macports/release/tarballs/base.tar
> /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs
> Exit code: 10
> 
> # uname -r
> 19.6.0
> 
> # sw_vers
> ProductName:	Mac OS X
> ProductVersion:	10.15.7
> BuildVersion:	19H524
> 
> 
> I've tried setting "rsync_server" in /opt/local/etc/macports/macports.conf to a couple different hosts listed on https://trac.macports.org/wiki/Mirrors but was
> met with the error above. Is there something wrong on my end? How could every rsync server be down at the same time? I'm able to download files from the HTTP
> servers for each mirror I've tried, so I'm a little baffled by this.

Sounds like the network you're on, or firewall or network filtering software installed on your computer, prevents you from accessing rsync servers. 


> Is there another sync method I can try or does MacPorts only support rsync?

rsync is the default because you only have to keep as much information on your disk as the current ports collection occupies and because rsync only needs to transfer the differences over the network, not the entire thing every time.

But yes, there are several other methods possible.

One method is to download the entire ports collection over http every time you sync. The disadvantage is that you have to transfer more data over the network every time you sync. There are two sources for such a tarball: the one we produce on our server (which comes with a portindex but which might be an hour of date w.r.t. the git repository but exactly as up to date as rsync), or one generated by github (which will be completely up to date with the git repository but which does not come with a portindex so you'll be generating it on your computer). This method is described here:

https://trac.macports.org/wiki/howto/PortTreeTarball

Another method is to get the ports by cloning our git repository. The disadvantage is it takes up disk space equal to the entire history of the ports collection (rather than just its current state), and the portindex gets generated on your computer rather than on our server. This method is described here:

https://trac.macports.org/wiki/howto/SyncingWithGit

These and other helpful guides are found in the howto section of the wiki:

https://trac.macports.org/wiki/howto




More information about the macports-users mailing list