Fink

Ч.З.В. - 7. Проблемы компиляции - специальные пакеты

В7.1: Не получается создать пакет и появляются ошибки с упоминанием sed.

О: Это может происходить, когда ваш скрипт регистрации (н-р ~/.cshrc) сделал нечто, после чего терминал получил сообщение, н-р "echo Hello" или xttitle. Для исправления проблемы наиболее легкое решение - сделать комментарий вне проблемных строк.

Если хотите сохранить эхоотображение, можно сделать нечто вроде следующего:

if ( $?prompt) then 
	echo Hello 
endif

В7.2: Хочу перейти на пакеты Fink's XFree86, но не могу инсталлировать xfree86-base | xfree86, т.к.он конфликтует с system-xfree86.

О: Все прелести X11, к сожалению, действительно должны быть инсталлированы в /usr/X11R6. Поэтому пакеты Fink xfree86-base и xfree86-rootless также в нем установлены. Тем не менее, поскольку Fink не удалит файлы, которые не находятся в его базе данных, это не заменит автоматически инсталляцию X11, выполненную без Fink.

Как надо поступить:

Прим.: пользователи 10.2.x с новейшими версиями Fink (>= 0.16.2) и пользователи 10.3.x должны пропустить действие 1 в числе нижеуказанных (в любом случае это не сработает).

1. Удалите system-xfree86. Если у вас нет пакетов, зависящих от X11, это просто. Однако зачастую есть много инсталлированных пакетов, зависящих от X11. Чтобы не пришлось их деинсталлировать, можно использовать

sudo dpkg --remove --force-depends system-xfree86

для удаления и оставить все на своем месте. Если у вас нет инсталлированной system-xfree86, переходите к действию 3.

2. Вручную удалите все XFree86. Это можно сделать при помощи

sudo rm -rf /Applications/XDarwin.app /usr/X11R6 /etc/X11

Если вы переключаетесь с Apple X11, удалите приложение X11 также.

3. Для XFree86-4.2.1 инсталлируйте пакеты Fink xfree86-base и xfree86-rootless обычным образом: "fink install" для пользователей исходного кода, "apt-get install" или dselect для бинарных файлов.

-или-

3a. Для XFree86-4.3.x и более поздних версий инсталлируйте пакет Fink xfree86 с "fink install xfree86"--последняя версия (XFree86-4.4.x от 25 мая 2004 г.) пока еще не в бинарном distro и на данный момент находится только на нестабильном дереве [см. как инсталлировать нестабильные пакеты].

В7.3: Как можно поменять несвязную версию пакетов Fink XFree86 на связную версию (или наоборот)?

О: Если вы выполняете версию Fink XFree86 и хотите переключиться между связными и несвязными версиями Fink, надо вручную удалить старую версию. Это выполняется на строке команд при помощи команд:

sudo dpkg -r --force-depends xfree86-base 
sudo dpkg -r --force-depends xfree86-shlibs 
sudo dpkg -r --force-depends xfree86-rootless 
sudo dpkg -r --force-depends xfree86-rootless-shlibs

или путем удаления связных версий:

sudo dpkg -r --force-depends xfree86-base-threaded 
sudo dpkg -r --force-depends xfree86-shlibs-threaded 
sudo dpkg -r --force-depends xfree86-rootless-threaded 
sudo dpkg -r --force-depends xfree86-rootless-threaded-shlibs

В FinkCommander также есть способ удаления пакетов. В окне исходного кода выберите пакет и затем в Source Menu примените "Force Remove."

Если вы используете system-xfree86, см. предыдущий вопрос относительно ее удаления.

Инсталлируйте необходимую вам версию xfree86:

xfree86-base и xfree86-rootless

xfree86-base-threaded и xfree86-rootless-threaded

обычным образом: "fink install" для пользователей исходного кода, "apt-get install" или dselect для бинарных файлов.

В7.4: При попытке инсталляции KDE получил сообщение: 'Can't resolve dependency "cctools (>= 446-1)"'

О: Это зашифрованное сообщение означает, что вам надо инсталлировать Developer Tools за декабрь 2002 г.

В7.5: Не могу обновить libiconv.

О: Если вы получили сообщение об ошибке в таком виде:

libtool: link: cannot find the library `/opt/sw/lib/libiconv.la'

можно решить проблему при помощи

fink remove gettext-dev 
fink install libiconv

В7.6: i can't install a package because c++filt is missing. Where do I get it?

О: If you get errors of the form

xgcc: installation problem, cannot exec `c++filt': No such file or directory

since updating to Tiger, then you need to do the following:

  • Reinstall BSD.pkg (from your installation media). If /usr/bin/c++filt doesn't appear, keep trying.

You also might also need to make sure you don't have any ancient Developer/Xcode Tools stuff laying around:

  • 10.4: Flush out your old Xcode Tools versions via running /Developer/Tools/uninstall-devtools.pl in a terminal. Then (re)install XCode (2.4.1 or later).
  • 10.5: Flush out your old Xcode Tools versions via running /Developer/Library/uninstall-devtools in a terminal. Then (re)install Xcode (3.0 or later).

1) Flush out your old 2) Reinstall BSD.pkg (from your main OS install)

В7.7: Fink refuses to update the gettext package, complaining that the dependencies are in an inconsistent state.

О: After running fink selfupdate to be sure you have the latest versions, try fink update gettext-tools. An old version of the gettext-tools package may be preventing you from updating gettext.

В7.8: I can't install gtk+2 on OS 10.5

О: Typically this involves missing libraries, such as: /usr/X11/lib/libXrandr.2.0.0.dylib or /usr/X11/lib/libXdamage.1.1.0.dylib (or other versions of libraries in /usr/X11/lib/).

The current wisdom on the best fix for such an issue is to install Xcode 3.1.3 or later.

В7.9: I'm having issues with a package that isn't listed here.

О: Since package problems tend to be transient, we've decided to put them up on the Fink wiki. Check the Package issues page.

Следующий: 8. Проблемы использования пакетов - Общие вопросы