failure of "port selfupdate"

Ryan Schmidt ryandesign at macports.org
Sun Dec 19 20:42:31 PST 2010


On Dec 19, 2010, at 20:01, William H. Magill wrote:

> I just decided I should probably check on the status of my macports install and got the following...
> 
> ==================<cut here>============
> sudo port selfupdate
> --->  Updating the ports tree
> --->  Updating MacPorts base sources using rsync
> MacPorts base version 1.8.2 installed,
> MacPorts base version 1.9.2 downloaded.
> --->  MacPorts base is outdated, installing new version 1.9.2
> Installing new MacPorts release in /opt/local as root:admin; permissions 0755; Tcl-Package in /Library/Tcl
> 
> Error: /opt/local/bin/port: port selfupdate failed: Error installing new MacPorts base: shell command "cd /opt/local/var/macports/sources/rsync.macports.org/release/base && ./configure --prefix=/opt/local --with-tclpackage=/Library/Tcl --with-install-user=root --with-install-group=admin --with-directory-mode=0755 --enable-readline && make && make install" returned error 1
> ==================<cut here>============
> 
> Something I did, or is something broken?

Unfortunately the output MacPorts printed above has no information about what went wrong.... and I don't know if it writes a logfile anywhere. If we can't resolve it with the steps below, you may have to redo the selfupdate with the debug switch to get more information (i.e. "sudo port -d selfupdate").


> Don't see anything obviously wrong.  
> When I check /opt/local from my id (not su), I noticed that "/opt/local/man" is a link which for some reason is giving me a "Permission denied.
> 
> ls: ./man: Permission denied
> 4 lrwx------  1 root  admin  9 Feb 12  2010 ./man

That seems to show that ./man is an actual directory, not a symlink as it should be, and that it has permissions 700 instead of 755. Fix the permissions of this directory with:

sudo chmod 755 ./man

If the files and directories inside it also have incorrect permissions, more involved permissions fixing may be necessary.


What's in this directory, and was it provided by a MacPorts port? This should let you find out:

find ./man -type f -print0 | xargs -0 port provides

Ports should install manpages in /opt/local/share/man, not /opt/local/man; if you have any port that has a location in /opt/local/min registered to it, we need to fix that port, so please tell us what port it is.


>  even though /opt/local/share/man is fine... (but man3 is also full of bad links... argh!)

Oh? I don't think there should be any bad symlinks; can you tell us about them?


> The only "odd"  thing which I did notice is:
> 
> ls -als /library/Tcl
> total 0
> 0 drwxr-xr-x   4 root  admin   136 Nov 13 15:15 .
> 0 drwxrwxr-t+ 62 root  admin  2108 Nov 13 15:15 ..
> 0 drwxrwxr-x   9 root  admin   306 Mar 23  2007 darwinports1.0
> 0 drwxr-xr-x  10 root  admin   340 Feb 12  2010 macports1.0
> 
> 
> .... Thought I had purged all the darwin ports stuff ages ago... :)

You should be safely able to delete the darwinports1.0 directory.



More information about the macports-users mailing list