Fink

Q.F.P. - 5. Installation, Utilisation et Mise à jour de Fink

Q.5.1: Comment savoir quels sont les paquets gérés par Fink ?

R.: Depuis la version 0.2.3 de Fink, la commande list vous permet de le savoir. Cette commande produit une liste de tous les paquets connus de votre installation de Fink. Exemple :

fink list

Si vous utilisez la distribution binaire, dselect vous donne une liste des paquets disponibles dans laquelle vous pouvez naviguer. Remarque : vous devez utiliser la commande sudo si vous voulez sélectionner et installer des paquets avec dselect.

Il y a aussi la base de données de paquets sur le site web.

Q.5.2: Comment configurer fink pour utiliser un proxy HTTP quand on est derrière un mur pare-feu ?

R.: La commande fink permet de prendre en compte des réglages de proxy qui seront utilisés par wget et curl. Si on ne vous a pas posé de question sur vos réglages de proxies lors de la première installation, vous pouvez taper fink configure pour les régler. Vous pouvez aussi utiliser cette commande à n'importe quel moment pour reconfigurer la commande fink. Si vous avez suivi les instructions du guide d'installation et utilisé /opt/sw/bin/init.csh (ou /opt/sw/bin/init.sh), alors apt-get et dselect utiliseront aussi ces réglages de proxies. Assurez-vous d'avoir bien indiqué le protocole utilisé, par exemple :

ftp://proxy.votresite.quelquepart

Si vous avez toujours des problèmes, allez dans Préférences système, cliquez sur Réseaux, sélectionnez l'onglet proxies et vérifiez que la case "Utiliser le mode FTP passif (PASV)" est cochée.

Q.5.3: Comment mettre à jour les paquets disponibles sur CVS lorsqu'on utilise un mur pare-feu ?

R.: Le paquet cvs-proxy peut créer un tunnel à travers les proxies HTTP.

  • Installez le paquet cvs-proxy avec la commande :

    fink --use-binary-dist install cvs-proxy

  • Passez à la mise à jour via cvs avec la commande :

    fink selfupdate-cvs

Si Fink n'est pas configuré pour utiliser un proxy, changez les réglages en utilisant :

fink configure.

Q.5.4: Est-il possible de déplacer Fink vers un autre dossier après l'installation ?

R.: Non. Vous pouvez bien sûr déplacer les fichiers en utilisant mv ou le Finder, mais 99% des programmes ne fonctionneront plus si vous faites cela. En effet, la majorité des programmes Unix utilisent des chemins d'accès directement inclus dans le fichier binaire pour accéder,entre autres, à des données et des bibliothèques.

Q.5.5: Est-ce que Fink fonctionnera correctement si on le déplace après installation et que l'on crée un lien symbolique vers son ancien emplacement ?

R.: Peut-être. On peut supposer que le fonctionnement sera correct dans l'ensemble, mais il y aura certainement des problèmes ici ou là.

Q.5.6: Comment désinstaller Fink complètement ?

R.: Presque tous les fichiers installés par fink se trouvent dans le répertoire /opt/sw (ou bien l'endroit où vous avez choisi de faire l'installation). Donc, pour supprimer Fink, entrez cette commande :

sudo rm -rf /opt/sw

