Fink

Ч.З.В. - 5. Инсталляция, использование и поддержка Fink

В5.1: Как можно узнать, какие пакеты поддерживает Fink?

О: Начиная с Fink 0.2.3 существует команда list. Благодаря ей вы получаете список всех пакетов, известных вашей инсталляции Fink. Пример:

fink list

Если вы используете бинарную дистрибуцию, dselect предоставит вам удобный просматриваемый список имеющихся пакетов. Имейте в виду, что вы должны выполнить эту команду в качестве суперпользователя, если хотите выбрать и инсталлировать пакеты в dselect.

Также на веб-сайте есть база данных по пакетам.

В5.2: Я нахожусь за брандмауэром. Как надо конфигурировать Fink для использования прокси HTTP?

О: Команда fink поддерживает явные настройки прокси, которые переданы на wget/curl. Если вам не были заданы вопросы относительно прокси при первоначальной инсталляции, вы можете выполнить fink configure для его настройки. Вы также можете использовать эту команду в любой момент для реконфигурации команды fink. Если следовать указаниям руководства по инсталляции и использовать /opt/sw/bin/init.csh (или /opt/sw/bin/init.sh), то apt-get и dselect также будут использовать эти настройки прокси. Надо убедиться, что вы поместили протокол перед прокси, н-р:

ftp://proxy.yoursite.somewhere

Если проблемы не устраняются, войдите в System Preferences, выберите область Network, затем Proxies tab и убедитесь, что отмечено поле "Use Passive FTP Mode (PASV)".

В5.3: Как можно обновить имеющиеся пакеты при помощи CVS, если я за брандмауэромl?

О: Пакет cvs-proxy может проложить туннель через прокси HTTP.

Если fink не конфигурируется для использования вашего прокси, измените настройки при помощи команды:

fink configure.

В5.4: Можно ли переместить Fink на другое место после инсталляции?

О: Нет. Т.е. конечно вы можете перемещать файлы при помощи mv или Finder, но 99% программ перестанут после этого работать. В основном потому, что все ПО Unix зависит от неизменяемых путей доступа к поиску файлов данных, библиотек и другого.

В5.5: Если переместить Fink после инсталляции и предоставить символический указатель (алиас) прежнего размещения, будет ли результат успешным?

О: Возможно. Вообще это должно сработать, но где-то могут быть скрытые ловушки.

В5.6: Как полностью деинсталлировать Fink?

О: Почти все файлы, инсталлированные Fink, находятся в /opt/sw (или там, где вы решили их инсталлировать). Таким образом, чтобы избавиться от Fink, введите команду:

sudo rm -rf /opt/sw

Единственным исключением из этого правила является XFree86 или X.org. Если вы инсталлировали сервер X через Fink (т.е. инсталлировали пакеты xfree86, xfree86-rootless или xorg вместо использования system-xfree86) и хотите его удалить, вам понадобится дополнительно ввести следующее:

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

Если вы не планируете вновь инсталлировать Fink, вы также захотите удалить при помощи текстового редактора строку "source /opt/sw/bin/init.csh", которую вы добавили к вашему файлу .cshrc или, в зависимости от ваших настроек, строку "source /opt/sw/bin/init.sh", добавленную к вашему файлу .bashrc.

В5.7: База данных по пакетам на веб-сайте указывает в списке пакет xxx, но apt-get и dselect ничего об этом не знают. Что неправильно?

О: И то, и другое правильно. База данных по пакетам знает о каждом пакете, включая пакеты, которые все еще находятся в нестабильном разделе. Инструменты dselect и apt-get, с другой стороны, знают только о пакетах, существующих как предварительно компилированные бинарные пакеты. Многие пакеты не существуют в предварительно компилированной форме через посредство этих инструментов по многим причинам. Пакет должен быть в стабильном разделе последней рассматриваемой версии и должен пройти дополнительные проверки для соответствия политике, а также лицензионным и патентным ограничениям.

