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