Les seules exceptions à cette règle concernent XFRee86 et X.org. Si vous avez installé un serveur X via Fink (vous avez, par exemple, installé le paquet xfree86 ou xfree86-rootless, ou encore xorg au lieu d'utiliser system-xfree86) et que vous voulez le supprimer, vous devrez aussi saisir ceci :

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

Si vous ne pensez pas réinstaller Fink, vous pouvez aussi supprimer, en utilisant un éditeur de texte, la ligne "source /opt/sw/bin/init.csh" que vous aviez ajoutée dans le fichier .cshrc ou la ligne "source /opt/sw/bin/init.sh" que vous aviez ajoutée dans le fichier .bashrc, selon vos réglages.

Q.5.7: La base de données des paquets sur le site web mentionne le paquet xxx, mais apt-get ou dselect eux ne le mentionnent pas. Qui a raison ?

R.: Ils ont tous raison. La base de données des paquets donne la liste de tous les paquets, même ceux qui sont encore dans la section instable. Les outils dselect et apt-get, de leur côté, donnent la liste des paquets disponibles en tant que binaires précompilés. De nombreux paquets ne sont pas disponibles sous forme précompilée via ces outils pour diverses raisons. Un paquet doit être dans la section "stable" de la dernière mise à jour de Fink pour être pris en compte, et il doit, de plus, passer avec succès un certain nombre de tests relatifs aux règles de fink et aux restrictions de licences et brevets.

Si vous voulez installer un paquet qui n'est pas disponible via dselect ou apt-get, vous devez le compiler à partir du code source en utilisant fink install nom_du_paquet. Vérifiez que vous avez installé les Developer Tools avant d'essayer ceci. (S'il n'y a pas d'installeur pour les Developer Tools dans votre répertoire /Applications , vous pouvez les télécharger gratuitement sur Apple Developer Connection après enregistrement). Voir aussi la question suivante à propos des paquets instables.

Q.5.8: Comment installer un paquet instable quand la commande fink ne le trouve pas (message en anglais : 'no package found') ?

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

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

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

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

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

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

fink selfupdate

followed by

fink selfupdate-rsync

or

fink selfupdate-cvs

and then

fink index -f
fink scanpackages

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

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

fink selfupdate
fink index
fink scanpackages
	

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

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

Q.5.9: Faut-il vraiment activer toute l'arborescence instable pour n'installer qu'un seul paquet instable ?

R.: Non, mais c'est fortement recommandé. Le mélange des genres peut créer des effets inattendus et rendre difficile un éventuel débogage.

Ceci dit, si vous ne voulez installer qu'un ou deux paquets instables spécifiques, vous devez changer vos réglages pour utiliser la mise à jour CVS (c'est-à-dire utiliser fink selfupdate-cvs), car rsync ne met à jour que les arborescences activées dans le fichier fink.conf. Éditez le fichier /opt/sw/etc/fink.conf et ajoutez local/main à la ligne Trees:, si elle n'y figure pas déjà. Vous devrez alors exécuter fink selfupdate pour télécharger les fichiers de description des paquets. Copiez ensuite les fichiers .info qui vous intéressent (et leurs fichiers .patch associés, s'ils existent) à partir des sous-répertoires du répertoire /opt/sw/fink/dists/unstable/main/finkinfo (ou à partir du répertoire /opt/sw/fink/dists/unstable/crypto/finkinfo) dans le répertoire /opt/sw/fink/dists/local/main/finkinfo. Notez cependant que votre paquet peut dépendre d'autres paquets (ou de versions particulières de paquets) qui sont uniquement présents dans l'arborescence instable. Vous devrez alors déplacer aussi leurs fichiers .info et .patch associés. Après avoir déplacé tous les fichiers, lancez la commande fink index pour que l'index des paquets disponibles de Fink soit mis à jour. Vous pourrez ensuite utiliser rsync à nouveau (fink selfupdate-rsync) si vous le désirez.

Q.5.10: Comment ne plus avoir à saisir son mot de passe après la commande sudo ?

R.: Si vous n'êtes pas paranoïaque, vous pouvez configurer sudo pour qu'il ne vous demande pas votre mot de passe. Pour cela, mettez-vous en mode super-utilisateur et lancez visudo, puis ajoutez la ligne suivante :

username ALL =(ALL) NOPASSWD: ALL

Remplacez bien sûr nomutilisateur par votre nom d'utilisateur. Cette ligne vous permet d'exécuter n'importe quelle commande avec sudo sans saisir votre mot de passe.

Q.5.11: À l'exécution de init.csh ou de init.sh, un message d'erreur signale que l'autorisation est refusée (message en anglais "Permission denied") . Que se passe-t-il ?

R.: init.csh et init.sh ne doivent pas être exécutés comme les commandes habituelles. Ces fichiers définissent des variables d'environnement, tels PATH ou MANPATH, dans votre shell. Pour avoir un effet durable sur votre shell, il faut utiliser la commande source pour csh et tcsh ou la commande . pour bash et zsh, comme ceci :

pour csh/tcsh :

source /opt/sw/bin/init.csh

pour bash/zsh :

. /opt/sw/bin/init.sh

Q.5.12: Pourquoi est-il impossible de télécharger des paquets après avoir utilisé le menu "[A]ccess" dans dselect ?

R.: Vous avez certainement fait pointer apt sur un miroir Debian, qui ne contient, bien sûr, aucun des fichiers de Fink. Vous pouvez corriger cela manuellement ou via dselect. Pour le faire manuellement, modifiez en tant que super-utilisateur le fichier /opt/sw/etc/apt/sources.list dans un éditeur de texte. Supprimez les lignes qui mentionnent debian.org et remplacez-les par celles-ci :

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

