Fink

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