Available Languages: | Deutsch | English | Español | Français | 日本語 (Nihongo) | Português | Русский (Russkiy) | 中文 (简) (Simplified Chinese) |

Perguntas frequentes sobre o Fink

Esta é a lista das perguntas frequentes sobre o Fink. Como na maior parte das listas de perguntas frqeuentes, algumas perguntas foram tiradas da vida e real e outras foram inventadas. Na verdade é mais uma documentação escrita de forma ad-hoc em um estilo pergunta+resposta.

Este documento contém várias páginas, uma para cada seção. O sumário abaixo enumera todas as perguntas, cada qual com um link para a página da seção contendo a pergunta e a resposta correspondente.

Contents

1 Perguntas gerais

Q1.1: O que é o Fink?

A: O Fink deseja trazer mais software Unix para o Mac OS X, o que resulta dois objetivos principais:

O objetivo número um é portar software para o Mac OS X. Isto significa que nós pegamos software Unix de código aberto e fazemos os ajustes necessários para que ele possa ser compilado e executado no Mac OS X. Algumas vezes isto é fácil mas pode também ser bastante difícil ou até mesmo impossível para alguns pacotes. Estamos tentando prover ferramentas e documentação para tornar este processo mais fácil.

O objetivo número dois é tornar os resultados disponíveis para os usuários convencionais. Para isto, nós montamos uma distribuição usando ferramentas de gerenciamento de pacotes portadas do Linux, o dpkg e o apt-get, escritas por e para o projeto Debian GNU/Linux. A distribuição de binários usa o formato de pacote .deb. Para compilar pacotes a partir do código fonte, temos nossa própria ferramenta, chamada fink, que cria arquivos de pacote .deb.

Q1.2: O que significa o nome Fink?

A: Nada, é apenas um nome. Não é nem mesmo uma sigla.

Na verdade, Fink é o nome do pintassilgo em alemão (na verdade, uma família de pássaros à qual o pintassilgo pertence, os fringilídeos). Eu estava procurando por um nome para o projeto e o nome do sistema operacional, Darwin, levou-me a pensar sobre Charles Darwin, as Ilhas Galápagos e evolução. Lembrei-me de uma passagem da época da escola sobre os fringilídeos encontrados por Darwin nas Ilhas Galápagos e seus bicos característicos e, bem, foi isso...

Q1.3: Qual a diferença entre o Fink e o mecanismo de ports do BSD (incluindo OpenPackages e GNU-Darwin)?

A: Algumas vantagens principais:

Q1.4: Por que o Fink não instala no /usr/local?

A: Há várias razões, mas de forma geral é "porque algo vai dar errado".

Primeira razão: softwares de terceiros. O diretório /usr/local é um lugar bem padronizado para se colocar software que não seja parte do sistema que foi distribuído pelo fabricante. Isto significa que é um bom lugar para se instalar programas. Entretanto, isto também significa que outras pessoas irão colocar suas coisas nesse diretório. A maior parte das rotinas de instalação simplesmente sobrescreve o que estiver lá - isto também se aplica ao dpkg. Pode-se, claro, escolher não instalar softwares de terceiros no /usr/local. Infelizmente, a maior parte dos programas de instalação não avisa de antemão que irão instalar nesse diretório.

Segunda razão: /usr/local/bin está no PATH padrão. Isto significa que seu shell irá encontrar os programas instalados sem que sejam necessárias medidas adicionais. Mas isto também significa que você precisa tomar medidas adicionais caso não queira usar os programas. Em casos extremos, isto também pode afetar o sistema em si - muitas partes dependem de scripts de shell.

Terceira razão: os programas de compilação leem o diretório /usr/local por padrão: o compilador procura arquivos de cabeçalho em /usr/local/include e o linkeditor procura bibliotecas em /usr/local/lib. Uma vez mais, às vezes isto é conveniente, porém é dificíl desabilitar este comportamento caso necessário. É muito fácil desabilitar um comportador caso um arquio stdio.h contendo lixo seja colocado em /usr/local/include.

De qualquer forma, é possível instalar o Fink em /usr/local. O script de instalação irá avisá-lo explicitamente mas você pode prosseguir sabendo que você está fazendo isso por sua própria conta e risco.

Q1.5: Por que vocês escolheram /opt/sw?

A: Essa escolha é arbitrária e deverá continuar desta forma por motivos práticos (atualização) e também pelo fato de que é uma escolha segura no tocante ao conflito com outros sistemas de empacotamento.

2 Relacionamentos com outros projetos

Q2.1: Vocês repassam suas correções e ajustes para os mantenedores oficiais?

A: Estamos tentando. Às vezes repassar correções e ajustes é fácil e todos ficam felizes assim que seja liberada a nova versão do pacote. Infelizmente, isto não é fácil na maioria dos pacotes. Alguns problemas comuns:

Q2.2: Qual o seu relacionamento com o projeto Debian? Vocês estão portando o Debian Linux para rodar no Mac OS X?

A: Não há relacionamento formal entre o Fink e o Debian O Fink não é um port da distribuição Debian GNU/Linux. O que nós fizemos foi portar as ferramentas de gerenciamento de pacotes do Debian (dpkg, dselect, apt-get), usando-as juntamente com o formato de pacote binário .deb. Os pacotes em si são feitos sob medida para Mac OS X/Darwin e nós não usamos o formato de pacote de fontes do Debian.

Q2.3: Qual o seu relacionamento com a Apple

A: A Apple tem ciência do Fink e nos deu algum suporte como parte dos seus esforços de relacionamento com a comunidade de código aberto. No verão e no outono de 2001, eles nos forneceram pré-versões novas do Mac OS X na esperança de que os pacotes do Fink pudessem ser adaptados em tempo para a liberação da versão. Citação: "Esperamos que isto reforce nosso comprometimento que várias pessoas suspeitam que não queiramos oferecer. Com o tempo, nós melhoraremos nossa estratégia em relação a código aberto." Obrigado, Apple!

Q2.4: Qual o seu relacionamento com o Darwinports?

A: Darwinports e Fink são projetos complementares. Existe certa interseção entre os dois projetos e várias pessoais contribuem com ambos. Por exemplo, Benjamin Reed está trabalhando nos pacotes KDE dos dois projetos. O Darwinports e o Fink estão livres para usar as correções e ajustes uns dos outros, e nós já discutimos como colaborar em um novo mecanismo de dependências.