Note : les barres obliques inversées ont été rajoutées uniquement pour des raisons de formatage.

(Si vous vivez en Europe, remplacez us.dl.sourceforge.net par eu.dl.sourceforge.net)

Pour modifier avec dselect, relancez "[A]ccess", choisissez la méthode "apt" et entrez les informations suivantes :

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

Ensuite, spécifiez que vous voulez ajouter une autre source et répétez la procédure avec "current" à la place de "release".

Une version modifiée du paquet apt (contenant le script de configuration en tant que plug-in de dselect) est en cours de développement dans CVS.

Q.5.13: Lors de l'exécution de fink selfupdate ou de "fink selfupdate-cvs", un message signale que la mise à jour via CVS a échoué et qu'il faut examiner les messages d'erreur situés au-dessus de cette ligne (message en anglais "Updating using CVS failed. Check the error messages above."). Que faire ?

R.: Si le message est le suivant :

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

alors vous devez installer les Developer Tools.

Si, par contre, la dernière ligne est la suivante :

### execution of su failed, exit code 1

vous devrez regarder plus haut pour voir l'erreur. Si vous voyez un message précisant que votre connection à été refusée :

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

Note : les barres obliques inversées ont été rajoutées uniquement pour des raisons de formatage.

ou bien un message comme le suivant :

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

cvs [update aborted]: received broken pipe signal

alors il est possible que le serveur CVS soit surchargé. Il vous faudra réessayer plus tard.

Il se peut que les permissions soient mal définies dans votre dossier CVS et que vous n'y ayez pas accès, ce qui génère des messages de "refus d'autorisation" (message en anglais :"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.

Dans ce cas-là, vous devez réinitialiser votre répertoire CVS. Pour ce faire, utilisez la commande :

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

Si vous ne voyez aucun des messages ci-dessus, il est très probable que vous ayez modifié un fichier dans l'arborescence /opt/sw/fink/dists et que le mainteneur ait modifié ce fichier. Regardez de nouveau dans le message apparu après selfupdate-cvs les lignes commençant par "C", comme :

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.

La lettre "C" signifie que CVS a rencontré un problème en essayant de mettre à jour la dernière version. La solution consiste à retirer tous les fichiers info ou patch correspondant aux lignes commençant par "C" dans le message de sortie de selfupdate-cvs, et à essayer de nouveau. Par exemple :

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

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

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

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

Check your Distribution version, e.g. via

fink --version

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

Q.5.14: Lors de l'utilisation de Fink, ma machine se fige, entre en panique noyau ou bien plante. À l'aide !

R.: À l'automne 2002, de nombreuses personnes ont signalé sur la liste de diffusion fink-users des problèmes (y compris des paniques noyau ou des suspensions infinies lors de l'application d'une rustine) quand on utilise Fink pour compiler des paquets, alors qu'un anti-virus est installé. Il faut alors désactiver l'anti-virus avant d'utiliser Fink.

Q.5.15: Lors de l'installation d'un paquet, Fink ne peut le télécharger. Le site de téléchargement indique une version du paquet plus récente que celle de Fink. Que faire ?

R.: Les sources du paquet sont déplacées par les sites en amont quand de nouvelles versions sont publiées.

La première chose à faire est d'exécuter fink selfupdate. Il est possible que le responsable du paquet ait déjà pris ce changement en compte. Vous obtiendrez alors une mise à jour de la description du paquet soit avec une version plus récente, soit avec une nouvelle URL de téléchargement.

Si cela ne marche pas, la plupart des sources sont accessibles sur http://distfiles.master.finkmirrors.net/ (grâce à Rob Braun), et vous pouvez exécuter fink configure pour choisir les miroirs source "Master", afin que Fink s'y réfère automatiquement.

Si cela ne marche pas, veuillez informer le mainteneur du paquet (disponible via "fink describe nom_du_paquet") que l'URL n'est pas valide. Tous les mainteneurs ne lisent pas la liste de diffusion régulièrement.

