Perguntas frequentes - 5. Instalação, uso e manutenção do Fink
P.5.1: Como posso saber quais os pacotes que o Fink suporta?
R.: O comando list
lista todos os pacotes conhecidos pela
sua instalação do Fink:
fink list
Se você está usando uma distribuição de binários, o
dselect
apresenta uma listagem navegável de todos os
pacotes disponíveis. Note que você precisa executar o dselect como root
para selecionar e instalar pacotes.
Você também pode consultar oe banco de dados de pacotes disponível no site.
P.5.2: Estou atrás de um firewall. Como configuro o Fink para usar um proxy HTTP?
R.: O comando fink
suporta configurações explícitas de
proxy que são repassadas para o wget
ou o
curl
. Caso você não tenha configurado os proxies na
instalação inicial, você pode executar o comando fink
configure
para configurá-los. Você também pode executar esse
comando a qualquer momento para reconfigurar o comando
fink
. Se você seguiu as instruções do guia de instalação e
usa os arquivos /opt/sw/bin/init.sh
ou
/opt/sw/bin/init.csh
, então tanto o
apt-get
quanto o dselect
usam essas
configurações de proxy. Tenha certeza de colocar o protocolo na frente
do proxy, como por exemplo
ftp://proxy.seusite.com
Caso você ainda esteja tendo problemas, vá às Preferências de Sistema, escolha o painel Rede, selecione a aba Proxies e tenha certeza de marcar a caixa "Use Modo Passivo do FTP (PASV)".
P.5.3: Como faço para atualizar os pacotes disponíveis via CVS se eu estiver atrás de um firewall?
R.: O pacote cvs-proxy pode ser usado para criar um túnel através de proxies HTTP.
-
Instale o pacote cvs-proxy através do comando:
fink --use-binary-dist install cvs-proxy
-
Mude para o método de atualização via CVS através do comando:
fink selfupdate-cvs
Caso o fink não tenha sido configurado para usar seu proxy, mude as configurações através do comando:
fink configure
.
P.5.4: Posso mover o Fink para outro diretório após a instalação?
R.: Não. É claro que você pode mover os arquivos usando o mv ou o Finder mas 99% dos programas não irão mais funcionar caso o faça. Isto é devido ao fato de software Unix depende de diretórios fixos para encontrar arquivos de dados, bibliotecas e outros.
P.5.5: Se eu mover o Fink após instalá-lo e criar um link simbólico do diretório antigo, isso vai funcionar?
R.: Talvez. De forma geral deveria funcionar, mas pode ser que haja alguns problemas.
P.5.6: Como faço para desinstalar o Fink completamente?
R.: Quase todos os arquivos instalados pelo Fink estão no diretório /opt/sw (ou onde quer que você tenha escolhido instalá-lo). Portanto, para remover o Fink, digite o comando abaixo:
sudo rm -rf /opt/sw
A única exceção é o XFree86 ou o X.org. Caso você tenha instalado um
servidor X através do Fink (isto é, se você instalou os pacotes
xfree86
ou xorg
no lugar do pacote
system-xfree86
, você também precisará digitar o comando
abaixo:
sudo rm -rf /usr/X11R6 /etc/X11 /Applications/XDarwin.app
Se você não estiver planejando reinstalar o Fink você também
precisará remover a linha source /opt/sw/bin/init.sh
que foi
adicionada ao seu arquivo .bashrc
(ou a linha
source /opt/sw/bin/init.csh
no arquivo
.cshrc
) usando um editor de textos.
P.5.7: O banco de dados de pacote no site lista o pacote xxx mas nem o apt-get nem o dselect sabem desse pacote. Quem está mentindo?
R.: Ambos estão corretos. O banco de dados de pacotes
conhece todos os pacotes incluindo os que ainda estão na seção de
pacotes instáveis. Por outro lado, as ferramentas dselect
e apt-get
conhecem apenas os pacotes que estão disponíveis
sob a forma de pacotes de binários. Muitos pacotes não estão
disponíveis através destas ferramentas sob a forma de pré-compilados
por várias razões. Um pacote precisa estar na seção de estáveis da
última versão pontual a ser considerada e precisa passar por
verificações adicionais de aderência às políticas e restrições de
licenciamento e patentes.
Caso você queira instalar um pacote que não esteja disponível via
dselect
ou apt-get
, você precisa compilá-lo a
partir do código fonte usando o comando fink install
nomedopacote
. Tenha certeza de que você haja instalado
o Xcode antes: ele está disponível no DVD de instalação do Mac OS X ou
no site Apple Developer
Connection (você precisará se registrar no site; o registro é
gratuito). Veja também a pergunta abaixo.
P.5.8: Há um pacote na árvore unstable e eu gostaria de instalá-lo mas o comando fink diz 'no package found' (nenhum pacote encontrado). Como posso instalá-lo?
R.: Em primeiro lugar, tenha certeza de que você compreende o que significa unstable. Pacotes na árvore unstable não estão na árvore stable por várias razões. Pode ser porque ainda haja problemas, erros de validação, ou então não houve respostas suficientes de pessoas afirmando que o pacote funciona bem. Por esta razão, o Fink por padrão não considera a árvore unstable.
Caso você habilite a árvore unstable, lembre-se de enviar um e-mail
ao mantenedor do pacote caso funcione ou não. Feedback de usuários como
você é algo que usamos para determinar se um pacote está pronto para a
árvore stable! Para descobrir o mantenedor de um pacote, execute o
comando fink info nomedopacote
.
Para o fink-0.26
e posteriores: se você executar
fink configure
uma das perguntas será sobre você querer
ativar as árvores unstable.
Para configurar o Fink para que unstable quando você tiver uma
versão da ferramenta fink
anterior à 0.26, edite
o arquivo /opt/sw/etc/fink.conf
e adicione
unstable/main
e unstable/crypto
à linha
Trees:
.
Caso você use o Fink Commander, então há uma Preferência para usar pacotes instáveis.
Nenhuma destas opções de fato baixa as descrições de pacotes da
árvore unstable. Você precisará ativar atualização via
rsync
ou cvs
para fazê-lo, sendo estas opções
de atualização não são ativadas por padrão em uma instalação nova do
Fink. A seguinte sequência de comandos fará a configuração em uma
instalação nova do Fink:
fink selfupdate
seguido por
fink selfupdate-rsync
ou
fink selfupdate-cvs
e então
fink index -f fink scanpackages
Observação: Existem opções análogas no Fink Commander com
exceção de fink index -f
. Você terá que usar a linha de
comando para tal.
Se você já estiver configurado com atualização via
rsync
ou cvs
, então a seguinte sequência de
comandos (ou as opções análogas no Fink Commander) são suficientes:
fink selfupdate fink index fink scanpackages
Se você não tiver certeza de qual método de atualização você está
usando, execute o comando fink --version
em uma linha de
comando e veja se ele menciona cvs
ou
rsync
.
Se você não mais quiser instalar da árvore unstable nada além de
um(ns) pacote(s) específico(s) e sua(s) dependência(s), (e quaisquer
pacotes base que foram atualizados) então não use o comando
update-all
até que você desative a árvore unstable.
P.5.9: Eu preciso realmente habilitar toda a árvore unstable só para instalar um pacote instável que eu queira?
R.: Não, mas é altamente recomendável que você o faça. Misturar as coisas pode acarretar situações não previstas que tornam difícil depurar problemas quando eles surgirem.
De qualquer forma, se você quiser apenas um ou dois pacotes
específicos e nada mais da árvore unstable, você precisa mudar para
atualização via CVS (isto é, use fink selfupdate-cvs
)
porque o rsync só atualiza as árvores que estiverem ativas no seu
arquivo /opt/sw/etc/fink.conf
. Edite esse arquivo e
adicione local/main
à linha Trees:
caso ainda
não esteja lá. Você deverá executar o comando fink
selfupdate
para baixar os arquivos de descrição de pacotes.
Copie os arquivos .info
relevantes (e os arquivos
.patch
associados caso haja) do diretório
/opt/sw/fink/dists/unstable/main/finkinfo
(ou
/opt/sw/fink/dists/unstable/crypto/finkinfo
) para o
diretório /opt/sw/fink/dists/local/main/finkinfo
.
Entretanto, observe que seu pacote pode depender de outros pacotes (ou
versões particulares) dos que estejam apenas em unstable. Você também
precisará mover seus arquivos .info
e .patch
.
Depois de mover todos os arquivos, execute o comando fink
index
para que o registro de pacotes disponíveis do Fink seja
atualizado. Depois de terminar, você pode voltar ao rsync (fink
selfupdate-rsync
) se quiser.
P.5.10: Estou cansado de ficar digitando a minha senha no sudo o tempo todo. Há alguma forma de contornar isso?
R.: Se você não for paranóico, você pode configurar o sudo para não lhe
pedir uma senha. Para fazer isso, execute o comando visudo
como root e adicione uma linha como esta:
usuario ALL =(ALL) NOPASSWD: ALL
Troque usuario
pelo seu nome de usuário. Esta linha
permitirá que você qualquer comando via sudo sem precisar digitar sua
senha.
P.5.11: Quando tento rodar o init.sh ou o init.csh, recebo a mensagem de erro "Permission denied" ("Permissão negada"). O que estou fazendo de errado?
R.: O init.sh e o init.csh não foram projetados para serem executados
como comandos quaisquer. Estes arquivos definem variáveis de ambiente
no shell, tais como PATH e MANPATH. Para que tenham efeito permanente
no shell, eles precisam ser processados com o comando .
para bash/zsh ou source
para csh/tcsh, desta forma:
para bash/zsh:
. /opt/sw/bin/init.sh
para csh/tcsh:
source /opt/sw/bin/init.csh
P.5.12: Preciso de ajuda! Eu usei a opção "[A]cesso" do menu do select e agora não consigo mais baixar pacotes!
R.: Você provavelmente direcionou o apt para um espelho do Debian, o
qual obviamente não possui arquivos do Fink. Você pode corrigir isso
manualmente ou através do select. Para corrigir manualmente, edite como
root o arquivo /opt/sw/etc/apt/sources.list
em um editor de
textos. Remova as linhas que mencionem debian.org e troque-as por
estas:
deb http://bindist.finkmirrors.net/bindist release main crypto deb http://bindist.finkmirrors.net/bindist current main crypto
Para corrigir através do select, rode "[A]cesso" novamente, escolha o método "apt" e digite o seguinte:
URL: http://bindist.finkmirrors.net/bindist - Distribution: release - Components: main crypto
Em seguida, adicione outro espelho repetindo o processo com "current" no lugar de "release".
P.5.13: Quando eu tento rodar fink selfupdate
ou fink
selfupdate-cvs
, eu recebo a mensagem de erro "Updating
using CVS failed. Check the error messages above.
" ("A
atualização via CVS falhou. Verifique as mensagens de erro
acima.
")
R.: Se a mensagem for
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
então você precisa instalar o Xcode.
Por outro lado, se a última linha for
### execution of su failed, exit code 1
você vai precisar olhar as linhas anteriores para ver o erro. Se você vir uma mensagem dizendo que sua conexão foi recusada:
(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.
ou uma mensagem similar a:
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.
ou
cvs [update aborted]: End of file received from server
ou
cvs [update aborted]: received broken pipe signal
então é provável que os servidores CVS estejam sobrecarregados e você tenha que tentar a atualização mais tarde.
Outra possibilidade é que você tenha permissões erradas nos diretórios CVS, sendo que neste caso você receberá mensagens de erro de permissão negada "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.
Neste caso você precisa reiniciar seus diretórios cvs. Use o comando:
sudo find /opt/sw/fink -type d -name 'CVS' -exec rm -rf {}\ ; fink selfupdate-cvs
Caso você não haja recebido nenhuma das mensagens acima, então isto quase sempre significa que você modificou um arquivo na sua árvore /opt/sw/fink/dists e agora o mantenedor o mudou. Procure ainda antes na saída do selfupdate-cvs por linhas que comecem com "C", como:
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.
O "C" significa que o CVS encontrou um conflito enquanto tentava atualizar para a versão mais recente. Para corrigir este problema, remova quaisquer arquivos que apareçam começando com "C" na saída do selfupdate-cvs, e tente novamente:
sudo rm /opt/sw/fink/10.2/unstable/main/finkinfo/libs/db31-3.1.17-6.info fink selfupdate-cvs
Se estiver recebendo erros que mencionem cvs.sourceforge.net:
cvs [update aborted]: connect to cvs.sourceforge.net(66.35.250.207): 2401 failed: Operation timed out
é por causa de uma reestruturação dos servidores CVS em sourceforge.net que ocorreu em 2006. Os arquivos do Fink estão agora em fink.cvs.sourceforge.net.
Verifique a versão da distribuição, por exemplo através do comando
fink --version
Se o resultado mostrar 10.4-transitional
, então você
precisa atualizar para a distribuição 10.4 normal. Um script
de atualização foi criado para ajudar nesta mudança.
P.5.14: Quando uso o Fink, minha máquina trava/dá erro de kernel panic.
R.: Em 2002, houve relatos na lista de discussão fink-users indicando problemas (incluindo kernel panics e travamentos durante a fase de patching) durante o uso do Fink para compilar pacotes na presença de software antivírus. Talvez você precise desligar o software antivírus antes de usar o Fink.
P.5.15: Estou tentando instalar um pacote mas o Fink não consegue baixá-lo. O site de download mostra uma versão do pacote que é mais recente do que a versão que o Fink possui. O que devo fazer?
R.: Os códigos fontes do pacote podem mudar de local nos sites originais quando novas versões são lançadas.
A primeira coisa que você deve fazer é executar o comando fink
selfupdate
. Pode ser que o mantenedor do pacote já haja
corrigido isso e você conseguirá obter uma descrição atualizada do
pacote com ou uma versão mais recente ou uma nova URL de download.
Se isto não funcionar, a maior parte dos códigos fontes está
disponível em http://distfiles.master.finkmirrors.net/
(graças a Rob Braun) e você pode executar o comando fink
configure
e escolher procurar os espelhos mestres de códigos
fontes a fim de que o Fink automaticamente os use para procurar
pacotes.
Caso isto não funcione, por favor notifique o mantenedor (disponível
através do comando fink describe nomedopacote
de
que a URL está quebrada; nem todos os mantenedores leem frequentemente
todas as listas de discussão.
Para conseguir um código fonte que você possa usar, procure por outros diretórios no site remoto que contenham a mesma versão de que o Fink necessita (por exemplo, em um diretório "old"). Entretanto, tenha em mente que alguns sites remotos costumam apagar versões antigas. Se o site oficial não tiver a versão de que você precisa, tente fazer uma busca na Web--em alguns casos há sites não-oficiais que tenham a tarball que você quer. Se mesmo assim você não conseguir encontrar, envie uma mensagem à lista de discussão fink-users e pergunte se alguém não teria o código fonte disponível para enviar-lhe.
Uma vez que você tenha localizado a tarball com o código fonte
apropriado, baixe-a manualmente e então mova o arquivo para o local
onde o Fink armazena os códigos fontes (isto é, em uma instalação
default do Fink, "sudo mv package-source.tar.gz
/opt/sw/src/
". Use então o comando 'fink install
packagename
normalmente.
Se você não conseguir o código fonte, então você terá que esperar até que o mantenedor corrija o problema. Pode ser que ele coloque um link para o código fonte antigo ou atualize os arquivos .info e .patch para que usem a versão mais nova.
P.5.16: Quando eu executo o Fink ou qualquer coisa que tenha instalado
através do Fink, recebo o erro command not found
(comando não encontrado
).
R.: Se isto acontece sempre, então talvez você tenha modificado (ou
modificado incorretamente) seus scripts de inicialização sem querer.
Execute o script /opt/sw/bin/pathsetup.sh
em uma
janela de terminal. Este programa tentará detectar seu shell padrão e
adicionar um comando para carregar o script de inicialização do Fink na
sua configuração do shell. Você precisará abrir uma nova sessão do
terminal para que suas configurações de ambiente sejam carregadas. Você
também pode rodar o aplicativo pathsetup.app
que
vem no disco com a distribuição binária do Fink.
Por outro lado, se você tiver problemas somente no terminal do X11 da Apple, a solução mais fácil é modificar a opção "Terminal" no menu Application do X11 através da opção Applications->Customize Menu... . No lugar de apenas
xterm
mude o campo com o comando para
xterm -ls
ls
significa shell de login
e o
resultado é que sua configuração completa de login é usada (da mesma
forma que o Terminal do OS X).
Esses scripts /opt/sw/bin/init.*
fazem muito mais
do que somente adicionar /opt/sw/bin
à variável PATH.
Muitos pacotes não funcionarão corretamente sem essas ações
adicionais.
P.5.17: Eu quero esconder o diretório /opt/sw no Finder para que os usuários não danifiquem a configuração do Fink.
R.: É possível fazê-lo. Caso você tenha o Xcode instalado, você pode executar o seguinte comando:
sudo /Developer/Tools/SetFile -a V /opt/sw
Isto faz com que o diretório /opt/sw fique invisível, da mesma forma que os diretórios de sistema (/usr etc). Se você não tiver o Xcode, existem vários aplicativos de terceiros que permitem que você manipule atributos de arquivos--você precisa definir que /opt/sw fique invisível.
P.5.18: Não consigo instalar nada porque recebo a seguinte mensagem de erro: "install-info: unrecognized option `--infodir=/opt/sw/share/info'"
R.: Esse é um problema no seu PATH. Em uma janela de terminal, digite:
printenv PATH
Caso /opt/sw/sbin
não apareça, então você precisa
configurar seu ambiente conforme estas instruções
no Guia do usuário. Se /opt/sw/sbin
estiver lá mas
houver outros diretórios antes (por exemplo,
/usr/local/bin
), então você tem duas opções:
reordenar seu PATH para que /opt/sw/sbin
esteja
próximo do começo ou, caso realmente queira que o outro diretório
esteja antes de /opt/sw/sbin
e o diretório anterior
inclua algum outro diretório install-info, então você precisará
renomear temporariamente esse subdiretório
install-info
quando for usar o Fink.
P.5.19: Não consigo instalar ou remover nada por causa de um problema com um "files list file" ("arquivo com lista de arquivos").
R.: Normalmente esses erros são do formato:
files list file for package packagename contains empty filename arquivo com a lista de arquivos para o pacote nomedopacote contém um nome de arquivo em branco
ou
files list file for package packagename is missing final newline arquivo com a lista de arquivos para o pacote nomedopacote está com o indicador de fim de linha final faltando
Isto pode ser corrigido com um pouco de trabalho. Se você tem disponível no seu sistema o arquivo .deb do pacote com problemas, então verifique a integridade dele através do comando
dpkg --contents caminho-completo-do-arquivo-deb
Por exemplo,
dpkg --contents /opt/sw/fink/debs/libgnomeui2-dev_2.0.6-2_darwin-powerpc.deb
Caso você veja uma listagem com diretórios e arquivos, então seu .deb está ok. Se saída for algo diferente de diretórios e arquivos ou se você não tiver o arquivo .deb, você ainda pode proceder porque o erro não interefere com as compilações.
Se você andou instalando a partir da distribuição de binários ou se
você sabe com certeza que a versão na distribuição de binárias é a
mesma que você instalou (por exemplo, verificando o banco de dados de
pacotes, então você pode obter um arquivo .deb através da
execução do comando sudo apt-get install --reinstall
--download-only nomedopacote
. Caso contrário você mesmo
pode construir um através do comando fink rebuild
nomedopacote
, mas isso ainda não o instalará.
A partir do momento em que você tiver um arquivo .deb válido, você
pode reconstituir o arquivo. Em primeiro lugar, torne-se root através
do comando sudo -s
(digite sua senha de usuário
administrativo caso necessário) e então use o seguinte comando:
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/nomedopacote.list
Por exemplo,.
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
Isto extrai o conteúdo do arquivo .deb, remove tudo a menos de nomes de arquivos e escreve o resultado no arquivo .list
P.5.20: Quando eu escolho pacotes no dselect
aparece um
monte de lixo. Como faço para usá-lo?
R.: Há alguns problemas entre o dselect
e o
Terminal.app
. Uma solução é digitar o seguinte
comando:
usuários bash:
export TERM=xterm-color
usuários tcsh:
setenv TERM xterm-color
antes de executar o dselect
Talvez você queira
colocar essa linha no seu arquivo de inicialização (por exemplo,
.profile
ou .cshrc
) para que seja executada
sempre.
P.5.21: Não consigo atualizar a versão do Fink.
R.: Se você não consegue atualizar para uma nova versão do Fink através
do comando fink selfupdate
ou sudo apt-get update;
sudo apt-get dist-upgrade
, então talvez você precise baixar
manualmente uma nova versão do pacote fink
. Os comandos
são:
- 10.3.x: (distribuição 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: (distribuição 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
P.5.22: Posso colocar o Fink em um volume ou um diretório cujo nome tenha um espaço em branco?
R.: Recomendamos que não coloque sua árvore de diretórios do Fink dentro de um diretório com espaço em branco nome. O trabalho não vale a pena.
P.5.23: Quando tento fazer uma atualização de binários, surgem várias mensagens com "File not found" ("Arquivo não encontrado") ou "Couldn't stat package source list file." ("Não foi possível acessar o arquivo com a lista de códigos fontes do pacote.").
R.: Caso você veja algo parecido com o seguinte:
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.
então tudo o que você precisa fazer é executar o comando fink
scanpackages
, que gera os arquivos que não estão sendo
encontrados.
Se você obtiver um erro com o seguinte formato:
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)
então você deve executar
sudo apt-get update fink scanpackages
para corrigi-lo.
P.5.24: Eu mudei meu OS mas o Fink não reconhece a mudança.
R.: Ao trocar a distribuição do Fink (da qual as distribuições de códigos fontes e binários são subconjuntos), o Fink precisa ser notificado de que isso aconteceu. Para fazê-lo, você pode executar um script que normalmente é executado na instalação inicial do Fink:
/opt/sw/lib/fink/postinstall.pl
Isto corrigirá o Fink.
P.5.25: After installing a macOS update, Fink no longer recognizes my installed Command Line Tools.
R.: 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.
P.5.26: Estou recebendo erros com os aplicativos gzip
|
dpkg-deb
do pacote fileutils
.
R.: Erros no formato:
gzip -dc /opt/sw/src/dpkg-1.10.9.tar.gz | /opt/sw/bin/tar -xf - ### execution of gzip failed, exit code 139
ou
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
ou
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
ou falhas de segmentação na execução de utilitários do
fileutils
, como por exemplo ls
ou
mv
, são provavelmente devidos a um erro de pré-ligação em
uma biblioteca e podem ser corrigidos através da execução do seguinte
comando:
sudo /opt/sw/var/lib/fink/prebound/update-package-prebinding.pl -f
P.5.27: Quando abro uma janela do Terminal, recebo a mensagem "Your environment seems to be correctly set up for Fink already." ("Seu ambiente aparenta já estar corretamente configurado para o Fink") e em seguida a sessão é encerrada.
R.: O que aconteceu é que de alguma forma o programa Terminal do OS X
foi instruído a executar /opt/sw/bin/pathsetup.command
a cada
vez que você se logar. Você pode corrigir isto removendo o arquivo de
preferências
~/Library/Preferences/com.apple.Terminal.plist
.
If you have other preferences that you want to keep, you can edit
the file with a text editor and remove the reference to
/opt/sw/bin/pathsetup.command
.
P.5.28: Eu instalei o Fink em um volume que não o do sistema e agora não
consigo atualizar o pacote Fink a partir do código fonte. Aparecem
alguns erros envolvendo chowname
.
R.: Caso o seu erro se pareça com:
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'
então você precisa executar o Obter Informações no volume onde o Fink está instalado e desmarcar o botão "Ignorar posse".
P.5.29: O Fink não consegue atualizar meus pacotes porque não pode encontrar o espelho 'gnu'.
R.: If you get an error that ends with
Se você receber uma mensagem de erro que termine com
Failed: No mirror site list file found for mirror 'gnu'.
então você provavelmente precisa atualizar o pacote
fink-mirrors
, por exemplo através do comando:
then most likely you need to update the fink-mirrors
package, e.g. via:
fink install fink-mirrors
P.5.30: Não consigo atualizar o Fink porque ele não consegue mover o
diretório /opt/sw/fink
.
R.: O erro:
Failed: Can't move "/opt/sw/fink" out of the way.
é, apesar do que a mensagem diz, geralmente devido a erros de
permissão em um dos diretórios temporários criados durante um
selfupdate
. Remova os diretórios:
sudo rm -rf /opt/sw/fink.tmp /opt/sw/fink.old
P.5.31: Recebo uma mensagem dizendo No fonts found
.
R.: Caso veja a seguinte mensagem (até agora só detectada no 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.
então você pode corrigir o problema executando o comando
sudo fc-cache
P.5.32: Não consigo instalar o Fink através do pacote de instalação porque
recebo mensage de erro volume doesn't support
symlinks
.
R.: Esta mensagem normalmente significa que você tentou exeuctar o instalador do Fink como um usuário que não possui privilégios administrativos. Assegure-se de fazer o login (na tela de login) como um usuário com tais privilégios ou troque para um usuários com tais privilégios no Finder (isto é, troca rápida de usuários) antes de iniciar o instalador do Fink.
Caso você tenha problemas mesmo usando uma conta administrativa, então é provavelmente um problema com as permissões no seu diretório raiz. Use o Utilitário de Disco da Apple (diretório Aplicativos, subdiretório Utilitários), escolha o disco em questão, escolha a aba Reparador e clique o botão Reparar Permissões do Disco. Se isto não funcionar, então você talvez tenha que definir manualmente suas permissões através do comando
sudo chmod 1775 /
P.5.33: Não consigo atualizar o Fink por causa do erro package
architecture (darwin-i386) does not match system
(darwin-powerpc).
R.: Este erro ocorre quando você usa um instalador PowerPC em uma máquina Intel. Você precisa apagar sua instalação do Fink, por exemplo:
sudo rm -rf /opt/sw
e então baixar a imagem de disco para máquinas Intel a partir da página de downloads.
Próximo: 6. Problemas de Compilação - Geral