Error after trying to upgrade installed
Ryan Schmidt
ryandesign at macports.org
Sun Jan 18 18:01:57 PST 2009
On Jan 18, 2009, at 19:10, Rainer Müller wrote:
> Doctor Who wrote:
>
>> Well, I hope there is some way to fix/recover from this. I cannot
>> even list files on my file system in Terminal.app (as evidenced by
>> the
>> attempt at the ls command above).
>
> It is trying to use /opt/local/bin/ls which is broken. You can
> still use
> /bin/ls.
>
> You can now either always type the full path /bin/ls, remove
> /opt/local/bin from your PATH or deactivate the broken coreutils:
> sudo port deactivate coreutils
>
> Then you should at least have working ls/cp/mv etc. again.
Yes, fixing the PATH in ~/.profile or ~/.bash_profile or just
temporarily in the Terminal would allow you to now type "ls" or
"touch" in the Terminal, however:
> Now to fix the gettext issue, please try if this works now:
> sudo port deactivate gettext
> sudo port activate gettext
>
> registry1.0 uses calls like 'system "rm -rf ${receipt_file}"' to work
> with receipt files, so it was unable to operate with the broken
> coreutils in PATH.
Note that the user's PATH is not used by MacPorts, so this will still
fail until you also change the PATH that MacPorts uses while running,
which is set in the variable binpath in the file /opt/local/etc/
macports/macports.conf
You could change the binpath so that /bin and /usr/bin precede /opt/
local/bin. Then MacPorts will use the system's file manipulation
utilities (ln, touch, etc.) you will hopefully be able to deactivate
the old gettext and activate the new one, at which point your
coreutils versions of ln and touch will work again and you can (and
should) revert binpath in macports.conf and PATH in .profile
or .bash_profile to what they were.
Then, you should probably uninstall coreutils +with_default_names
because it's probably not good to override those default Mac OS X
utilities.
We could consider removing the +with_default_names capability from
the coreutils port.
We should also consider forcing MacPorts base to always use vital
utilities like ln and touch via their absolute paths in /bin or /usr/
bin and not allow a MacPorts version to interfere. We might consider
the same for tar, gzip, bzip2, etc, to avoid the occasional problem
with the MacPorts versions of those utilities, e.g. the thread "error
apache2 from macports 1.70" earlier today:
http://lists.macosforge.org/pipermail/macports-users/2009-January/
013335.html
More information about the macports-users
mailing list