Pour obtenir un source utilisable, recherchez d'abord dans les autres répertoires du site distant la version du source que Fink recherche. (par exemple dans un répertoire "old"). Rappelez-vous, cependant, que certains sites distants ne conservent pas les anciennes versions de leurs paquets. Si le site officiel ne l'a pas, recherchez sur la toile - il arrive parfois que des sites non officiels aient l'archive tar que vous cherchez. Recherchez aussi sur http://us.dl.sourceforge.net/fink/direct_download/source/. C'est là que Fink sauvegarde les fichiers source des paquets qui ont été distribués sous forme binaire. Si rien de ce qui précède ne fonctionne, postez alors un message sur la liste de diffusion fink-users pour demander si quelqu'un peut mettre à votre disposition l'ancien source.

Une fois l'archive tar adéquate repérée, téléchargez-la manuellement et placez-la dans le répertoire des sources de Fink (c'est-à-dire pour l'installation par défaut de Fink, utilisez la commande "sudo mv package-source.tar.gz /opt/sw/src/". Puis utilisez la commande 'fink install nom_du_paquet' comme d'habitude.

Si vous n'arrivez pas à obtenir le fichier source, vous devrez alors attendre que le mainteneur se charge du problème. Il peut soit poster un lien vers une source ancienne, soit mettre à jour les fichiers .info et .patch pour utiliser la nouvelle version.

Q.5.16: Le message "commande non trouvée" apparaît au lancement de Fink ou de tout autre paquet installé via Fink (message en anglais "command not found"). Que faire ?

R.: Si cela se produit systématiquement, vous avez probablement modifié involontairement (ou omis de modifier) vos scripts de démarrage. Lancez le script /opt/sw/bin/pathsetup.sh (soit en double-cliquant dans le Finder, soit dans une fenêtre de terminal). Le script tentera de deviner votre shell par défaut et y ajoutera une commande de chargement du script d'initialisation du shell de Fink dans votre configuration shell. Vous devrez alors ouvrir une nouvelle session de terminal, de façon à ce que vos paramètres d'environnement soient pris en compte. Note : dans certaines versions anciennes de fink, ce script s'appelle pathsetup.command au lieu de pathsetup.sh. Pour modifier le script de démarrage, vous pouvez également lancer l'application pathsetup.app, qui se trouve dans l'image disque de la distribution binaire de Fink.

Par contre, si cela ne se produit que dans le terminal X11 d'Apple, la meilleure solution est de modifier la définition de "Terminal" dans le menu Applications via le sous-menu Applications->Personnaliser le menu.... Au lieu de :

xterm

mettez :

xterm -ls

dans le champ commande. Ici, ls signifie login shell (c'est-à-dire shell d'ouverture de session). Il en résulte que tous les paramètres de votre ouverture de session sont utilisés (tout comme dans le Terminal de Mac OS X).

Les scripts /opt/sw/bin/init.* font beaucoup plus qu'ajouter le répertoire /opt/sw/bin à votre variable d'environnement PATH. La plupart des paquets ne fonctionnent pas correctement si ces scripts n'ont pas été lancés au démarrage.

Q.5.17: Est-il possible de masquer le répertoire /opt/sw dans le Finder pour éviter que les utilisateurs ne modifient les réglages de Fink ?

R.: Oui. Si vous avez installé les Developer Tools, utilisez la commande suivante :

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

Cela a pour effet de rendre invisible le répertoire /opt/sw, tout comme le sont les autres répertoires standards utilisés par le système (/usr, etc...). Si vous n'avez pas installé les Developer Tools, il existe plusieurs applications de tierce-partie qui vous permettent de changer les attributs des fichiers - vous devez rendre le répertoire /opt/sw invisible.

Q.5.18: Il est impossible d'installer quoi que ce soit. Un message signale que l'option infodir n'est pas reconnue par la commande install-info (message en anglais "install-info: unrecognized option `--infodir=/opt/sw/share/info'"). Que faire ?

R.: Ceci est généralement lié à un problème sur la variable d'environnement PATH. Lancez dans une fenêtre de terminal :

printenv PATH

Si /opt/sw/sbin n'apparaît pas, vous devrez alors modifier vos variables d'environnement comme expliqué dans les instructions du Guide de l'Utilisateur. Si /opt/sw/sbin est bien là, mais qu'il y a d'autres répertoires avant (par exemple /usr/local/bin), vous devrez alors réordonner votre variable d'environnement PATH pour que /opt/sw/sbin soit proche du début. Si vous voulez cependant que les autres répertoires soit avant /opt/sw/sbin, et qu'ils contiennent des répertoires appelés eux aussi install-info, il faudra alors renommer temporairement ces sous-répertoires install-info quand vous utiliserez Fink.