Если вы хотите инсталлировать пакет, который недоступен через dselect / apt-get, надо компилировать его на основе исходного кода с использованием fink install packagename . Надо убедиться, что у вас имеются Developer Tools, инсталлированные до того, как вы попытаетесь это сделать. (Если нет инсталлятора для Developer Tools в вашей папке /Applications, вы можете получить их от Apple Developer Connection после бесплатной регистрации). См. также далее вопросы о разделе нестабильных пакетов.

В5.8: Я хочу инсталлировать пакет из категории нестабильных, но fink сообщает, что 'пакет на найден' ('no package found') . Как его можно инсталлировать?

О: First make sure you understand what 'unstable' means. Packages in the unstable tree are not in stable for any number of reasons. It could be because there are known issues, validation errors, or just not enough people giving feedback that the package works for them. For that reason, Fink doesn't search the unstable tree by default.

If you do enable unstable, please remember to e-mail the maintainer if something works (or even if it doesn't). Feedback from users like you is what we use to determine if something is ready for stable! To find out the maintainer of a package, run fink info packagename.

For fink-0.26 and later: If you run fink configure one of the questions will ask whether you want to turn the unstable trees on.

To configure Fink to use unstable when you have an earlier version of the fink tool than 0.26, edit /opt/sw/etc/fink.conf, and add unstable/main and unstable/crypto to the Trees: line.

If you use Fink Commander, then there is a Preference to use unstable packages.

None of these options actually download the unstable tree's package descriptions.You'll need to turn on rsync or cvs updating to do this, which is not set up by default on a new Fink installation. The following command sequence will set you up on a new Fink installation:

fink selfupdate

followed by

fink selfupdate-rsync

or

fink selfupdate-cvs

and then

fink index -f
fink scanpackages

Note: There are Fink Commander analogs for everything except fink index -f. You will have to use the command line for that.

If you're already set up with rsync or cvs updating, then the following command sequence (or the Fink Commander analogs) will suffice:

fink selfupdate
fink index
fink scanpackages
	

If you're not sure what your update method is, check fink --version in at a command line and see if that mentions cvs or rsync.

If you don't want to install any more from unstable than your specific package(s) and its (their) dependencies, (and any base packages that got updated) don't use the update-all command until you turn the unstable tree back off.

В5.9: Do I really need to enable all of unstable just to install one unstable package that I want?

О: No, but it is highly recommended you do. Mixing and matching can cause unforeseen issues that make it difficult to debug problems when they do arise.

That said, if you only want one or two specific packages, and nothing else from unstable, then you need to switch over to CVS updating (i.e. use fink selfupdate-cvs), because rsync only updates the trees that are active in your fink.conf. Edit /opt/sw/etc/fink.conf and add local/main to the Trees: line, if not present. Then you'll need to run fink selfupdate to download the package description files. Now copy the relevant .info files (and their associated .patch files, if there are any) from /opt/sw/fink/dists/unstable/main/finkinfo (or /opt/sw/fink/dists/unstable/crypto/finkinfo) to /opt/sw/fink/dists/local/main/finkinfo. However, note that your package may depend on other packages (or particular versions) which are also only in unstable. You will have to move their .info and .patch files as well. After you move all of the files, make sure to run fink index, so that Fink's record of available packages is updated. Once you're done you can switch back to rsync (fink selfupdate-rsync) if you want.

В5.10: Мне надоело каждый раз печатать свой пароль в sudo. Можно ли с этим что-то сделать?

О: Если вы не страдаете паранойей, вы можете конфигурировать sudo так, чтобы не было запроса о пароле. Для этого надо запустить visudo в качестве суперпользователя и добавить такую строку:

username ALL =(ALL) NOPASSWD: ALL

Конечно, надо заменить username вашим действительным именем пользователя. Данная строка позволяет запускать любую команду через sudo без внесения пароля.

В5.11: Когда я пытаюсь выполнить init.csh или init.sh, получаю сообщение "Нет разрешения" ("Permission denied"). Что я делаю неправильно?

О: init.csh и init.sh не предназначены для выполнения как нормальные команды. Эти файлы устанавливают такие переменные величины среды, как PATH и MANPATH, в вашей оболочке. Для длительного эффекта в оболочке должна быть произведена обработка при помощи команды source для csh/tcsh или команды . для bash/zsh, н-р таким образом:

для csh/tcsh:

source /opt/sw/bin/init.csh

для bash/zsh:

. /opt/sw/bin/init.sh

В5.12: Помогите! Я использовал ввод меню "[A]ccess" в dselect и больше не могу скачивать пакеты!

О: Возможно, вы отметили apt в зеркале Debian, которое конечно не имеет файлов Fink. Вы можете решить проблему мануально или через dselect. В ручном режиме в качестве суперпользователя проредактируйте /opt/sw/etc/apt/sources.list в текстовом редакторе. Удалите строки, упоминающие debian.org и замените их следующим:

deb http://us.dl.sourceforge.net/fink/direct_download release main crypto
deb http://us.dl.sourceforge.net/fink/direct_download current main crypto

(Если вы живете в Европе, можете использовать eu.dl.sourceforge.net вместо us.dl.sourceforge.net)

Для исправления через dselect выполните снова "[A]ccess", выберите метод "apt" и внесите следующую информацию:

URL: http://us.dl.sourceforge.net/fink/direct_download - Distribution: release - Components: main crypto

Затем внесите уточнение, что хотите добавить другой исходный код, и повторите процесс с "current" вместо "release".

Исправленная версия пакета apt (со скриптом конфигурации в виде плагина для dselect) теперь работает через CVS.

В5.13: При попытке выполнения fink selfupdate или "fink selfupdate-cvs" получаю сообщение об ошибке Updating using CVS failed. Check the error messages above."

О: Если сообщение следующее:

Can't exec "cvs": No such file or directory at 
/opt/sw/lib/perl5/Fink/Services.pm line 216, <STDIN> line 3.
### execution of cvs failed, exit code -1

то вам надо инсталлировать инструменты разработчика - Developer Tools.

Но если последняя строка следующая:

### execution of su failed, exit code 1

то надо сделать обратный просмотр для уточнения ошибки. Если вы увидите сообщение, что вам отказано в соединении:

(Logging in to anonymous@fink.cvs.sourceforge.net)
CVS password:
cvs [login aborted]: connect to fink.cvs.sourceforge.net:2401 failed: 
Connection refused
### execution of su failed, exit code 1
Failed: Logging into the CVS server for anonymous read-only access failed.

или сообщение типа следующего:

cvs [update aborted]: recv() from server fink.cvs.sourceforge.net: 
Connection reset by peer 
### execution of su failed, exit code 1 
Failed: Updating using CVS failed. Check the error messages above.

или

cvs [update aborted]: End of file received from server

или

cvs [update aborted]: received broken pipe signal

то возможно, что серверы cvs перегружены и вам надо попытаться сделать обновление позже.

Другое объяснение: у вас нет соответствующих разрешений в ваших каталогах CVS, в этом случае вы получите сообщения "Permission denied":

cvs update: in directory 10.2/stable/main: 
cvs update: cannot open CVS/Entries for reading: No such file or directory
cvs server: Updating 10.2/stable/main 
cvs update: cannot write 10.2/stable/main/.cvsignore: Permission denied
cvs [update aborted]: cannot make directory 10.2/stable/main/finkinfo: 
No such file or directory 
### execution of su failed, exit code 1 Failed: 
Updating using CVS failed. Check the error messages above.

В данном случае вам надо перенастроить свои каталоги cvs. Используйте команду

sudo find /opt/sw/fink -type d -name 'CVS' -exec rm -rf {}\
; fink selfupdate-cvs

Если вы не увидите вышеуказанных сообщений, это почти всегда означает, что вы модифицировали файл на вашем дереве /opt/sw/fink/dists и теперь координатор изменил его. Просмотрите ввод selfupdate-cvs в строках, начинающихся с "C", так-то:

C 10.2/unstable/main/finkinfo/libs/db31-3.1.17-6.info 
... (other info and patch files) ... 
### execution of su failed, exit code 1 
Failed: Updating using CVS failed. Check the error messages above.

"C" означает, что у CVS был конфликт при попытке обновления последней версии. Исправление заключается в удалении всех файлов, начинающихся с "C" при вводе selfupdate-cvs; затем надо попробовать снова:

sudo rm /opt/sw/fink/10.2/unstable/main/finkinfo/libs/db31-3.1.17-6.info
fink selfupdate-cvs

If you get errors that mention cvs.sourceforge.net:

cvs [update aborted]: connect to cvs.sourceforge.net(66.35.250.207):
2401 failed: Operation timed out

this is because of a restructuring of the CVS servers at sourceforge.net in 2006. Fink files are now at fink.cvs.sourceforge.net.

Check your Distribution version, e.g. via

fink --version

If that shows 10.4-transitional, then you need to update to the regular 10.4 distribution. An update script has been created to assist with that.

В5.14: При использовании Fink мой компьютер зависает/глючит/вырубается. Помогите!

О: Последние сообщения в списке рассылки fink-users mailing list отразили проблемы (в т.ч. панику ядра и бесконечные зависания) при использовании Fink для компилирования пакетов, когда инсталлировано антивирусное ПО. Возможно, вам надо будет отключить любое антивирусное ПО прежде, чем использовать Fink.

В5.15: Пытаюсь инсталлировать пакет, но Fink не может его скачать. Сайт скачивания отражает номер более поздней версии пакета, чем показывает Fink. Что делать?

О: Исходные коды пакетов перемещаются апстрим-сайтами при выпуске новых версий.

Первое, что надо сделать - выполнить fink selfupdate. Возможно, координатор пакета уже это исправил, и вы получите обновленное описание пакета либо с более свежей версией, либо с измененным URL для скачивания.

Если это не поможет, большинство исходных кодов можно найти на http://distfiles.master.finkmirrors.net/ (спасибо Rob Braun) и вы можете запустить fink configure с выбором поиска зеркал исходного кода "Master", чтобы Fink автоматически произвел там поиск.

Если это не сработает, сообщите координатору пакета (при помощи "fink describe packagename "), что URL не работает, т.к. не все координаторы регулярно читают списки рассылки.

Для получения работающего исходного кода надо во-первых попытаться "поохотиться" в районе удаленного сайта в других каталогах в поисках той же версии исходного кода, которую хочет Fink (н-р в "старом" каталоге). Но имейте в виду, что некоторые удаленные сайты любят выбрасывать старые версии своих пакетов. Если на официальном сайте его нет, попытайте счастья в web - иногда можно найти неофициальные сайты, где есть необходимый вам тарбол. Еще одно место, где можно поискать - http://us.dl.sourceforge.net/fink/direct_download/source/, где Fink хранит файлы исходного кода из пакетов, выпущенных в бинарной форме. Если все указанное не поможет, можно поместить объявление в fink-users mailing list с запросом о том, не имеет ли кто-нибудь старый исходный код, чтобы вам его предоставить.

Когда найдете соответствующий тарбол исходного кода, скачайте его вручную и затем поместите файл по месту нахождения вашего исходного кода Fink (н-р для Fink по умолчанию надо инсталлировать "sudo mv package-source.tar.gz /opt/sw/src/". Затем укажите 'fink install packagename ' как normal.

Если не получилось достать файл исходного кода, надо подождать, пока координатор решит проблему. Он может либо сделать связку со старым исходным кодом, либо обновить файлы .info и .patch для использования более свежей версии.

В5.16: Получаю сообщения об ошибке "command not found", когда запускаю Fink или то, что инсталлировано при помощи Fink.

О: If this always happens, then you may have inadvertently modified (or failed to modify) your startup scripts. Run the /opt/sw/bin/pathsetup.sh script in a terminal window. This program will attempt to detect your default shell and add a command to load Fink's shell initialization script into your shell's configuration. You'll then need to open a new terminal session so that your environment settings are loaded. Note: Some older versions fink called this script pathsetup.command instead of pathsetup.sh. Alternately, you can run the pathsetup.app application on the Fink binary distribution disk image.

On the other hand, if you only have problems in the Apple X11 terminal, the easy solution is to modify the "Terminal" entry in the X11 Application menu via the Applications->Customize Menu... option. Instead of just

xterm

change the command field to read

xterm -ls

ls here means login shell, and the result is that your full login setup gets used (just like the OS X Terminal).

These /opt/sw/bin/init.* scripts do much more than just add /opt/sw/bin to your PATH. Many packages will not work correctly without these additional actions.

В5.17: Хочу спрятать /opt/sw в Finder, чтобы пользователи не повредили настройки Fink.

О: Это возможно. Если у вас инсталлированы Developer Tools, выполните следующую команду:

sudo /Developer/Tools/SetFile -a V /opt/sw

Это сделает /opt/sw невидимым, как стандартные системные папки (/usr и т.п.). Если у вас нет Developer Tools, есть разные приложения третьих лиц, которые позволяют управлять атрибутами и делать /opt/sw невидимым.

В5.18: Не могу ничего инсталлировать из-за следующей ошибки: "install-info: unrecognized option `--infodir=/opt/sw/share/info'"

О: Обычно это происходит из-за проблемы в вашем PATH. Напечатайте в окне терминала:

printenv PATH

Если/opt/sw/sbin не появится совсем, надо настроить свою среду согласно - инструкциям в Руководстве пользователя. Если /opt/sw/sbin есть, но впереди находятся другие каталоги (н-р /usr/local/bin), то вам надо либо реорганизовать свой PATH так, чтобы /opt/sw/sbin находился близко к началу, либо, если вам очень надо расположить другой каталог перед /opt/sw/sbin и такой каталог включает другой каталог install-info, то надо временно переименовать этот подкаталог install-info при использовании Fink.

В5.19: Ничего не могу инсталлировать или удалить из-за проблемы с файлом списка файлов ("files list file").

О: Обычно такие ошибки имеют следующую форму:

files list file for package packagename contains empty filename

или

files list file for package packagename is missing final newline

Это исправляется без труда. Если у вас в системе имеется файл .deb для пакета, содержащего ошибку, проверьте его целостность при помощи

dpkg --contents full-path-to-debfile
                

например:

dpkg --contents /opt/sw/fink/debs/libgnomeui2-dev_2.0.6-2_darwin-powerpc.deb

Если вы снова получили список каталогов и файлов, значит, ваш .deb в порядке. Если выводится что-то другое, а не каталоги и файлы, или у вас нет файла .deb file, все равно вы можете продолжать, т.к. ошибка не помешает вам в компоновке.

Если вы делаете инсталляцию на основе бинарной дистрибуции или точно знаете, что версия в бинарной дистрибуции такая же, как инсталлированная версия (н-р проверив package database), можно получить файл .deb, применив sudo apt-get install --reinstall --download-only packagename . В противном случае вы можете построить ее с помощью fink rebuild packagename , но она все еще не инсталлируется.

Когда у вас будет действующий .deb, вы можете восстановить файл. Сначала надо стать суперпользователем при помощи sudo -s (при необходимости введите свой административный пароль пользователя) и затем использовать следующую команду:

dpkg -c full-path-to-debfile | awk '{if ($6 == "./"){ print "/."; } \
else if (substr($6, length($6), 1) == "/")\
{print substr($6, 2, length($6) - 2); } \
else { print substr($6, 2, length($6) - 1);}}'\ 
> /opt/sw/var/lib/dpkg/info/packagename.list

например:

dpkg -c /opt/sw/fink/debs/libgnomeui2-dev_2.0.6-2_darwin-powerpc.deb | awk \
'{if ($6 == "./") { print "/."; } \
else if (substr($6, length($6), 1) == "/") \
{print substr($6, 2, length($6) - 2); } \
else { print substr($6, 2, length($6) - 1);}}' \ 
> /opt/sw/var/lib/dpkg/info/libgnomeui2-dev.list

Это поможет извлечь содержимое файла .deb, удалить все, кроме названий файлов, и внести их в файл .list.

В5.20: Я получил кучу мусора, когда выбирал пакеты в dselect. Как теперь можно его использовать?

О: Есть проблематичные вопросы между dselect и Terminal.app. Решением может быть ввод следующей команды:

для пользователей tcsh:

setenv TERM xterm-color

для пользователей bash:

export TERM=xterm-color

перед выполнением dselect. Вы также можете сделать это в вашем файле инициализации (н-р .cshrc | .profile), чтобы всегда иметь возможность использовать.

В5.21: Не получается обновить версию Fink.

О: Если fink selfupdate и sudo apt-get update ; sudo apt-get dist-upgrade не делают обновление до новой версии Fink, вам возможно надо будет скачать более позднюю версию пакета fink вручную. Соответствующие команды:

  • 10.3.x: (дистрибуция 0.7.1)
    curl -O http://us.dl.sf.net/fink/direct_download/dists/fink-0.7.1-updates/main/binary-darwin-powerpc/base/fink_0.22.4-1_darwin-powerpc.deb
    sudo dpkg -i fink_0.22.4-1_darwin-powerpc.deb
    rm fink_0.22.4-1_darwin-powerpc.deb
    fink selfupdate
  • 10.2.x: (дистрибуция 0.6.3)
    curl -O http://us.dl.sf.net/fink/direct_download/dists/fink-0.6.3/release/main/binary-darwin-powerpc/base/fink_0.18.3-1_darwin-powerpc.deb
    sudo dpkg -i fink_0.18.3-1_darwin-powerpc.deb
    rm fink_0.18.3-1_darwin-powerpc.deb
    fink selfupdate

В5.22: Можно ли разместить Fink в томе или каталоге с пробелом в его имени?

О: Мы не рекомендуем размещать ваше дерево каталогов Fink в каталог с пробелами в его имени. Не стоит этого делать.

В5.23: При попытке бинарного обновления появляется много сообщений со словами "File not found"

О: Если вы видите что-то вроде следующего:

Err file: local/main Packages 
File not found 
Ign file: local/main Release 
Err file: stable/main Packages 
File not found 
Ign file: stable/main Release 
Err file: stable/crypto Packages 
File not found 
Ign file: stable/crypto Release 
...
Failed to fetch file:/opt/sw/fink/dists/local/main/binary-darwin-powerpc/Packages
File not found 
Failed to fetch file:/opt/sw/fink/dists/stable/main/binary-darwin-powerpc/Packages
File not found
Failed to fetch file:/opt/sw/fink/dists/stable/crypto/binary-darwin-powerpc/Packages
File not found 
Reading Package Lists... Done 
Building Dependency Tree...Done 
E: Some index files failed to download, 
they have been ignored, or old ones used instead. 
update available list script returned error exit status 1.

то вам надо запустить fink scanpackages. Это поможет найти файлы.

If you get an error of the following form:

W: Couldn't stat source package list file: unstable/main Packages
(/opt/sw/var/lib/apt/lists/_sw_fink_dists_unstable_main_binary-darwin-
powerpc_Packages) - stat (2 No such file or directory)

then you should run

sudo apt-get update
fink scanpackages

to fix it.

В5.24: Я изменил OS, но Fink не признает изменение.

О: При изменении дистрибуции Fink (подмножествами которой являются исходные и бинарные distros), Fink нуждается в получении информации о том, что произошло. Для этого вы можете выполнить скрипт, который обычно запускается при первоначальной инсталляции Fink:

/opt/sw/lib/fink/postinstall.pl

Выполнив это, вы укажете Fink правильное место.

В5.25: After installing a macOS update, Fink no longer recognizes my installed Command Line Tools.

О: Updates to macOS routinely break parts of Apple's Command Line Tools. If you get this error after updating your copy of macOS:

Can't resolve dependency "xcode (>= 6.2)"

Fink has lost track of Apple's Command Line Tools.

The easiest solution is to download and reinstall the Command Line Tools specific to your macOS version from https://developer.apple.com/.

Another possible solution is to run the following command:

xcode-select --install

but this often reports the following:

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

However, the Tools might be in a non-functional state such that Fink still can't recognize them. In that case, a clean reinstall as described above has always worked to fix their detection with Fink.

Finally, you may need to run the command:

sudo xcodebuild -license

to agree to the software license.

В5.26: Получаю сообщения об ошибках с приложениями gzip | dpkg-debI из пакета fileutils ! Помогите!

О: Ошибки типа:

gzip -dc /opt/sw/src/dpkg-1.10.9.tar.gz | /opt/sw/bin/tar -xf - 
### execution of gzip failed, exit code 139

или

gzip -dc /opt/sw/src/aquaterm-0.3.0a.tar.gz | /opt/sw/bin/tar -xf -
gzip: stdout: Broken pipe 
### execution of gzip failed, exit code 138

или

dpkg-deb -b root-base-files-1.9.0-1 /opt/sw/fink/dists/unstable/main/binary-darwin-powerpc/base

### execution of dpkg-deb failed, exit code 1
Failed: can't create package base-files_1.9.0-1_darwin-powerpc.deb

или ошибки сегментации при использовании утилитов из fileutils, н-р ls или mv, вероятно обусловлены предварительно связывающей ошибкой в библиотеке и могут быть устранены следующим образом:

sudo /opt/sw/var/lib/fink/prebound/update-package-prebinding.pl -f

В5.27: Когда я открываю окно Terminal, получаю сообщение "Your environment seems to be correctly set up for Fink already.", и сеанс завершается.

О: Дело в том, что каким-то образом программе OSX Terminal поступило указание выполнять команду /opt/sw/bin/pathsetup.command каждый раз, когда вы начинаете сеанс. Это можно исправить, удалив файл Preferences: ~/Library/Preferences/com.apple.Terminal.plist.

Если у вас есть другие преференции, которые вы хотите оставить, можно отредактировать файл при помощи текстового редактора и убрать ссылку на /opt/sw/bin/pathsetup.command.

В5.28: Мой Fink инсталлирован отдельно от главного сегмента и я не могу обновить пакет fink на основе исходного кода. Появляются сообщения об ошибках с упоминанием chowname.

О: Если сообщение об ошибке выглядит так:

This first test is designed to die, so please ignore the error
message on the next line.
# Looks like your test died before it could output anything.
./00compile............................ok
./Base/initialize......................ok
./Base/param...........................ok
./Base/param_boolean...................ok
./Command/cat..........................ok
./Command/chowname.....................#     
Failed test (./Command/chowname.t at line 27)
#          got: 'root'
#     expected: 'nobody'

то надо использовать Get Info на носителе/сегменте, где Fink инсталлирован, и отменить выбор "Ignore ownership".

В5.29: Fink не хочет обновлять мои пакеты, т.к. утверждает, что не может найти зеркало 'gnu'.

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

Failed: No mirror site list file found for mirror 'gnu'.

то наиболее вероятно вам надо обновить пакет fink-mirrors , н-р через:

fink install fink-mirrors

В5.30: Не могу обновить Fink, т.к. он не может убрать /opt/sw/fink..

О: Эта ошибка:

Failed: Can't move "/opt/sw/fink" out of the way.

обычно обусловлена, хотя и утверждает иное, ошибками разрешений в одном из временных каталогов, создаваемых в процессе автообновления - selfupdate. Удалите

sudo rm -rf /opt/sw/fink.tmp /opt/sw/fink.old

В5.31: I get a message that says "No fonts found".

О: If you see the following (so far only seen on OS 10.4):

No fonts found; this probably means that the fontconfig
library is not correctly configured. You may need to
edit the fonts.conf configuration file. More information
about fontconfig can be found in the fontconfig(3) manual
page and on http://fontconfig.org.

then you can fix it by running

sudo fc-cache

В5.32: I can't install Fink via the Installer package, because I get "volume doesn't support symlinks" errors.

О: This message commonly means that you've tried to run the Fink installer as user who doesn't have administrative privileges. Make sure to log in at the login screen as such a user or switch to such a user in the Finder (i.e. fast user switching) before starting the Fink installer.

If you're having trouble even when using an admin account, then it's likely a problem with the permissions on your top-level directory. Use Apple's Disk Utility (from the Utilities sub-folder in your Applications folder), select the hard drive in question, choose the First Aid tab, and press Repair Disk Permissions. If that doesn't work, then you may need to set your permissions manually via:

sudo chmod 1775 /	  
	

В5.33: I can't update Fink, because package architecture (darwin-i386) does not match system (darwin-powerpc).

О: This error occurs if you use a PowerPC installer package on an Intel machine. You'll need to flush your Fink installation, e.g.:

sudo rm -rf /opt/sw

and then download the disk image for Intel machines from the downloads page.

Следующий: 6. Проблемы компиляции - Общие вопросы