Ч.З.В. - 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. Проблемы использования пакетов - Общие вопросы