O Darwinports começou do zero com o objetivo de tentar um enfoque diferente para o sistema de empacotamento. Leia a declaração no site do Darwinports para mais detalhes.

3 Espelhos do Fink

Q3.1: O que são os espelhos do Fink?

A: Os espelhos do Fink são servidores rsync que espelham os arquivos de descrição (atuais e estáveis) que o Fink usa para montar os pacotes a partir de código fonte.

Q3.2: Por que eu deveria usar espelhos rsync?

A: Rsync é um protocolo bastante rápido. Ele atualiza os arquivos de descrição mais rapidamente do que o antigo método de atualização via CVS. Além disso, as atualizações via CVS são sempre feitas a partir do sourceforge.net enquanto que as atualizações pelo rsync podem ser feitas a partir de um espelho mais próximo a você.

Q3.3: Onde posso encontrar mais informações sobre espelhos do Fink?

A: Todos os espelhos do Fink estão consolidados sob o domínio finkmirrors.net. O site http://finkmirrors.net possui mais informações.

Q3.4: Não consigo conectar-me a um servidor rsync, o que devo fazer?

A: Às vezes alguns firewalls bastante restritivos impedem que você se conecte a serviços rsync. Se este for o caso você pode usar o método CVS.

Q3.5: Eu mudei para o método rsync e agora todos os arquivos das árvores que não eram usadas foram eliminados

A: Isto é normal. O método de atualização via rsync só atualiza sua árvore ativa, por exemplo a 10.4, e também elimina todos os subdiretórios CVS.

Q3.6: Como posso alternar entre os métodos?

A: Use os comandos fink selfupdate-rsync ou fink selfupdate-cvs.

Q3.7: O que é um espelho de distfiles (arquivos de distribuição)?

A: Às vezes é difícil obter da Internet certas versões de códigos fontes. Espelhos de distfiles mantêm e espelham pacotes de código fonte que são necessários para que o fink construa seus pacotes de código fonte.

4 Atualizando o Fink (resolução de problemas específicos a uma versão)

Q4.1: O Fink não enxerga pacotes novos mesmo depois de eu rodar uma autoatualização via rsync ou CVS.

A: Este é um problema que está acontecendo com pessoas na versão OS 10.5 usando o instalador binário. Verifique sua versão:

fink --version

Se você tiver o fink-0.27.13-41, que é a versão que vem com o instalador, ou fink-0.27.16-41, então há algumas opções.

Ambos o atualizarão para a versão mais nova do fink.

Q4.2: Quando eu tento instalar um pacote eu recebo a mensagem de erro 'Can't resolve dependency "fink (>= 0.28.0)"' (Não é possível resolver a dependência "fink (>= 0.28.0)"

A: Aplique a correção sugerida na pergunta anterior.

Q4.3: Fink tells me to run 'sudo apt-get install libgettext3-dev=0.14.5-2' to clear up inconsistent dependencies but I'm still stuck.

A: There is a timestamp issue with the libgettext3 package description: 0.14.5-2 is an outdated version. Run

fink index -f
fink update libgettext3-dev	
	

to update the package description cache and then the package.

Q4.4: Fink tells me 'Can't resolve dependency "dpkg (>= 1.10.21-1229)" for package "dpkg-base-files-0.3-1"'. How do I solve this?

A: There is a timestamp issue with the updated dpkg package description. Run

fink index -f
fink selfupdate
	

to update the package description cache and then to install dpkg and dpkg-base-files.

5 Instalação, uso e manutenção do Fink

Q5.1: Como posso saber quais os pacotes que o Fink suporta?

A: 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.

Q5.2: Estou atrás de um firewall. Como configuro o Fink para usar um proxy HTTP?

A: 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)".

Q5.3: Como faço para atualizar os pacotes disponíveis via CVS se eu estiver atrás de um firewall?

A: O pacote cvs-proxy pode ser usado para criar um túnel através de proxies HTTP.

Caso o fink não tenha sido configurado para usar seu proxy, mude as configurações através do comando:

fink configure.

Q5.4: Posso mover o Fink para outro diretório após a instalação?

A: 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.

Q5.5: Se eu mover o Fink após instalá-lo e criar um link simbólico do diretório antigo, isso vai funcionar?

A: Talvez. De forma geral deveria funcionar, mas pode ser que haja alguns problemas.

Q5.6: Como faço para desinstalar o Fink completamente?

A: 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.

Q5.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?

A: 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.

Q5.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?

A: 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.

Q5.9: Eu preciso realmente habilitar toda a árvore unstable só para instalar um pacote instável que eu queira?

A: 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.

Q5.10: Estou cansado de ficar digitando a minha senha no sudo o tempo todo. Há alguma forma de contornar isso?

A: 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.

Q5.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?

A: 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

Q5.12: Preciso de ajuda! Eu usei a opção "[A]cesso" do menu do select e agora não consigo mais baixar pacotes!

A: 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".

Q5.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.")

A: 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.

Q5.14: Quando uso o Fink, minha máquina trava/dá erro de kernel panic.

A: 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.

Q5.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?

A: 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.

Q5.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).

A: 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.

Q5.17: Eu quero esconder o diretório /opt/sw no Finder para que os usuários não danifiquem a configuração do Fink.

A: É 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.

Q5.18: Não consigo instalar nada porque recebo a seguinte mensagem de erro: "install-info: unrecognized option `--infodir=/opt/sw/share/info'"

A: 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.

Q5.19: Não consigo instalar ou remover nada por causa de um problema com um "files list file" ("arquivo com lista de arquivos").

A: 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

Q5.20: Quando eu escolho pacotes no dselect aparece um monte de lixo. Como faço para usá-lo?

A: 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.

Q5.21: Não consigo atualizar a versão do Fink.

A: 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:

Q5.22: Posso colocar o Fink em um volume ou um diretório cujo nome tenha um espaço em branco?

A: 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.

Q5.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.").

A: 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.

Q5.24: Eu mudei meu OS mas o Fink não reconhece a mudança.

A: 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.

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

A: 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.

Q5.26: Estou recebendo erros com os aplicativos gzip | dpkg-deb do pacote fileutils.

A: 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

Q5.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.

A: 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.

Q5.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.

A: 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".

Q5.29: O Fink não consegue atualizar meus pacotes porque não pode encontrar o espelho 'gnu'.

A: 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

Q5.30: Não consigo atualizar o Fink porque ele não consegue mover o diretório /opt/sw/fink.

A: 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

Q5.31: Recebo uma mensagem dizendo No fonts found.