Q.5.19: Il est impossible d'installer ou de supprimer quoi que ce soit à cause d'un problème de listes de fichiers de paquets (messages en anglais contenant "files list file"). Que faire ?

R.: En général, ces erreurs sont de la forme :

files list file for package nom_du_paquet contains empty filename

ou

files list file for package nom_du_paquet is missing final newline

Cela peut être corrigé relativement facilement. Si vous avez sur votre système le fichier .deb du paquet posant problème, vérifiez son intégrité en tapant la commande suivante :

dpkg --contents chemin_complet_du_fichier_deb

par exemple :

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

Note : les barres obliques inversées ont été rajoutées uniquement pour des raisons de formatage.

Si vous obtenez une liste de répertoires et de fichiers, votre fichier .deb est valide. Si, par contre, le résultat est différent ou si vous n'avez pas le fichier .deb, vous pouvez continuer car cette erreur n'interfère pas avec les éléments compilés.

Si vous avez fait l'installation à partir de la distribution binaire, ou bien si vous êtes certain que la version que vous avez installée est identique à celle de la distribution (vous l'avez vérifié dans la base de données des paquets), alors vous pouvez télécharger un fichier .deb en lançant sudo apt-get install --reinstall --download-only nom_du_paquet. Vous pouvez aussi le compiler vous-même avec la commande fink rebuild nom_du_paquet, mais cela ne l'installera pas.

Quand vous aurez un fichier .deb valide, vous pouvez reconstituer le fichier. Tout d'abord, mettez-vous en mode super-utilisateur en utilisant la commande sudo -s (saisissez votre mot de passe administrateur si nécessaire), puis utilisez la commande suivante :

dpkg -c chemin_complet_du_fichier_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/nom_du_paquet.list

Note : les barres obliques inversées ont été rajoutées uniquement pour des raisons de formatage.

par exemple :

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

Note : les barres obliques inversées ont été rajoutées uniquement pour des raisons de formatage.

Cela a pour effet d'extraire le contenu du fichier .deb, de tout supprimer sauf les noms de fichiers, puis de les écrire dans le fichier .list.

Q.5.20: La commande dselect produit un tas de lignes incompréhensibles. Comment éviter cela ?

R.: dselect et Terminal.app communiquent assez mal. Pour résoudre ce problème, vous pouvez lancer cette commande :

Utilisateurs de tcsh :

setenv TERM xterm-color

Utilisateurs de bash :

export TERM=xterm-color

avant de lancer dselect. Vous pouvez mettre ceci dans votre fichier de démarrage (par exemple .cshrc ou .profile) pour que cela se fasse automatiquement.

Q.5.21: Il est impossible de mettre à jour Fink. Que faire ?

R.: Suivez les instructions spéciales dans ce cas.

Quand ni l'exécution de la commande fink selfupdate, ni celle des commandes sudo apt-get update ; sudo apt-get dist-upgrade n'aboutissent à la mise à jour effective de Fink, vous devez télécharger une nouvelle version du paquet fink de la manière suivante :

Note : les barres obliques inversées ont été rajoutées uniquement pour des raisons de formatage.

Q.5.22: Est-il possible d'installer Fink sur un volume ou dans un répertoire contenant un espace dans le nom ?

R.: Nous déconseillons de le faire. Le jeu n'en vaut vraiment pas la chandelle.

Q.5.23: Lors de la mise à jour binaire, de nombreux messages signalant qu'un fichier est introuvable ou qu'il est impossible d'obtenir le status de la liste d'un paquet source apparaissent (messages en anglais "File not found" ou "Couldn't stat package source list file"). Que faire ?

R.: Si vous voyez ceci :

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.

Exécutez simplement fink scanpackages. Cela générera les fichiers introuvables.

Si l'erreur est du genre :

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)

Vous devez exécuter :

sudo apt-get update
fink scanpackages

pour corriger définitivement le problème.

Note : les barres obliques inversées ont été rajoutées uniquement pour des raisons de formatage.

Q.5.24: Après mise à jour du système, Fink ne reconnaît pas les changements apportés par ces mises à jour. Que faire ?

R.: Lorsque vous changez la distribution de Fink (dont la distribution source et la distribution binaire sont des sous-ensembles), il faut le préciser à Fink. Pour cela, vous pouvez lancer le script qui est généralement exécuté lors de la première installation de Fink :

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

Fink pointera alors à l'endroit approprié.

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

Q.5.26: Des erreurs apparaissent lors de l'utilisation de gzip ou de dpkg-deb inclus dans le paquet fileutils. Que faire ?

