Error after trying to upgrade installed

Doctor Who whodoctor at gmail.com
Sun Jan 18 18:39:20 PST 2009


On Sun, Jan 18, 2009 at 9:28 PM, Ryan Schmidt <ryandesign at macports.org> wrote:
> On Jan 18, 2009, at 20:18, Doctor Who wrote:
>
>> On Sun, Jan 18, 2009 at 9:01 PM, Ryan Schmidt wrote:
>>
>>> 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
>>
>> Not to be a pain, but I'm pretty new to MacPorts and I don't want to
>> mess my system up more.  Would you please outline the steps I should
>> take one by one to (hopefully) restore my system back to 'normal'?
>
> I'm not certain, as I haven't encountered this problem before.
>
> But my suggestion is exactly as I outlined above.
>
> 1. Edit /opt/local/etc/macports/macports.conf and change this line:
>
> #binpath
>  /opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin
>
> Remove the hash at the beginning and change the order so that it reads:
>
> binpath
> /bin:/sbin:/usr/bin:/usr/sbin:/opt/local/bin:/opt/local/sbin:/usr/X11R6/bin
>
> 2. Deactivate your old gettext:
>
> sudo port deactivate gettext @0.17_3
>
> 3. Activate your new gettext:
>
> sudo port activate gettext @0.17_4
>
> 4. Uninstall coreutils because it is not a good idea to override the default
> Mac OS X file utilities:
>
> sudo port uninstall coreutils
>
> 5. Edit /opt/local/etc/macports/macporst.conf and put the binpath line back
> the way it was before, including the order of the paths and the hash at the
> beginning of the line.
>
>
>
>

OK, when I get to the point of activating the later version of
gettext, it's not installed:

tbook:~ who$ sudo port deactivate gettext @0.17_3
--->  Deactivating gettext @0.17_3
tbook:~ who$ sudo port activate gettext @0.17_4
Error: port activate failed: Registry error: gettext 0.17_4 not
registered as installed.

What should I do at this point to install this version correctly?


More information about the macports-users mailing list