A: 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

Q5.32: Não consigo instalar o Fink através do pacote de instalação porque recebo mensage de erro volume doesn't support symlinks.

A: 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 /

Q5.33: Não consigo atualizar o Fink por causa do erro package architecture (darwin-i386) does not match system (darwin-powerpc).

A: 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.

6 Problemas de Compilação - Geral

Q6.1: Um script de configuração reclama que não consegue encontrar um "acceptable cc". O que é isso?

A: Leia a documentação! Para compilar pacotes a partir do código fonte, você precisa instalar o Xcode que, dentre outros, contém o compilador C, cc.

Q6.2: Quando tento executar o comando fink selfupdate-cvs eu recebo esta mensagem: "cvs: Command not found." ("cvs: Comando não encontrado").

A: Você precisa instalar o Xcode.

Q6.3: Estou recebendo uma mensagem de erro envolvendo o make.

A: Caso sua mensagem seja do formato

make: command not found
(make: comando não encontrado)

ou

Can't exec "make": 
No such file or directory at /opt/sw/lib/perl5/Fink/Services.pm line 190.

Isso significa que você precisa instalar o Xcode.

Por outro lado, se sua mensagem de erro se parece com

make: illegal option -- C
(make: opção ilegal -- C)

então você substituiu a versão GNU do utilitário make que veio com o Xcode por uma versão BSD do make. Vários pacotes dependem de características especiais que são suportadas apenas pelo GNU make. Assegure-se de que /usr/bin/make é um link simbólico para gnumake e não bsdmake. Além disso, assegure-se de que /usr/local/bin não contenha outra cópia do make.

Q6.4: Estou recebendo do comando head uma mensagem estranha. O que está errado?

A: Caso esteja vendo isto:

Unknown option: 1 Usage: head [-options] <url>...
(Opção desconhecida: 1 Uso: head [-opções] <url>...

seguido por uma lista de descrições de opções, você tem um executável do head quebrado. Isto acontece quando você instala a biblioteca libwww do Perl em um volume de sistema formatado com HFS+. Ele tenta criar um novo comando /usr/bin/HEAD que sobrescreve o comando head já existente porque o sistema de arquivos não diferencia maiúsculas de minúsculas. head é um comando padrão usado em muitos scripts de shell e Makefiles. Você precisa restaurar o executável original do head caso queira usar o Fink.

O script de instalação inicial do Fink a partir do código fonte verifica isso mas ainda assim é possível caso você use a instalação binária na primeira instalação ou instale libwww depois de haver instalado o Fink.

Este problema também já foi relatado devido à instalação de /opt/sw/bin/HEAD (mas não por um pacote do Fink). Isto é fácil de resolver: renomeie /opt/sw/bin/HEAD.

Q6.5: Quando tento instalar um pacote, recebo uma mensagem de erro sobre tentativa de sobrescrita de um arquivo que está em outro pacote.

A: Isto acontece ocasionalmente com pacotes múltiplos (isto é, pacotes que são divididos em -dev, -shlibs etc) quando um arquivo é movido de um pacote para outro (por exemplo, de foo para foo-shlibs). O que você pode fazer é sobrescrever o arquivo com aquele do pacote que você esteja tentando instalar (já que eles são nominalmente o mesmo arquivo):

sudo dpkg -i --force-overwrite nomedoarquivo

onde nomedoarquivo é o arquivo .deb correspondente ao pacote que você esteja tentando instalar.

Q6.6: O que significa "execution of mv failed, exit code 1" quando eu tento compilar um pacote?

A: Se você tiver o StuffIt Pro instalado, pode ser que voce tenha o modo "Archive via Real Name" ("Arquivar pelo Nome Real") habilitado. Verifique o painel StuffIt na ferramenta Preferências do Sistema e desabilite "ArchiveViaRealName" se estiver habilitado. Ele contém uma reimplementação falha de algumas chamadas de sistema importante que causam erros estranhos e transientes, como esse.

Caso contrário, um erro no mv geralmente significa que outro erro anterior ocorreu durante a compilação mas a compilação não foi interrompiada. Para rastrear os arquivos que causaram o erro, procure na saída pela compilação de um arquivo que não exista. Por exemplo, se você tiver algo parecido com:

mv /opt/sw/src/root-foo-0.1.2-3/opt/sw/lib/libbar*.dylib \
/opt/sw/src/root-foo-shlibs-0.1.2-3/opt/sw/lib/ 
mv: cannot stat `/opt/sw/src/root-foo-0.1.2-3/opt/sw/lib/libbar*.dylib': 
No such file or directory 
### execution of mv failed, exit code 1 
Failed: installing foo-0.1.2-3 failed

então você deve procurar por libbar em algum lugar mais acima da lista de mensagens que aparecem durante a tentativa de compilação.

Q6.7: Não consito instalar ou atualizar um pacote porque aparece uma mensagem dizendo que um nó já existe ("node already exists").

A: Estes erros se parecem com o seguinte:

Failed: Internal error: node for system-xfree86 already exists

O problema é que o mecanismo de dependências está confuso devido a mudanças em alguns dos arquivos de descrição de pacotes. Para corrigi-lo:

Q6.8: Ouvi dizer que bibliotecas e arquivos de cabeçalho instalados sob /usr/local causam problemas eventuais de compilação no Fink. É verdade?

A: Este é uma fonte de problemas frequente porque o script de configuração dos pacotes encontra arquivos de cabeçalho e bibliotecas em /usr/local e decide usá-los no lugar daqueles que residem no diretório do Fink. Se você estiver tendo problemas de compilação que não são cobertos por outra pergunta deste documento, você deve verificar se você tem bibliotecas em /usr/local/lib ou arquivos de cabeçalho em /usr/local/include. Em caso afirmativo, tente renomear /usr/local para algum outro nome, por exemplo

sudo mv /usr/local /usr/local.moved

proceda sua compilação e então volte ao nome original de /usr/local:

sudo mv /usr/local.moved /usr/local

Starting with macOS 10.14, it's sometimes not possible to rename /usr/local. If you get an error when renaming /usr/local directly, then rename the subdirectories inside it instead:

        sudo mv /usr/local/include /usr/local/include.moved
        sudo mv /usr/local/lib /usr/local/lib.moved
        

do your build, and then you can put /usr/local/include and /usr/local/lib back:

        sudo mv /usr/local/include.moved /usr/local/include
        sudo mv /usr/local/lib.moved /usr/local/lib
        

Q6.9: Quando tento compilar um pacote, recebo uma mensagem dizendo que um sumário ("table of contents") está desatualizado ("out of date"). O que preciso fazer?

A: A saída dá uma dica de o que fazer. A mensagem é geralmente parecida com:

ld: table of contents for archive: 
/opt/sw/lib/libintl.a is out of date; 
rerun ranlib(1) (can't load from it)

O que você precisa fazer é executar o comando ranlib como root em qualquer biblioteca que esteja causando o problema. Por exemplo, para o caso acima, você executaria:

sudo ranlib /opt/sw/lib/libintl.a

Q6.10: O Fink Commander trava quando tento instalar o pacote atlas.

A: Isto acontece porque um dos passos durante a compilação do pacote atlas faz uma pergunta ao usuário que o Fink Commander não detecta. Você terá que executar o comando fink install atlas no lugar de instalá-lo pelo Fink Commander.

Q6.11: Eu recebo mensagens dizendo que os arquivos stddef.h | wchar.h | stdlib.h | crt1.o estão faltando ou que meu compilador C não consegue criar executáveis (C compiler cannot create executables).

A: Ambos estes problemas são geralmente devidos à ausência de arquivos de cabeçalho essenciais que são providos pelo pacote DevSDK do Xcode. Verifique se /Library/Receipts/DevSDK.pkg existe no seu sistema. Em caso negativo, execute novamente o instalador do Xcode e instale o pacote DevSDK através do Custom Install (instalação customizada).

O erro cannot create executables também pode ocorrer quando sua versão do Xcode é para uma versão anterior do OS.

Q6.12: Não consigo fazer uma atualização porque o Fink não consegue resolver conflito de versão ou dependências múltiplas ("unable to resolve version conflict on multiple dependencies").

A: Para contornar este problema, tente atualizar um único pacote e então tente usar novamente o fink update-all. Se você ainda receber a mensagem, repita o processo.

Q6.13: Não consigo instalar nada porque recebo a mensagem "dpkg: parse error, in file `/opt/sw/var/lib/dpkg/status'"!

A: This means that somehow your dpkg database got damaged, usually from a crash or some other unrecoverable error. This most often occurs with a buildlock, e.g:

package `fink-buildlock-foo-1.2.3-4':  missing version

(of course, replace foo-1.2.3-4 with the package name you are seeing).

When this happens, you should edit /opt/sw/var/lib/dpkg/status as a superuser. Then go near the line number which shows up in the error message. You should see a fink-buildlock-foo-1.2.3-4 package whose Status field is marked

install ok installed

Change that to

purge ok not-installed

Under other circumstances, there may be garbage in the file. You can fix this situation by copying the previous version of the database, like so:

sudo cp /opt/sw/var/lib/dpkg/status-old /opt/sw/var/lib/dpkg/status

You may need to re-install the last couple of packages you installed before the problem started occurring.

Q6.14: Estou recebendo erros envolvendo o freetype.

A: Existem muitas variedades desses erros. Se você receber o seguinte:

/usr/bin/ld: can't locate file for: -lfreetype

verifique se você tem um executável freetype-config perdido através do comando

type -a freetype-config

caso esteja usando bash ou

where freetype-config

caso esteja usando tcsh. Sabe-se que o framework Mono instala um /usr/bin/freetype-config que é um link simbólico para o arquivo que está nesse framework.

Caso seu erro se pareça com o seguinte:

/opt/sw/include/pango-1.0/pango/pangoft2.h:52: 
error: parse error before '*' token 
/opt/sw/include/pango-1.0/pango/pangoft2.h:57:
error: parse error before '*' token
/opt/sw/include/pango-1.0/pango/pangoft2.h:61: 
error: parse error before '*' token 
/opt/sw/include/pango-1.0/pango/pangoft2.h:86: 
error: parse error before "pango_ft2_font_get_face"
/opt/sw/include/pango-1.0/pango/pangoft2.h:86: 
warning: data definition has no type or storage class 
make[2]: *** [rsvg-gz.lo] Error 1
make[1]: *** [all-recursive] Error 1 
make: *** [all-recursive-am] Error 2 
### execution of make failed, exit code 2 
Failed: compiling librsvg2-2.4.0-3 failed

ou

In file included from vteft2.c:32: 
vteglyph.h:64: error:
parse error before "FT_Library" 
vteglyph.h:64: warning: 
no semicolon at end of struct or union vteft2.c: 
In function `_vte_ft2_get_text_width': 
vteft2.c:236: error: 
dereferencing pointer to incomplete type 
vteft2.c: In function `_vte_ft2_get_text_height':
vteft2.c:244: error: 
dereferencing pointer to incomplete type
vteft2.c: In function `_vte_ft2_get_text_ascent': 
vteft2.c:252: error:
dereferencing pointer to incomplete type 
vteft2.c: In function `_vte_ft2_draw_text': 
vteft2.c:294: error: 
dereferencing pointer to incomplete type 
vteft2.c:295: error: 
dereferencing pointer to incomplete type
make[2]: *** [vteft2.lo] Error 1 
make[1]: *** [all-recursive] Error 1 
make: *** [all] Error 2 
### execution of make failed, exit code 2
Failed: compiling vte-0.11.10-3 failed

ou

checking for freetype-config.../usr/X11R6/bin/freetype-config 
checking For sufficiently new FreeType (at least 2.0.1)... no 
configure: error: pangoxft 
Pango backend found but did not find freetype libraries 
make: *** No targets specified and no makefile found. Stop. 
### execution of LD_TWOLEVEL_NAMESPACE=1 failed, exit code 2 
Failed: compiling gtk+2-2.2.4-2 failed

o problema é devido a uma confusão entre arquivos cabeçalhos de pacote freetype | freetype-hinting e os arquivos de cabeçalho do freetype2 que são parte do X11 | XFree86. O comando

fink remove freetype freetype-hinting

removerá qualquer variante que você haja instalado. Por outro lado, se seu erro é parecido com:

ld: Undefined symbols: _FT_Access_Frame

isto é normalmente devido a um arquivo residual de uma instalação prévia do X11. Reinstale o X11 SDK.

Q6.15: Estou recebendo erros de compilação envolvendo "Dl_info".

A: Se você tem um erro parecido com

unix_dl.c: In function `rep_open_dl_library':
unix_dl.c:328: warning: assignment discards qualifiers from pointer target type 
unix_dl.c: In function `rep_find_c_symbol': 
unix_dl.c:466: error: `Dl_info' undeclared (first use in this function)
unix_dl.c:466: error: (Each undeclared identifier is reported only once 
unix_dl.c:466: error: for each function it appears in.)
unix_dl.c:466: error: parse error before "info" 
unix_dl.c:467: error: `info' undeclared (first use in this function) 
make[1]: *** [unix_dl.lo] Error 1

então o mais provável é que você tenha um arquivo de cabeçalho /usr/local/include/dlfcn.h que é incompatível com o Panther. Tire-o do caminho.

Normalmente, ele é instalado pelo OpenOffice e você deve substituir esse arquivo de cabeçalho, bem como a biblioteca /usr/local/lib/libdl.dylib, por links simbólicos aos arquivos providos pelo Panther:

sudo ln -s /usr/include/dlfcn.h /usr/local/include/dlfcn.h
sudo ln -s /usr/lib/libdl.dylib /usr/local/lib/libdl.dylib

Q6.16: O Fink diz que está faltando gcc2 ou gcc3.1 mas não consigo instalá-lo.

A: Isto é porque gcc2 e gcc3.1 são pacotes virtuais que indicam a presença de gcc-2.95 e gcc-3.1, respectivamente, em seu sistema. Instale o pacote gcc2.95 e/ou o gcc.31 do Xcode Tools (versões anteriores do OS possuem gcc-2.95 e gcc-3.1 como parte da instalação principal do Developer Tools).

Observação: instalar o gcc2.95 ou gcc3.1 não interferirá com seu compilador gcc3.3--eles podem coexistir.

Q6.17: O Fink apresenta a mensagem Failed: Can't resolve dependency "system-java14-dev" mas esse pacote não existe.

A: É porque é um pacote virtual. Esse tipo de erro acontece quando o Java é atualizado pelo Atualização de Software: os arquivos de cabeçalho são removidos, o que faz com que o pacote -dev não seja gerado.

Você precisa baixar o pacote Java Developer Tools apropriado do site da Apple. Neste caso específico, o pacote é Java 1.4.2 Developer Tools.

Q6.18: Quando tento instalar qualquer pacote, recebo a mensagem dpkg (subprocess): failed to exec dpkg-split to see if it's part of a multiparter: No such file or directory. Como faço para corrigir isto?

A: Isto geralmente pode ser corrigido através da configuração correta do ambiente conforme esta pergunta.

Q6.19: Estou recebendo a seguinte mensagem: configure: error: XML::Parser perl module is required for intltool. O que preciso fazer?

A: Caso esteja usando a árvore unstable, assegure-se de ter instalado o intltool-0.34.1 ou mais recente.

Caso contrário, você precisa assegurar-se de ter a variante correta do pacote xml-parser-pm que case com a versão do Perl em seu sistema. Por exemplo, se você estiver no Panther você deveria ter xml-parser-pm581 no lugar de xml-parser-pm560 (você também pode ter o substituto xml-parser-pm), já que você tem o Perl-5.8.1 no lugar de Perl-5.6.0 Se estiver no Jaguar e estiver usando a versão padrão do Perl para o sistema, você terá a variante pm560 e se você instalou o Perl 5.8.0 você pode ter a variante pm580.

Q6.20: Estou tentando baixar um pacote mas o Fink vai para um site estranho com distfiles no nome e o arquivo não está lá.

A: O que aconteceu aqui é que o Fink está tentando usar um dos seus espelhos mestres. Eles foram configurados para garantir que códigos fontes dos pacotes do Fink estejam disponíveis mesmo que os sites oficiais os tenham mudado de lugar. Normalmente esses erros ocorrem quando uma nova versão oficial de um pacote é lançada mas ainda não chegou aos espelhos mestres.

Para remediar esta situação, execute o comando fink configure e defina a ordem de pesquisa para que use os espelhos mestres por último.

Q6.21: Quero que o Fink use opções diferentes na compilação de um pacote.

A: A primeira coisa a fazer é entrar em contato com o mantenedor do pacote para solicitar uma variante. Isto pode ser relativamente fácil de ser feito. Caso você não obtenha resposta do mantenedor ou não veja os pacotes novos, ou queira tentar uma opção diferente por você mesmo, leia o Tutorial de empacotamento e o Manual de empacotamento.

Observação: o Fink é deliberadamente configurado para que todos os binários oficiais sejam idênticos independentemente da máquina em que foram compilados, portanto opções como otimização para o G5 não acontecerão com um pacote oficial. Caso as queira, você terá que fazê-las por sua própria conta.

Q6.22: Sempre que tento compilar a partir do código fonte, o Fink fica reclamando sobre versões alternadas da mesma biblioteca.

A: É comum que, em uma árvore de compilação complicada, você descubra que alguns pacotes dependem de uma versão específica de uma biblioteca e outros dependam em uma versão diferente (por exemplo, db47 vs. db44). Consequentemente, o Fink pode tentar trocar para aquela que não estiver instalada atualmente de forma a satisfazer a dependência de compilação do pacote que você deseja atualizar.

Infelizmente, devido a limitações do mecanismo de dependências de compilação, você pode encontrar a famigerada mensagem

Fink::SysState: Could not resolve inconsistent dependencies

ao tentar um update-all suficientemente complicado. Esta situação geralmente lhe fornece um comando para tentar resolver o problema:

fink scanpackages
sudo apt-get update
sudo apt-get install foo=1.23-4

mas isto pode não funcionar para atualizações suficientemente complicadas. Você talvez precise atualizar pacotes um-a-um, ao menos por algum tempo.

Q6.23: Estou recebendo erros com relação a MACOSX_DEPLOYMENT_TARGET quando tento compilar um módulo Python.

A: Para erros parecidos com:

running build
running build_ext
Traceback (most recent call last):
  File "setup_socket_ssl.py", line 21, in ?
    depends = ['socketmodule.h'] )
  File "/opt/sw/src/root-python24-2.4.1-1/opt/sw/lib/python2.4/distutils/core.py", line 166, in setup
SystemExit: error: $MACOSX_DEPLOYMENT_TARGET mismatch: now "10.4" but "10.3" during configure
### execution of /opt/sw/bin/python2.4 failed, exit code 1

o problema ocorre porque os pacotes python2* gravam o MACOSX_DEPLOYMENT_TARGET atual em um arquivo de configuração quando são compilados e os utilitários de compilação do python usam esse valor quando compilam módulos. Isto significa que você tem, por exemplo, um pacote python24 no OS 10.4 que foi compilado no OS 10.3, ocorrendo tanto na atualização 10.3 => 10.4, ou através da distribuição binária 10.4-transitional, na qual o python24 não foi recompilado, havendo portanto uma diferença entre o que o python acha que MACOSX_DEPLOYMENT_TARGET deveria ser (10.3) e o que realmente é (10.4).

A solução é recompilar o pacote python que esteja causando problema, por exemplo fink rebuild python24 para o caso acima.

Para erros em tempo de execução que exibem o mesmo tipo de mensagem de erro acima, recompile o módulo após recompilar o pacote python2* apropriado.

Q6.24: Eu recebo erros unrecognized option `-dynamic' da libtool.

A: O erro

 libtool: unrecognized option `-dynamic'

normalmente significa que você substituiu a /usr/bin/libtool da Apple por uma libtool GNU. Infelizmente, as duas libtools não funcionam da mesma forma.

A única maneira de resolver este problema é obter uma libtool da Apple que funcione. Ela é instalada como parte do pacote DeveloperTools.pkg das ferramentas do Xcode e você pode reinstalar todo o pacote se primeiro limpar seu arquivo de receita em /Library/Receipts (arraste-o para a Lixeira).

7 Problemas de compilação - Pacotes específicos

Q7.1: Um pacote não compila devido a erros em relação ao sed.

A: Isto pode acontecer caso seu script de login (por exemplo, ~/.profile) imprima algo no terminal, por exemplo "echo Hello" ou xttitle. Para livrar-se do problema, a solução fácil é comentar as linhas que imprimam na tela.

Se você quiser manter a impressão na tela, então você pode fazer algo parecido com

if ( $?prompt) then 
	echo Hello 
endif

Q7.2: Eu quero mudar para os pacotes XFree86 do Fink mas não consigo instalar xfree86-base | xfree86 devido a conflito com system-xfree86.

A: Infelizmente, todas as variantes do X11 realmente precisam ser instaladas em /usr/X11R6. Por causa disto, o pacote xfree86-base do Fink também é instalado lá. Entretanto, como o Fink não remove arquivos que não estejam em seu banco de dados, ele não irá substituir automaticamente uma instalação do X11 que não foi feita pelo Fink.

Proceda da seguinte forma:

1. Remova manualmente tudo relacionado ao XFree86. Isto pode ser feito com o comando

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

Se você está mudando do Apple X11, remova também o aplicativo X11.

2. Para obter o XFree86-4.2.1, instale o pacote xfree86-base da forma tradicional: "fink install" caso use códigos fontes, "apt-get install" or dselect para binários.

-ou-

2a. Para obter o XFree86-4.3.x ou mais recentes, instale o pacote xfree86 através do comando fink install xfree86 -- a versão mais recente (XFree86-4.4.x de 25/maio/2004) ainda não está na distribuição de binários e só está disponível na árvore unstable (veja como instalar pacotes instáveis).

Q7.3: Como faço para mudar de uma versão sem threads do pacote XFree86 do Fink para uma versão com threads (ou vice-versa)?

A: Se você está rodando a versão do XFree86 do Fink e quer trocar entre versões do Fink com ou sem threads, você precisa remover manualmente a versão antiga. Isto é feito através dos seguintes comandos:

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

ou para remover as versões com threads:

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

O Fink Commander também possui uma forma de remover pacotes. Na janela de fontes, selecione um pacote e então use a opção "Force Remove" do menu Source Menu.

Caso esteja usando o system-xfree86, veja como removê-lo na pergunta anterior.

Instale a versão do xfree86 que você deseja:

xfree86-base

xfree86-base-threaded

da forma usual: "fink install" para usuários de códigos fontes, "apt-get install" ou "dselect" para binários.

Q7.4: Não consigo atualizar a libiconv.

A: Caso esteja recebendo erros no formato:

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

você pode resolver o problema executando os comandos

fink remove gettext-dev
fink install libiconv

Q7.5: Não consigo instalar um pacote porque está faltando o c++filt. De onde posso obtê-lo?

A: Caso esteja recebendo erros no formato

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

desde que atualizou para o Tiger, então você precisa fazer o seguinte:

Talvez você precise verificar se não há artefatos antigos do Developer/Xcode Tools presentes em seu sistema:

Q7.6: O Fink se recusa a atualizar o pacote gettext, reclamando que as dependências estão em um estado inconsistente.

A: Após executar o comando fink selfupdate para garantir que tenha as últimas versões, execute o comando fink update gettext-tools. Uma versão mais antiga do pacote gettext-tools pode estar impedindo a atualização do gettext.

Q7.7: Não consigo instalar o gtk+2 no OS 10.5.

A: Esse erro está normalmente relacionado a bibliotecas ausentes, tais como /usr/X11/lib/libXrandr.2.0.0.dylib ou /usr/X11/lib/libXdamage.1.1.0.dylib (ou outras versões de bibliotecas em /usr/X11/lib/).

Até onde podemos perceber, a melhor forma de corrigir esse problema é instalar o Xcode 3.1.3 ou mais recentes.

Q7.8: Estou tendo problemas com um pacote que não está listado aqui.

A: Dado que problemas com pacotes tendem a ser transientes, decidimos colocá-los no wiki do Fink. Veja a página de Problemas em pacotes (package issues).

8 Problemas no uso de pacotes - Geral

Q8.1: Estou recebendo várias mensagens como "locale not supported by C library" ("local não suportado por biblioteca C"). Isso é ruim?

A: Não é ruim, apenas significa que o programa usará por padrão as mensagens em inglês, formatos de data etc. O programa funcionará normalmente. O documento Executando o X11 tem mais detalhes.

Q8.2: Surgiram de repente vários usuários estranhos no meu sistema com nomes como "mysql", "pgsql" e "games". De onde eles vieram?

A: Você usou o Fink para instalar um pacote que depende de outro pacote, o passwd. O passwd instala vários usuários extras no seu sistema por razões de segurança -- em sistemas Unix, arquivos e processos pertencem a "proprietários", o que permite que administradores de sistema façam ajustes finos nas permissões e segurança do sistema. Programas como o Apache e o MySQL precisam de um "proprietário" e não é seguro atribuir-lhes o usuário root (imagine o que aconteceria se o Apache fosse comprometido e subitamente tivesse acesso de escrita a todos os arquivos do sistema). Por conseguinte, o pacote passwd faz o trabalho de configurar esses usuários extras para os pacotes do Fink que os necessitam.

Pode ser alarmante descobrir repentinamente vários usuários não esperados no painel "Preferências do Sistema: Contas", mas evite removê-los:

O Fink de fato solicita permissão para instalar esses usuários adicionais em seu sistema durante a instalação do pacote passwd, portanto eles não deveriam ser de todo uma surpresa.

Q8.3: Como faço para compilar algo usando softwares instalados pelo Fink?

A: When compiling something yourself outside of Fink, the compiler and linker need to be told where to find the Fink-installed libraries and headers. It is also necessary to tell the compiler to use the appropriate target architecture. For a package that uses standard configure/make process, you need to set some environment variables:

-bash-

export CFLAGS=-I/opt/sw/include 
export LDFLAGS=-L/opt/sw/lib 
export CXXFLAGS=$CFLAGS 
export CPPFLAGS=$CXXFLAGS 
export ACLOCAL_FLAGS="-I /opt/sw/share/aclocal"
export PKG_CONFIG_PATH="/opt/sw/lib/pkgconfig"
export PATH=/opt/sw/var/lib/fink/path-prefix-clang:$PATH
export MACOSX_DEPLOYMENT_TARGET=10.9

-tcsh-

setenv CFLAGS -I/opt/sw/include 
setenv LDFLAGS -L/opt/sw/lib 
setenv CXXFLAGS $CFLAGS 
setenv CPPFLAGS $CXXFLAGS 
setenv ACLOCAL_FLAGS "-I /opt/sw/share/aclocal"
setenv PKG_CONFIG_PATH "/opt/sw/lib/pkgconfig"
setenv PATH /opt/sw/var/lib/fink/path-prefix-clang:$PATH
setenv MACOSX_DEPLOYMENT_TARGET 10.9

(assuming that the build system is running OS 10.9 or later)

It is often easiest just to add these to your startup files (e.g. .cshrc | .profile) so they are set automatically. If a package does not use these variables, you may need to add the "-I/opt/sw/include" (for headers) and "-L/opt/sw/lib" (for libraries) to the compile lines yourself. Some packages may use similar non-standard variables such as EXTRA_CFLAGS or --with-qt-dir= configure options. "./configure --help" will usually give you a list of the extra configure options.

In addition, you may need to install the development headers (e.g. foo-1.0-1-dev) for the library packages that you are using, if they aren't already installed.

Q8.4: Não consigo rodar nenhuma dos meus aplicativos instalados via Fink quando uso o menu Applications (Aplicativos) do X11 da Apple.

A: O X11 da Apple não considera as configurações de ambiente do Fink, o que significa que o menu Applications (Aplicativos) não possui o PATH configurado corretamente para achar os aplicativos do Fink. A solução é colocar, no começo do nome de um aplicativo instalado pelo Fink, o texto

source /opt/sw/bin/init.sh ;

Por exemplo, caso queira rodar um GIMP instalado pelo Fink, coloque

source /opt/sw/bin/init.sh ; gimp

no campo Command (Comando) da sua opção GIMP.

Você também pode editar seu arquivo .xinitrc (no seu diretório de usuário) e adicionar:

source /opt/sw/bin/init.sh

após a primeira linha.

Q8.5: Estou perplexo com as opções de X11: X11 da Apple, XFree86 etc. Qual devo instalar?

A: Todas são variantes do XFree86 (são baseadas no código do XFree86) mas possuem algumas pequenas diferenças entre elas. Há opções diferentes para o Panther e para o Jaguar.

No Panther você pode escolher dentre:

No Jaguar, as escolhas mais populares e pacotes do Fink associados são:

Também há outras opções. Um tratamento mais extensivo deste tema está disponível no documento Executando o X11.

Q8.6: Quando tento rodar um aplicativo, recebo uma mensagem que diz "cannot open display:" ("não foi possível abrir o display:"). O que preciso fazer?

A: Este erro significa que o sistema não está se conectado ao display do X. Faça o seguinte:

1. Inicie o X (X11 da Apple, XFree86, ...).

2. Assegure-se de que sua variável de ambiente DISPLAY esteja definida corretamente. Se você está usando a configuração padrão do X, você pode fazê-lo com

export DISPLAY=:0

caso esteja usando o bash ou

setenv DISPLAY :0

caso esteja usando otcsh.

Q8.7: Não estou vendo meu programa favorito no Fink. Como faço para sugerir que um novo pacote seja incluído no Fink?

A: Faça a requisição no Package Request Tracker na página do projeto Fink.

Note que você precisa ter uma conta no SourceForge para fazê-lo.

Q8.8: O que são esses "pacotes virtuais" system-* que às vezes estão presentes mas que não consigo eu mesmo instalar ou remover?

A: Pacotes com nomes como system-perl são pacotes sinalizadores. Eles não contêm arquivos em si mas servem meramente como um mecanismo para que o fink saiba sobre os programas que foram instalados manualmente fora do Fink.

A maior parte desses pacotes sinalizadores não são de fato pacotes que você possa instalar ou remover, mas sim "pacotes virtuais", que são estruturas de dados de pacotes gerados pelo programa fink em resposta a uma lista pré-configurada com os programas instalados manualmente. Para cada pacote virtual, o fink procura por certos arquivos e certos locais e, caso estejam presentes, considera o pacote virtual como "instalado".

Você pode rodar o programa fink-virtual-pkgs (faz parte do pacote fink) para obter uma lista de exatamente quais pacotes o fink crê que estejam instalados. Adicionar a opção --debug mostra várias informações de diagnóstico sobre exatamente quais arquivos o fink está verificando.

Infelizmente, não há um mecanismo pelo qual você mesmo possa instalar um programa arbitrário (fora do fink) e fazer com que o fink reconheça esse programa além de você mesmo instalá-lo. É muito difícil, no caso geral, fazer o fink verificar as opções de configuração e compilação, caminhos de arquivos etc.

Abaixo listamos os pacotes virtuais mais importantes definidos pelo fink:

9 Problemas no uso de pacotes - Pacotes específicos

Q9.1: Não consigo som no XMMS.

A: Assegure-se de ter selecionado o "eSound Output Plugin" nas preferências do XMMS. Por algum motivo estranho, ele seleciona o disk writer plugin como padrão.

Se ainda assim você não conseguir som ou o XMMS reclamar que não encontra sua placa de som, tente o seguinte:

Note que o esd é projeto para ser executado por um usuário normal e não pelo root. Ele normalmente se comunica através do socket via arquivo de sistema /tmp/.esd/socket. Você só precisa das opções -tcp e -port caso queira rodar clientes esd em uma outra máquina através da rede.

Já houve relatos de o XMMS fechar ou travar no OS 10.1. Ainda não temos uma análise ou correção.

Q9.2: Se estou editando um arquivo no nedit, quando abro outro arquivo a janela abre mas não responde.

A: Este é um problema conhecido que ocorre com versões recentes do nedit e lesstif em todas as plataformas. A solução é abrir uma nova janela com File-->New e então abrir o próximo arquivo em que você queira trabalhar.

Este problema foi corrigido no nedit-5.3-6, o qual depende de openmotif3 no lugar de lesstif.

Q9.3: Preciso de ajuda! Quando inicio o XDarwin, ele termina imediatamente!

A: Não entre em pânico. O documento Executando o X11 tem uma vasta seção de resolução de problemas para este problema comum.

Q9.4: Quando tento iniciar o XDarwin eu recebo a mensagem "xinit: No such file or directory (errno 2): no server "/usr/X11R6/bin/X" in PATH".

A: Em primeiro lugar, assegure-se de estar carregando o init.sh no seu arquivo de inicialização do X ~/.xinitrc.

No Jaguar, às vezes todos os pacotes xfree86 são compilados mas apenas xfree86-base e xfree86-base-shlibs são instalados. Verifique se você tem os pacotes xfree86-rootless e xfree86-rootless-shlibs instalados. Em caso negativo, execute o comando fink install xfree86-rootless.

Caso os pacotes estejam instalados, tente fink rebuild xfree86-rootless. Se isto não funcionar, verifique se você tem /usr/bin/X11R6 no seu PATH.

Q9.5: Quero que a tecla Delete no X11.app da Apple comporte-se como no XDarwin.

A: Alguns usuários relataram que o comportamento da tecla delete é diferente entre o XDarwin e o X11 da Apple. Isto pode ser corrigido através da edição dos arquivos de inicialização do X apropriados:

.Xmodmap:

keycode 59 = Delete

.Xresources:

xterm*.deleteIsDEL: true 
xterm*.backarrowKey: false
xterm*.ttyModes: erase ^?

.xinitrc

xrdb -load $HOME/.Xresources 
xmodmap $HOME/.Xmodmap

Q9.6: Estou tendo problemas com X11 e Fink.

A: Há duas possibilidades a considerar.

Q9.7: Ainda estou tendo problemas com o X11 e o Fink.

A: Se as dicas em O Fink tenta instalar Xfree86 ou X.org não ajudarem ou não são aplicáveis à sua situação, você pode ter que limpar sua instalação do X11 e remover quaisquer sinalizadores ou pacotes relacionados a X11 que tenham sido parcial ou completamente instalados:

No Leopard, use

sudo pkgutil --forget com.apple.pkg.X11User
sudo pkgutil --forget com.apple.pkg.X11SDKLeo

Em seguida, tanto no OS X 10.4 quanto no 10.5, execute

sudo dpkg -r --force-all system-xfree86 system-xfree86-42    system-xfree86-43 \
xorg xorg-shlibs xfree86 xfree86-shlibs \
xfree86-base xfree86-base-shlibs xfree86-rootless xfree86-rootless-shlibs \
xfree86-base-threaded xfree86-base-threaded-shlibs \
xfree86-rootless-threaded xfree86-rootless-threaded-shlibs
rm -rf /Library/Receipts/X11SDK.pkg /Library/Receipts/X11User.pkg \
/Library/Receipts/X11Update*.pkg
fink selfupdate; fink index

(a primeira linha pode lhe apresentar aviso sobre tentar remover pacotes que não existem). Reinstale o X11 da Apple (e o X11SDK caso necessário) ou, caso esteja usando o OS X 10.4, uma implementação do X11 alternativa, como XFree86 ou X.org.

Se ainda estiver tendo problemas então você executar

fink-virtual-pkgs --debug

para obter informações sobre o que está faltando.

Se estiver executando uma versão mais antiga do fink, há um script em Perl (cortesia de Martin Costabel) que você pode baixar e executar para obter as mesmas informações.

Q9.8: Sempre que uso um aplicativo GTK, recebo mensagens de erro em relação a _EVP_idea_cbc.

A: Isto é causado por um possível bug no linkeditor dinâmico do Tiger (na versão 10.4.1) mas parece ter sido corrigido na 10.4.3 e o Fink tem uma solução no pacote base-files-1.9.7-1 ou mais recentes.

Caso você ainda não tenha atualizado o Tiger e/ou o base-files, você pode contornar este problema usando um prefixo no nome do software que você deseja rodar:

env DYLD_FALLBACK_LIBRARY_PATH=: 

Por exemplo, se você quer usar o gnucash, você o executaria através do seguinte comando:

env DYLD_FALLBACK_LIBRARY_PATH=: gnucash

Este método funciona para aplicações que são iniciadas a partir do menu Application (Aplicativos) do X11 da Apple e também a partir do terminal.

Talvez você queira fazer essa definição de forma global (por exemplo, no seu script de inicialização e/ou em seu .xinitrc, e é possível que você tenha que fazer isso para rodar o GNOME). Coloque

export DYLD_FALLBACK_LIBRARY_PATH=:

em seu arquivo .xinitrc (independentemente de seu shell de login) ou seu .profile (ou outro script de inicialização) para usuários bash, e:

setenv DYLD_FALLBACK_LIBRARY_PATH :

é o comando correspondente para ser usado em, por exemplo, seu arquivo .cshrc para usuários do tcsh.

Observação: isto é feito automaticamente caso você instale uma versão suficientemente recente do pacote base-files.

Q9.9: Não consigo fazer funcionar a ajuda de nenhum aplicativo GNOME.

A: Você precisa instalar o pacote yelp. Este pacote não foi colocado junto com o restante do GNOME porque usa criptografia e foi decidido não colocar todo o GNOME na árvore crypto só por causa do sistema de ajuda.


Copyright Notice

Copyright (c) 2001 Christoph Pfisterer, Copyright (c) 2001-2020 The Fink Project. You may distribute this document in print for private purposes, provided the document and this copyright notice remain complete and unmodified. Any commercial reproduction and any online publication requires the explicit consent of the author.


Generated from $Fink: faq.pt.xml,v 1.13 2023/08/04 04:42:29 nieder Exp $