R.: Les erreurs de la forme :

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

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 10
Failed: can't create package base-files_1.9.0-1_darwin-powerpc.deb

ou des fautes de segmentation lors de l'utilisation d'utilitaires inclus dans fileutils, par exemple ls ou mv, sont généralement dues à une erreur de lien pré-encodé dans une bibliothèque. Vous pouvez la corriger avec la commande suivante :

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

Q.5.27: À l'ouverture d'une fenêtre de Terminal, un message signale que "l'environnement a déjà été modifié pour Fink", puis le Terminal se déconnecte (message en anglais "Your environment seems to be set up for Fink already"). Que faire ?

R.: Ce qui se passe ici est que, d'une façon ou d'une autre, l'application Terminal.app a été chargée d'exécuter /opt/sw/bin/pathsetup.command à chaque connexion. Vous pouvez corriger cela en supprimant le fichier de préférences, ~/Library/Preferences/com.apple.Terminal.plist.

Si vous voulez conserver certaines préférences, vous pouvez modifier le fichier avec un éditeur de texte classique et supprimer la référence à /opt/sw/bin/pathsetup.command.

Q.5.28: Quand Fink n'est pas installé sur la partition principale du disque, il est impossible de mettre à jour le paquet fink à partir du source. Des erreurs concernant chowname apparaissent. Que faire ?

R.: Si le message d'erreur ressemble à celui-ci :

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'

vous devez exécuter Lire les informations (Cmd-I quand l'icône de la partition ou du disque est selectionnée) sur le disque (ou la partition) sur lequel (laquelle) Fink est installé et décocher l'option "Ignorer les autorisations de ce volume".

Q.5.29: Fink refuse de mettre à jour les paquets. Il semble ne pas trouver le miroir 'gnu'. Que faire ?

R.: Si un message d'erreur se terminant par :

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

apparaît, il est plus que probable que vous deviez mettre à jour le paquet fink-mirrors via, par exemple :

fink install fink-mirrors

Q.5.30: Il est impossible de mettre à jour Fink, car le répertoire /opt/sw/fink ne peut être déplacé. Que faire ?

R.: L'erreur suivante :

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

est due, en général, à des permissions erronées dans un des répertoires temporaires créés durant l'exécution de selfupdate. Supprimez-les via la commande :

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

Q.5.31: Un message signalant qu'"aucune police n'est trouvée" apparaît (message en anglais : "No fonts found"). Que faire ?

R.: Si vous voyez le message suivant (signalé uniquement sous Mac OS X 10.4 jusqu'à présent) :

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.

corrigez l'erreur en exécutant :

sudo fc-cache

Q.5.32: Il est impossible d'installer Fink à partir du paquet d'installation, le message "Ce volume ne gère pas les liens symboliques" apparaît. Que faire ?

R.: Ce message signifie, généralement, que vous essayez de faire touner l'installeur Fink en tant qu'utilisateur sans privilèges administratifs. Assurez-vous soit de vous connecter dans l'écran de démarrage en tant qu'utilisateur ayant ces privilèges, soit de choisir dans le Finder (à l'aide du menu de changement rapide de session) un utilisateur ayant ces privilèges avant de lancer l'installeur de Fink.

Si vous avez des problèmes alors que vous utilisez un compte d'administrateur, il est probable que cela soit dû à des permissions incorrectes au niveau le plus haut de la hiérarchie des dossiers. Pour les réparer, utilisez l'Utilitaire de disque d'Apple, situé dans le sous-répertoire Utilitaires du répertoire Applications ; sélectionnez le disque dur en question, choisissez l'onglet S.O.S. et cliquez sur Réparez les autorisations du disque If that doesn't work, then you may need to set your permissions manually via:

sudo chmod 1775 /	  
	

Q.5.33: Un message signalant une contradiction entre l'architecture du paquet et celle du système empêche de mettre à jour fink (message en anglais package architecture (darwin-i386) does not match system (darwin-powerpc)). Que faire ?

R.: L'architecture du paquet ne correspond pas à celle de votre système. Cette erreur se produit lorsque vous utilisez un paquet d'installation PowerPc sur une machine Intel. Vous devez alors supprimer votre installation de Fink :

sudo rm -rf /opt/sw

Puis téléchargez l'image disque pour machines Intel à partir des pages de téléchargement.

Suite: 6. Problèmes généraux de compilation