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

Fink - Q.F.P.

Voici la liste des questions fréquemment posées sur Fink. Comme la plupart des QFP, une partie correspond à des questions réelles, d'autres ont été élaborées spécialement pour ces QFP. Il s'agit en fait d'un document écrit dans le style question-réponse.

Ces QFP comprennent plusieurs pages, une par chapitre. Le sommaire ci-dessous donne la liste de toutes les questions ainsi qu'un lien pour chacune d'elles.

Contents

1 Questions générales

Q1.1: Qu'est-ce que Fink ?

A: La raison d'être de Fink est d'offrir un maximum de logiciels UNIX sur Mac OS X, ce qui se traduit par deux objectifs majeurs :

L'objectif principal est de porter des logiciels sur Mac OS X. Cela signifie que nous prenons des logiciels Open Source Unix et corrigeons ce qui est nécessaire pour qu'ils compilent et tournent sur Mac OS X. Parfois la tâche est simple, mais elle peut être très difficile, voire impossible, pour certains paquets. Nous essayons de fournir des outils et des documents pour la simplifier.

L'objectif secondaire est de mettre le résultat à disposition d'utilisateurs occasionnels. Pour ce faire, nous créons une distribution en utilisant des outils de gestion de paquets portés depuis Linux, à savoir dpkg et apt-get, écrits par et pour le projet Debian GNU/Linux. La distribution binaire utilise le format de paquet .deb. Pour construire les paquets à partir du source, nous utilisons notre propre outil, nommé fink, qui construit ces fichiers de paquet .deb.

Q1.2: Que signifie Fink ?

A: Rien en particulier, ce n'est qu'un nom, même pas un acronyme.

En fait, Fink est le mot allemand désignant un fringillidé, une espèce d'oiseau. Je cherchais un nom pour le projet et le nom du système opératoire, Darwin, m'a fait penser à Charles Darwin, aux îles Galápagos et à l'évolution des espèces. Je me suis souvenu, qu'à l'école, nous avions étudié un passage sur les fringillidés pseudo-darwiniens et leurs becs, d'où le nom...

Q1.3: En quoi Fink se différencie-t-il du mécanisme de portage BSD (qui comprend OpenPackages et GNU-Darwin) ?

A: Avantages principaux de Fink :

Q1.4: Pourquoi Fink n'installe-t-il rien dans le répertoire /usr/local ?

A: Il y a plusieurs raisons à cela, mais toutes reposent sur le fait que "cela occasionnerait des failles dans le système".

Première raison : les logiciels de tierce partie. Le répertoire /usr/local est réservé à l'installation des logiciels qui ne font pas partie du système fourni par le vendeur initial. C'est donc l'endroit idéal pour installer quelque chose. Mais, c'est aussi là que d'autres vendeurs installeront leurs logiciels. La plupart des routines d'installation viendront écraser ce qui y est déjà - cela est vrai aussi pour dpkg. On peut, bien sûr, choisir de ne pas installer de logiciels de tierce partie dans le répertoire /usr/local. Malheureusement, la plupart des routines d'installation ne signalent pas à l'avance ce qu'elles installent ni où elles l'installent.

Deuxième raison : la variable d'environnement PATH contient par défaut le répertoire /usr/local/bin. Il s'ensuit que votre shell trouve les programmes qui y sont installés sans que vous ayez à intervenir. A contrario, vous devrez intervenir si vous ne souhaitez pas utiliser ces programmes. Au pire, cela affecte le système lui-même - de nombreuses parties du système reposent sur des scripts shell.

Troisième raison : l'ensemble des outils de compilation effectuent par défaut leurs recherches dans le répertoire /usr/local. Le compilateur cherche les headers dans le répertoire /usr/local/include et l'éditeur de liens cherche les bibliothèques dans le répertoire /usr/local/lib. C'est quelquefois très pratique, mais très difficile à désactiver si le besoin s'en fait sentir. On peut facilement désactiver le compilateur en mettant dans le répertoire /usr/local/include un fichier parasite auquel on donne le nom de stdio.h.

Ceci dit, il est possible d'installer Fink dans le répertoire /usr/local. Le script d'installation vous avertira que, si vous le faites, ce sera à vos risques et périls, mais continuera l'installation après votre accord.

Q1.5: Pourquoi avoir choisi le répertoire /sw ?

A: Ce choix est tout-à-fait arbitraire, mais il est vraisemblable qu'il demeure le même, au moins dans un avenir prévisible, tant pour des raisons pratiques (mise à niveau) que par le fait qu'il n'entre en conflit avec aucun autre système de paquets.

2 Relations avec d'autres projets

Q2.1: Envoyez-vous aux mainteneurs situés en amont de vous les rustines que vous faites ?

A: Nous essayons. Parfois, c'est facile et tout le monde en profite à la prochaine version du paquet. Malheureusement, ce n'est pas toujours si simple avec la plupart des paquets. Quelques problèmes courants :

Q2.2: Quelles sont vos relations avec le projet Debian ? Portez-vous Debian Linux sur Mac OS X ?

A: Il n'y a pas de relation officielle entre Fink et Debian. Fink n'est pas un port de la distribution Debian GNU/Linux. Mais, nous avons porté les outils de gestion de paquet de Debian (dpkg, dselect, apt-get) et nous les utilisons ainsi que le format de paquet binaire .deb. Nos paquets sont faits sur mesure pour Mac OS X / Darwin et n'utilise pas le format de paquet source Debian.

Q2.3: Quelles sont vos relations avec Apple ?

A: Apple sait que Fink existe et nous a apporté son soutien dans le cadre de ses relations avec les projets Open Source. Durant l'été et l'automne 2001, Apple nous a fourni les sources des pré-versions de Mac OS X dans l'espoir que les paquets Fink puissent être adaptés à temps pour la version officielle. Citation : "Nous espérons que cela mettra en évidence notre engagement, que d'aucuns mettent en doute. Nous nous affirmerons dans les projets open source au fil du temps." Merci Apple !

Q2.4: Quelles sont vos relations avec DarwinPorts ?

A: DarwinPorts et Fink sont des projets complémentaires. Certaines parties se recouvrent et plusieurs personnes contribuent aux deux projets. Benjamin Reed, par exemple, fait les paquets KDE pour les deux. DarwinPorts et Fink peuvent utiliser les rustines de l'un ou l'autre projet et nous envisageons une collaboration sur un nouveau moteur de dépendances.

DarwinPorts est parti de rien pour tenter de créer un nouveau système d'empaquetage. Lire les objectifs du projet sur la page d'Accueil DarwinPorts.

3 Miroirs de Fink

Q3.1: Qu'est-ce qu'un miroir Fink ?

A: Un miroir Fink est un serveur rsync qui reflète les fichiers de description actuels et stables que Fink utilisent pour construire les paquets à partir du source.

Q3.2: Pourquoi utiliser des miroirs rsync ?

A: Rsync est un protocole très rapide. Il met à jour les fichiers de description plus vite que l'ancienne méthode de mise à jour via CVS. De plus, les mises à jour via CVS sont toujours faites à partir de sourceforge.net, tandis que les mises à jour via rsync peuvent être faites à partir d'un miroir proche de votre lieu de téléchargement.

Q3.3: Où trouver de plus amples informations sur les miroirs Fink ?

A: Tous les miroirs Fink sont fusionnés sous le nom de domaine finkmirrors.net. Vous trouverez de plus amples informations sur le site web http://finkmirrors.net/.

Q3.4: Il est impossible de se connecter au serveur rsync. Que faire ?

A: Il arrive que certains murs pare-feu particulièrement efficaces vous empêchent de vous connecter à des services rsync. Dans ce cas, continuez à utiliser la méthode CVS.

Q3.5: Après passage à la méthode rsync, tous les fichiers info des arborescences inutilisées ont disparu. Que se passe-t-il ?

A: C'est normal. La méthode rsync ne met à jour que l'arborescence active, par exemple 10.3, et supprime tous les répertoires CVS.

Q3.6: Comment passer d'une méthode à une autre à volonté ?

A: En utilisant fink selfupdate-rsync pour passer à la méthode rsync ou fink selfupdate-cvs pour passer à la méthode CVS.

Q3.7: Qu'est-ce qu'un miroir Distfiles ?

A: Il est parfois difficile de trouver une version précise d'un source sur Internet. Les miroirs Distfiles stockent les paquets source nécessaires à fink pour construire ses paquets source. Ils font aussi office de miroir.

4 Mise à jour de Fink (Résolution de problèmes spécifiques à une version donnée)

Q4.1: Fink doesn't see new packages even after I've run an rsync or cvs selfupdate.

A: This is a current issue for people on OS 10.5 using the binary installer. Check your version:

fink --version

If you currently have fink-0.27.13-41, which is the version that comes with the installer, or fink-0.27.16-41, then there are a couple of options.

Either will bring you the newest fink version.

Q4.2: When I try to install stuff I get 'Can't resolve dependency "fink (>= 0.28.0)"'

A: Apply the fix from the prior entry.

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 Installation, Utilisation et Mise à jour de Fink

Q5.1: Comment savoir quels sont les paquets gérés par Fink ?

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

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

A: 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é /sw/bin/init.csh (ou /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.

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

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

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

fink configure.

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

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

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

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

Q5.6: Comment désinstaller Fink complètement ?

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

sudo rm -rf /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 /sw/bin/init.csh" que vous aviez ajoutée dans le fichier .cshrc ou la ligne "source /sw/bin/init.sh" que vous aviez ajoutée dans le fichier .bashrc, selon vos réglages.

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

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

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

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

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

A: 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 /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 /sw/fink/dists/unstable/main/finkinfo (ou à partir du répertoire /sw/fink/dists/unstable/crypto/finkinfo) dans le répertoire /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.

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

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

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

A: 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 /sw/bin/init.csh

pour bash/zsh :

. /sw/bin/init.sh

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

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

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

A: Si le message est le suivant :

Can't exec "cvs": No such file or directory at 
/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 /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 /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 /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.

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

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

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

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

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

A: Si cela se produit systématiquement, vous avez probablement modifié involontairement (ou omis de modifier) vos scripts de démarrage. Lancez le script /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 /sw/bin/init.* font beaucoup plus qu'ajouter le répertoire /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.

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

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

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

Cela a pour effet de rendre invisible le répertoire /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 /sw invisible.

Q5.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=/sw/share/info'"). Que faire ?

A: 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 /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 /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 /sw/sbin soit proche du début. Si vous voulez cependant que les autres répertoires soit avant /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.

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

A: 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 /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);}}'\ 
> /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 /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);}}' \ 
> /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.

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

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

Q5.21: Il est impossible de mettre à jour Fink. Que faire ?

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

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

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

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

A: 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:/sw/fink/dists/local/main/binary-darwin-\
powerpc/Packages
File not found
Failed to fetch file:/sw/fink/dists/stable/main/binary-darwin-\
powerpc/Packages
File not found
Failed to fetch file:/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
(/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.

Q5.24: Après mise à jour du système ou des Developer Tools, Fink ne reconnaît pas les changements apportés par ces mises à jour. Que faire ?

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

/sw/lib/fink/postinstall.pl

Fink pointera alors à l'endroit approprié.

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

A: Les erreurs de la forme :

gzip -dc /sw/src/dpkg-1.10.9.tar.gz | /sw/bin/tar -xf -
### execution of gzip failed, exit code 139

ou :

gzip -dc /sw/src/aquaterm-0.3.0a.tar.gz | /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
/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 /sw/var/lib/fink/prebound/update-package-prebinding.pl -f

Q5.26: À 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 ?

A: 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 /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 à /sw/bin/pathsetup.command.

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

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

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

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

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

A: L'erreur suivante :

Failed: Can't move "/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 /sw/fink.tmp /sw/fink.old

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

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

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

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

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

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

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

6 Problèmes généraux de compilation

Q6.1: Un script configure signale qu'il ne peut trouver un "cc acceptable". De quoi s'agit-il ?

A: Lisez la documentation avant de poser des questions. Pour compiler des paquets à partir du source, vous devez installer les Developer Tools, qui, entre autres, contiennent le compilateur C nommé cc.

Q6.2: Lors de l'exécution de "fink selfupdate-cvs", un message signale que "la commande cvs est introuvable" (message en anglais : "cvs: Command not found."). Que faire ?

A: Vous devez installer les Developer Tools.

Q6.3: Un message d'erreur relatif à make apparaît. Que faire ?

A: Si ce message est du type :

make: command not found

ou :

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

cela signifie que vous devez installer les Developer Tools.

Si, par contre, le message est du type :

make: illegal option -- C

cela signifie que vous avez remplacé la version GNU de l'utilitaire make installée par les Developer Tools par une version BSD de make. De nombreux paquets utilisent des fonctionnalités spéciales implémentées seulement dans GNU make. Vérifiez que /usr/bin/make est un lien symbolique vers gnumake, et non vers bsdmake. De plus, assurez-vous que le répertoire /usr/local/bin/ ne contient aucune autre copie de make.

Q6.4: Un étrange message d'erreur concernant la commande head apparaît. Que se passe-t-il ?

A: Si vous voyez apparaître ce message :

Unknown option: 1 Usage: head [-options] <url>...

suivi d'une liste d'options, cela signifie que la commande head est défectueuse. Cela se produit lorsqu'on installe la bibliothèque Perl libwww sur un volume système HFS+. Elle tente de créer une nouvelle commande /usr/bin/HEAD, qui écrase la commande head existante, car le système de fichiers ne respecte pas la casse. head est une commande standard utilisée dans de nombreux scripts shell et dans les Makefiles. Vous devez récupérer la commande head originale si vous voulez utiliser Fink.

Le script bootstrap de la version source de fink fait, maintenant, cette vérification ; mais vous pouvez vous retrouver devant ce problème si vous utilisez la version binaire lors de la première installation de fink ou si vous installez libwww après avoir installé Fink.

Ce problème peut aussi venir de l'installation de /sw/bin/HEAD (mais pas par un paquet de Fink). La solution est plus simple : renommez /sw/bin/HEAD.

Q6.5: À l'installation d'un paquet, un message d'erreur signale qu'il y a tentative d'écrasement d'un fichier situé dans un autre paquet. Que faire ?

A: Cela arrive parfois avec les paquets multiples (c'est-à-dire ceux qui sont scindés en -dev, -shlibs, etc...) quand un fichier est déplacé d'un paquet à l'autre (par exemple de toto à toto-shlibs. Vous pouvez tenter d'écraser le fichier par celui présent dans le paquet (puisqu'ils sont identiques) via la commande :

sudo dpkg -i --force-overwrite nomdufichier

nomdufichier est le nom du fichier .deb correspondant au paquet que vous êtes en train d'installer.

Q6.6: Lors de la construction d'un paquet, un message indique que l'exécution de la commande mv a échoué (message en anglais : "execution of mv failed, exit code 1"). Que faire ?

A: Si vous avez installé StuffIt Pro, il se peut que vous ayez activé le mode "Archive Via Real Name". Recherchez un panneau de préférences Stuffit dans les préférences système et désactivez "ArchiveViaRealName" si cette option est activée. Elle contient une implémentation boguée de certains appels système importants qui entraîne un grand nombre d'erreurs étranges et passagères comme celle-ci.

Dans le cas contraire, une erreur sur la commande mv signifie, en général, qu'une autre erreur s'est produite précédemment dans le processus de construction sans l'arrêter. Pour trouver le ou les fichiers concernés, recherchez dans les messages de sortie le fichier manquant. Par exemple, si vous obtenez ce message :

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

vous devez rechercher libtata parmi les messages de sortie précédents du processus de construction.

Q6.7: Il est impossible d'installer ou de mettre à jour un paquet, un message indique qu'un "noeud" existe déjà (message en anglais : "node already exists"). Que faire ?

A: Ces messages d'erreurs sont similaires au message suivant :

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

Le moteur de dépendances ne sait plus où il en est, car il y a eu des changements dans certains fichiers info des paquets. Pour résoudre ce problème :

Q6.8: Des problèmes de compilation de paquet Fink apparaissent quand des bibliothèques ou des headers sont installés dans le répertoire /usr/local. Que faire ?

A: C'est une source fréquente de problèmes, car le script de configuration du paquet trouve les bibliothèques et les headers installés dans le répertoire /usr/local avant ceux installés dans l'arborescence de Fink. Si vous rencontrez des problèmes lors de la construction d'un paquet, et que vous ne trouvez pas de solution à ce problème dans les QFP, regardez si vous avez des bibliothèques installées dans le répertoire /usr/local/lib ou des headers installés dans le répertoire /usr/local/include. Si c'est le cas, déplacez temporairement le répertoire /usr/local via la commande :

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

construisez le paquet, puis remettez en place le répertoire /usr/local via la commande :

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

Q6.9: Lors de la construction d'un paquet, un message indique que la "table des matières" n'est pas à jour (message en anglais "table of contents out of date"). Que faire ?

A: Le message de sortie vous indique (hélas ! en anglais) ce qu'il faut faire. En général, il est de la forme suivante :

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

Vous devez exécuter ranlib (en tant que super-utilisateur) sur la bibliothèque qui est la cause du problème. Par exemple, dans le cas ci-dessus, vous devez exécuter :

sudo ranlib /sw/lib/libintl.a

Q6.10: Fink Commander se bloque quand on tente d'installer atlas. Que faire ?

A: Ceci provient du fait qu'une des étapes de la compilation du paquet atlas envoie une invite à l'utilisateur et que Fink Commander ne l'affiche pas. Vous devez utiliser fink install atlas au lieu de passer par Fink Commander.

Q6.11: Un message indique qu'il est impossible de trouver les fichiers stddef.h, ou wchar.h, ou stdlib.h, ou crt1.o, ou bien encore que le compilateur C ne peut créer de fichiers exécutables ( message en anglais "C compiler cannot create executables"). Que faire ?

A: Ces problèmes sont dus, généralement, à l'absence de headers essentiels fournis par le paquet DevSDK des Outils de Développement (Developer Tools). Vérifiez que le répertoire /Library/Receipts/DevSDK.pkg existe dans votre système. Si ce n'est pas le cas, relancez l'installeur des Outils de Développement et installez le paquet DevSDK en choisissant l'option Installation Personnalisée (Custom Install en anglais).

Le message d'erreur impossible de créer des fichiers exécutables peut aussi être généré lorsque la version des Outils de Développement installée provient d'une version antérieure du système d'exploitation.

Q6.12: Il est impossible de mettre à jour, un message indique que Fink est "incapable de résoudre des conflits de versions entre dépendances" (message en anglais "unable to resolve version conflict on multiple dependencies"). Que faire ?

A: Pour résoudre ce problème, essayez de ne mettre à jour qu'un seul paquet, puis lancez de nouveau "fink update-all". Si le message réapparaît, répétez le processus.

Q6.13: Il est impossible d'installer quoi que ce soit, un message indique que "dpkg est incapable d'analyser la structure du fichier /sw/var/lib/dpkg/status" (message en anglais : "dpkg: parse error, in file `/sw/var/lib/dpkg/status'"). De quoi s'agit-il ?

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 /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 /sw/var/lib/dpkg/status-old /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: Des messages d'erreurs concernant freetype apparaissent. Que faire ?

A: Il y a plusieurs types d'erreurs concernant freetype. Si le message d'erreur ressemble au suivant :

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

Vérifiez que vous n'avez pas un exécutable freetype-config dans un endroit insolite via la commande :

where freetype-config

si vous utilisez tcsh, ou :

type -a freetype-config

si vous utilisez bash. La framework Mono installe /usr/bin/freetype-config en tant que lien symbolique vers un fichier de cette framework.

Si le message d'erreur ressemble au suivant :

/sw/include/pango-1.0/pango/pangoft2.h:52: 
error: parse error before '*' token 
/sw/include/pango-1.0/pango/pangoft2.h:57:
error: parse error before '*' token
/sw/include/pango-1.0/pango/pangoft2.h:61: 
error: parse error before '*' token 
/sw/include/pango-1.0/pango/pangoft2.h:86: 
error: parse error before "pango_ft2_font_get_face"
/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 à celui-ci :

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 encore à celui-là :

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

le problème est dû à une confusion entre les headers des paquets freetype ou de freetype-hinting et les headers freetype2 qui sont inclus dans X11 ou dans XFree86. La commande :

fink remove freetype freetype-hinting

supprime la variante que vous avez installée. À contrario, si le message d'erreur est similaire à celui-ci :

ld: Undefined symbols: _FT_Access_Frame

cela est dû à la présence d'un fichier résultant d'une installation précédente de X11. Réinstallez X11 SDK.

Q6.15: Des messages d'erreur concernant `Dl_info' apparaissent. Que faire ?

A: Si vous avez des messages d'erreur similaire à celui-ci :

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

vous avez certainement un header /usr/local/include/dlfcn.h, incompatible avec Panther. Déplacez-le.

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

Ce header est, en général, installé par Open Office, et vous devez le remplacer, de même que la bibliothèque /usr/local/lib/libdl.dylib, par des liens symboliques vers les fichiers inclus dans 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: Fink signale que les paquets gcc2 ou gcc3.1 n'existent pas, mais il ne semble pas possible de les installer. Que faire ?

A: gcc2 et gcc3.1 sont des paquets virtuels qui indiquent la présence de gcc-2.95 ou de gcc3.1 dans votre système. Installez les paquets gcc2.95 ou gcc3.1 à partir de XCode Tools (les versions précédentes du système opératoire inclut gcc-2.95 dans l'installation standard des Developer Tools).

Note : L'installation de gcc2.95 et / ou de gcc3.1 n'interfère pas avec le compilateur gcc3.3. Ils peuvent coexister.

Q6.17: Fink signale qu'il ne peut résoudre la dépendance "system-java14-dev", mais il n'existe pas de paquet system-java14-dev (message en anglais Failed: Can't resolve dependency "system-java14-dev"). Que faire ?

A: Ce paquet est un paquet virtuel. Ce type d'erreur apparaît quand Java est mis à jour via Mise à jour de Logiciels : les headers sont supprimés, ce qui empêche la création du paquet -dev.

Vous devez télécharger le paquet approprié des Java Developer Tools à partir du site d'Apple. Dans le cas ci-dessus, il s'agit du paquet Java 1.4.2 Developer Tools.

Q6.18: Lors de l'installation d'un paquet, un message d'erreur apparaît signalant que dpkg n'arrive à exécuter dpkg-split pour vérifier si le paquet fait partie d'un paquet multiple (message en anglais : dpkg (subprocess): failed to exec dpkg-split to see if it's part of a multiparter: No such file or directory). Que faire ?

A: Ce problème se résout, en général, par la définition correcte de votre environnement, cf. cette partie des QFP.

Q6.19: Un message d'erreur signalant que le module Perl XML est requis par intltool apparaît (message en anglais: configure: error: XML::Parser perl module is required for intltool). Que faire ?

A: Si vous utilisez l'arbre instable, you devez installer une version de intltool supérieure ou égale à la version 0.34.1.

Sinon, vous devez vérifier que vous avez la variante du paquet qui correspond à la version de Perl installée dans votre système. Par exemple, sous Panther, vous devez avoir xml-parser-pm581 et non pas xml-parser-pm560 (il se peut que vous ayez le paquet fantôme xml-parser-pm), car, dans votre système est installé Perl-5.8.1 et non pas Perl-5.6.0. Sous Jaguar, vous devez avoir la variante pm560 si vous utilisez la version système de Perl; si vous avez installé Perl 5.8.0, vous devez avoir la variante pm580.

Q6.20: Lors du téléchargement d'un paquet, Fink tente de le faire à partir d'un site dont le nom contient distfiles et ne trouve pas le fichier. Que faire ?

A: Fink tente d'utiliser l'un de ses sites Maîtres. Ils servent à garantir que les sources des paquets de Fink sont disponibles même lorsque le site original a changé d'adresse. Cette erreur apparaît lorsqu'une nouvelle version d'un paquet est publiée, mais que les miroirs maîtres n'ont pas encore eu le temps de la prendre en compte.

Pour pallier cela, exécutez fink configure et changez l'ordre de recherche de telle sorte que les miroirs maîtres soient utilisés en dernier.

Q6.21: Comment utiliser des options variables lors de la compilation d'un paquet ?

A: La première chose à faire est de contacter le mainteneur du paquet pour lui demander d'introduire une variante dans le paquet. Cela peut être relativement facile à faire. Si le mainteneur ne vous répond pas ou si vous ne voyez pas apparaître de nouveaux paquets correspondant à votre demande, ou que vous vouliez essayer de faire le changement vous-même, étudiez le Tutoriel d'empaquetage et le Guide de construction de paquets.

Note : Fink est volontairement initialisé de telle façon que tous les paquets binaires officiels soient identiques quelle que soit la machine sur laquelle ils sont construits. C'est ainsi qu'il n'y aura jamais d'optimisation pour le G5 dans un paquet officiel. Si vous voulez ce type d'option, il vous faudra le faire vous-même.

Q6.22: Whenever I try to build from source, Fink keeps waffling between alternate versions of the same library.

A: Often, in a complicated build tree, you may find that some of the packages depend on a particular version of a library, and other depend on a different one (e.g. db47 vs. db44). Consequently, Fink may try to switch to whichever one isn't currently installed in order to satisfy the build dependency for the current package that you're trying to update.

Unfortunately, due to limitations in the build-dependency engine, you may wind up with the dreaded

Fink::SysState: Could not resolve inconsistent dependencies

message when trying a sufficiently complicated update-all. This generally gives you a command to try to resolve the issue:

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

but this may not work for sufficiently complicated updates. You might need to update packages one-by-one, at least for a while.

Q6.23: Un message d'erreur comportant MACOSX_DEPLOYMENT_TARGET apparaît lors de la compilation d'un module Python. Que faire ?

A: Si le message ressemble au suivant :

running build
running build_ext
Traceback (most recent call last):
  File "setup_socket_ssl.py", line 21, in ?
    depends = ['socketmodule.h'] )
  File "/sw/src/root-python24-2.4.1-1/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 /sw/bin/python2.4 failed, exit code 1

le problème apparaît parce que les paquets python2* notent la valeur en cours de MACOSX_DEPLOYMENT_TARGET dans un fichier de configuration lors de leur compilation. Les outils de compilation de python utilisent ensuite cette valeur lorsqu'ils compilent des modules. Par exemple, si avez sous Mac OS X 10.4 un paquet python24 qui a été compilé sous Mac OS X 10.3, soit par mise à jour 10.3 => 10.4, ou via la distribution binaire 10.4-transitionelle, et qui n'a pas été recompilé, il y aura divergence entre la valeur de MACOSX_DEPLOYMENT_TARGET stockée dans le fichier de configuration de python (10.3) et sa valeur réelle (10.4).

La solution de ce problème consiste à recompiler le paquet python en cause ; dans notre exemple, fink rebuild python24.

Si vous obtenez le même genre d'erreur au runtime, recompilez le module après avoir recompilé le paquet python2* concerné.

Q6.24: Un message d'erreur signalant que libtool ne reconnait pas l'option '-dynamic' apparaît (message en anglais libtool: unrecognized option `-dynamic'). Que faire ?

A: Le message :

 libtool: unrecognized option `-dynamic'

signifie que vous avez remplacé la commande /usr/bin/libtool d'Apple par la commande GNU libtool. Malheureusement les deux libtools ne font pas la même chose.

La seule manière de résoudre le problème est d'installer une version de libtool d'Apple en provenance d'ailleurs. Il fait partie du paquet DeveloperTools.pkg de XCode. Vous pouvez réinstaller le paquet si vous supprimez d'abord son reçu situé dans le répertoire /Library/Receipts (glissez-le dans la corbeille sur les systèmes Mac OS X 10.4 et ultérieurs ou exécutez la commande sudo rm -rf /Library/Receipts/DeveloperTools.pkg pour le système Mac OS X 10.3).

7 Problèmes de compilation spécifiques à certains paquets

Q7.1: La compilation d'un paquet échoue avec des messages d'erreur concernant sed. Que faire ?

A: Ceci peut se produire si votre script de connexion (par exemple ~/.cshrc) lance une commande qui écrit dans le terminal. Par exemple : "echo Hello" ou xttitle. Pour résoudre le problème, la solution la plus simple est de mettre les lignes qui causent problème en commentaires.

Si vous voulez conserver l'écho, vous pouvez le faire ainsi :

if ( $?prompt) then 
echo Hello 
endif

Q7.2: Lors d'une tentative de passage aux paquets XFree86 de Fink, il est impossible d'installer le paquet xfree86-base ou le paquet xfree86, car ils entrent en conflit avec le paquet system-xfree86. Que se passe-t-il ?

A: Toutes les variantes de X11, doivent, malheureusement, être installées au même endroit, à savoir dans le répertoire /usr/X11R6. C'est pourquoi, les paquets de Fink xfree86-base et xfree86-rootless s'installent également à cet endroit. Néanmoins, comme Fink ne supprime pas les fichiers qui ne figurent pas dans sa base de données, il ne remplace pas automatiquement une installation de X11 faite hors de Fink.

Voici comment procéder pour résoudre le problème :

Note : les utilisateurs de Mac OS X 10.2.x ayant une version de Fink à jour (c'est-à-dire >=0.16.2) et les utilisateurs de Mac OS X 10.3.x doivent sauter l'étape 1 ci-dessous (de toute façon, elle ne fonctionne pas pour eux).

Étape 1. Supprimez le paquet system-xfree86. Si vous n'avez aucun paquet qui dépend de X11, c'est tout simple. Toutefois, il est fréquent que de nombreux paquets dépendant de X11 soient installés. Dans ce cas, au lieu de tous les désinstaller, vous pouvez utiliser la commande :

sudo dpkg --remove --force-depends system-xfree86

pour supprimer le paquet system-xfree86, ce qui laisse tout le reste en place. Si le paquet system-xfree86 n'est pas installé, passez à l'étape 3.

Étape 2. Supprimez l'application XFree86 via la commande :

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

Si vous aviez installé l'application X11 d'Apple auparavant, supprimez-la également.

Étape 3. Pour installer l'application XFree86-4.2.1, installez les paquets Fink xfree86-base et xfree86-rootless comme vous le faites d'habitude : via la commande "fink install" pour les utilisateurs de sources, ou bien les commandes "apt-get install" ou dselect pour les utilisateurs de binaires.

- ou -

Étape 3a. Pour installer l'application XFree86-4.3.x ou une version postérieure, installez le paquet Fink xfree86 via la commande "fink install xfree86". La version la plus récente (XFree86-4.4.x à la date du 25 mai 2004) n'est pas encore dans la distribution binaire et n'est disponible que dans l'arborescence instable. Voir comment installer un paquet instable.

Q7.3: Comment passer de la version sans processus légers à la version avec processus légers (ou vice-versa) ?

A: Si vous avez installé la version Fink de XFree86 et que vous vouliez passer de la version sans processus légers de Fink à celle avec processus légers de Fink, vous devez supprimer l'ancienne version manuellement. Vous pouvez le faire via la ligne de commande comme ceci :

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 pour supprimer la version avec processus légers :

sudo dpkg -r --force-depends xfree86-base-threaded 
sudo dpkg -r --force-depends xfree86-shlibs-threaded 
sudo dpkg -r --force-depends xfree86-rootless-threaded 
sudo dpkg -r --force-depends xfree86-rootless-threaded-shlibs

FinkCommander peut aussi supprimer des paquets. Dans la fenêtre "source", sélectionnez un paquet et utilisez "Force Remove" dans le menu Source.

Si vous avez installé le paquet system-xfree86, voir la précédente question pour savoir comment le supprimer.

Installez la version désirée de xfree86 :

xfree86-base et xfree86-rootless

ou

xfree86-base-threaded et xfree86-rootless-threaded

via les commandes habituelles : "fink install" pour les utilisateurs de sources, "apt-get install" ou dselect pour les utilisateurs de binaires.

Q7.4: Lors de l'installation de KDE, un message signale que la dépendance au paquet "cctools (>= 446-1)" ne peut être résolue (message en anglais : 'Can't resolve dependency "cctools (>= 446-1)"'"). Que faire ?

A: Ce message quelque peu abscons signifie que vous devez installer les Developer Tools de décembre 2002.

Q7.5: Il est impossible de mettre à jour libiconv. Que faire ?

A: Si vous voyez apparaître des messages d'erreur semblables au suivant :

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

vous pouvez résoudre le problème en exécutant la commande :

fink remove gettext-dev
fink install libiconv

Q7.6: Il est impossible d'installer un paquet car le fichier c++filt n'existe pas. Où le récupérer ?

A: Si vous avez des erreurs similaires à la suivante :

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

après être passé sous Tiger, vous devez suivre les étapes suivantes :

Si le fichier /usr/bin/c++filt n'apparaît pas, recommencez les deux étapes précédentes jusqu'à ce qu'il apparaisse.

Q7.7: Fink refuse de mettre à jour le paquet gettext, car les dépendances sont incompatibles entre elles. Que faire ?

A: Exécutez d'abord la commande fink selfupdate pour vous assurer que vous avez bien les dernières versions des paquets. Puis exécutez la commande fink update gettext-tools. Une ancienne version de gettext-tools peut empêcher la mise à jour de gettext.

Q7.8: I can't install gtk+2 on OS 10.5

A: Typically this involves missing libraries, such as: /usr/X11/lib/libXrandr.2.0.0.dylib or /usr/X11/lib/libXdamage.1.1.0.dylib (or other versions of libraries in /usr/X11/lib/).

The current wisdom on the best fix for such an issue is to install Xcode 3.1.3 or later.

Q7.9: Des problèmes apparaissent avec un paquet qui n'est pas mentionné ici. Que faire ?

A: Comme les problèmes sur les paquets ont tendance à être transitoires, nous avons décidé de les mettre sur le wiki de Fink. Voyez la page Package issues.

8 Problèmes généraux d'utilisation de paquets

Q8.1: De nombreux messages signalant que la locale n'est pas gérée par la bibliothèque C apparaissent (message en anglais : "locale not supported by C library"). Est-ce un problème ?

A: Non, cela signifie juste que le programme va utiliser les messages, les formats de date, etc... anglais. Le programme fonctionnera normalement par ailleurs. Le document Utilisation de X11 donne de plus amples informations à ce sujet.

Q8.2: Un certain nombre d'étranges utilisateurs apparaissent tout d'un coup sur mon système. Ils portent, entre autres, les noms suivants : "mysql", "pgsql" et "games". D'où proviennent-ils ?

A: Vous avez utilisé Fink pour installer un paquet dépendant du paquet passwd. Ce paquet installe un certain nombre d'utilisateurs supplémentaires pour des raisons de sécurité - sur les systèmes Unix, les fichiers et les processus appartiennent aux "propriétaires", ce qui permet aux administrateurs système de moduler les autorisations et la sécurité du système. Les programmes Apache et MySQL, par exemple, doivent avoir un "propriétaire", et il n'est pas raisonnable que le super-utilisateur soit le propriétaire de ces démons. Imaginez ce qu'il arriverait si Apache était compromis et avait tout d'un coup l'autorisation d'écrire dans tous les fichiers du système. Le paquet passwd se charge donc de définir ces utilisateurs supplémentaires pour les paquets Fink qui en ont besoin.

Il peut être inquiétant de découvrir soudain un certain nombre d'utilisateurs inconnus dans votre panneau de "Préférences système : Utilisateurs" (sur Mac OS X 10.2.x) ou "Préférences système : Comptes" (sur Mac OS X 10.3.x), mais réfléchissez bien avant de les supprimer :

Fink vous demande la permission d'installer ces utilisateurs supplémentaires sur votre système lors de l'installation du paquet passwd, vous ne devriez donc pas être trop surpris de les découvrir après coup.

Q8.3: Comment compiler soi-même en utilisant des logiciels installés par 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/sw/include 
export LDFLAGS=-L/sw/lib 
export CXXFLAGS=$CFLAGS 
export CPPFLAGS=$CXXFLAGS 
export ACLOCAL_FLAGS="-I /sw/share/aclocal"
export PKG_CONFIG_PATH="/sw/lib/pkgconfig"
export PATH=/sw/var/lib/fink/path-prefix-10.6:$PATH
export MACOSX_DEPLOYMENT_TARGET=10.5

-tcsh-

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

(assuming that the build system is running OS 10.5 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/sw/include" (for headers) and "-L/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: Il est impossible d'exécuter une application installée par Fink en utilisant le menu Applications dans X11 d'Apple. Que faire ?

A: L'application X11 d'Apple ne garde pas trace des variables d'environnement de Fink, ce qui signifie que son menu Applications n'a pas dans la variable PATH le chemin permettant de trouver les applications Fink. Vous pouvez résoudre ce problème en ajoutant devant le nom d'une application installée via Fink la commande suivante :

source /sw/bin/init.sh ;

Par exemple, si vous voulez lancer GIMP installé via Fink, choisissez "Personnalisez le menu" dans le menu Applications et saisissez :

source /sw/bin/init.sh ; gimp

dans le champ "Commande" en regard du nom de menu GIMP.

Vous pouvez aussi modifier le fichier .xinitrc, situé dans votre répertoire utilisateur, et y ajoutez la commande suivante :

source /sw/bin/init.sh

après la première ligne.

Q8.5: Il y a de nombreuses options pour X11 : X11 d'Apple, XFree86, etc... Laquelle installer ?

A: Toutes ces options sont des variantes de XFree86 - toutes basées sur le code de XFree86, mais il y a de légères différences entre elles. Les options proposées sont différentes sous Panther et sous Jaguar.

Sous Panther, vous avez le choix entre :

Sous Jaguar, les choix les plus courants et les paquets Fink qui leur correspondent sont les suivants :

Il existe encore d'autres options. Vous trouverez tous les détails dans le document Utilisation de X11.

Q8.6: Au lancement d'une application, un message signale que la fenêtre d'affichage ne peut être ouverte (message en anglais: "cannot open display:"). Que faire ?

A: Cette erreur signifie que le système n'est pas connecté à l'affichage X. Assurez-vous que vous avez suivi les étapes suivantes :

1. Démarrer X (X11 d'Apple, XFree86, ...).

2. Vérifier que la variable d'environnement DISPLAY est définie correctement. Si vous utilisez les paramètres par défaut pour X, vous pouvez la définir de la façon suivante :

setenv DISPLAY :0

si vous utilisez tcsh, ou

export DISPLAY=:0

si vous utilisez bash.

Q8.7: Certains programmes ne sont pas disponibles via Fink. Comment faire en sorte qu'ils soient inclus dans Fink ?

A: Déposez une requête dans le Traqueur de requêtes de paquet (Package Request Tracker en anglais) accessible sur la page du projet Fink.

Notez que vous devez avoir un identifiant SourceForge pour ce faire.

Q8.8: À quoi correspondent les "paquets virtuels" system-* qui apparaissent de-ci de-là, mais qu'il ne semble pas possible d'installer ou de supprimer soi-même ?

A: Les paquets tel system-perl sont des paquets fantômes. Ils ne contiennent aucun fichier, mais font partie d'un mécanisme qui permet à Fink de savoir quels programmes ont été installés en dehors de Fink.

À partir de la distribution 10.3, la plupart de ces paquets fantômes ne sont même plus des paquets réels que vous pouvez installer ou supprimer. Ce sont des "Paquets virtuels", c'est-à-dire des structures de données de paquets générées par le programme fink au vu d'une liste préconfigurée de paquets installés manuellement. Pour chaque paquet virtuel, fink vérifie l'existence de certains fichiers à certains emplacements. S'ils les trouvent, il considère que le paquet virtuel correspondant est "installé".

Vous pouvez exécuter le programme fink-virtual-pkgs (qui fait partie du paquet fink) pour obtenir la liste des choses que fink considère comme installées. En ajoutant l'option --debug, vous obtiendrez la liste des tests que fink effectue.

Malheureusement, il n'existe pas de mécanisme qui permette à Fink de reconnaître un paquet arbitraire installé hors de fink, l'empêchant ainsi d'installer sa propre version dudit programme. C'est beaucoup trop difficile de tester les options de configuration et de compilation, les chemins, etc... dans le cas général.

Voici les paquets virtuels les plus importants définis par fink (à partir de la version 0.19.2) :

9 Problèmes d'utilisation spécifiques à certains paquets

Q9.1: Aucun son n'est disponible dans XMMS. Que faire ?

A: Vérifiez que vous avez sélectionné "eSound Output Plugin" dans les préférences de XMMS. Pour d'obscures raisons, c'est le plugin d'écriture sur le disque qui est sélectionné par défaut.

Si cela ne résout pas le problème ou si XMMS se plaint qu'il ne peut trouver votre carte son, essayez ceci :

Notez que esd est conçu pour être lancé par un utilisateur lambda, pas par le super-utilisateur. Il communique, en général, via la socket système /tmp/.esd/socket. Vous n'avez besoin des options -tcp et -port que si vous voulez lancer des clients esd sur une autre machine du réseau.

Certaines personnes ont signalé que XMMS se plantait ou se bloquait sur 10.1. Il n'y a pas eu à ce jour d'analyse ou de solution à ce phénomène.

Q9.2: Lors de la modification d'un fichier dans nedit, si l'on tente d'ouvrir un autre fichier, sa fenêtre apparaît mais elle ne répond pas. Que faire ?

A: C'est un problème connu qui se produit avec des versions récentes de nedit et lesstif sur toutes les plates-formes. La solution est d'ouvrir une nouvelle fenêtre via le menu File-->New, puis d'ouvrir le nouveau fichier sur lequel vous voulez travailler.

Ce problème est résolu dans la version nedit-5.3-6, qui dépend d'openmotif3 et non plus de lesstif.

Q9.3: XDarwin quitte immédiatement après lancement. Que faire ?

A: Pas de panique. Vous trouverez dans le document Utilisation de X11 une large section résolution de problèmes à ce sujet.

Q9.4: Au démarrage de XDarwin, un message indique que le fichier xinit est introuvable et qu'il n'existe pas de server X accessible dans le répertoire /usr/X11R6/bin (message en anglais : "xinit: No such file or directory (errno 2): no server "/usr/X11R6/bin/X" in PATH"). Que faire ?

A: Tout d'abord, vérifiez que vous sourcez init.sh dans le fichier de démarrage de X ~/.xinitrc.

Sous Jaguar, il arrive parfois que tous les paquets xfree86 soient compilés, mais que seuls les paquets xfree86-base et xfree86-base-shlibs soient installés. Vérifiez que les paquets xfree86-rootless et xfree86-rootless-shlibs sont installés. Si ce n'est pas le cas, lancez fink install xfree86-rootless. Cela devrait résoudre le problème.

Si ces paquets sont installés, essayez la commande fink rebuild xfree86-rootless. Si cela ne marche pas, vérifiez que le répertoire /usr/bin/X11R6 est dans votre PATH.

Q9.5: Comment avoir sous X11 d'Apple le même comportement de la touche suppr que sous XDarwin ?

A: Certains utilisateurs ont signalé que la touche suppr se comporte différemment sous XDarwin et sous X11 d'Apple. On peut rectifier cela en ajoutant les lignes suivantes au fichier de démarrage approprié de X :

Dans le fichier .Xmodmap, rajoutez la ligne :

keycode 59 = Delete

Dans le fichier .Xresources, rajoutez les lignes :

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

Dans le fichier .xinitrc, rajoutez les lignes :

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

Q9.6: Après passage de GNOME 1.x à GNOME 2.x, le programme gnome-session n'ouvre plus de gestionnaire de fenêtres. Que faire ?

A: Alors que, sous GNOME 1.x, gnome-session invoque automatiquement le gestionnaire de fenêtres sawfish, sous GNOME 2.x, vous devez vous-même appeler un gestionnaire de fenêtres dans le fichier ~/.xinitrc avant de lancer gnome-session, par exemple :

... 
exec metacity & exec gnome-session

Note : ceci n'est plus vrai pour GNOME 2.4. Le lancement de gnome-session invoque un gestionnaire de fenêtres.

Q9.7: Après passage à X11 d'Apple sous Panther, les barres de titre de fenêtre n'apparaissent plus. Que faire ?

A: Vous n'êtes pas passé à la version "X11 1.0 - XFree86 4.3.0" incluse dans Panther. Vous devez installer X11 à partir du paquet X11.pkg qui est situé sur le disque 3.

Q9.8: I'm having problems with X11 and Fink.

A: There are two possibilities to consider.

Q9.9: Des problèmes persistent entre X11 et Fink. Que faire ?

A: Si les solutions données aux sections Fink continue à vouloir installer XFree86 ou X.org ou Fink veut installer XFree86 ne résolvent pas votre problème, ou ne sont pas applicables à votre cas, vous devrez supprimer entièrement X11 et tous les paquets fantômes antérieurs ainsi que les paquets relatifs à X11, qu'ils soient installés partiellement ou non via les commandes:

On Leopard, use

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

Then, on either 10.4 or 10.5, run

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
fink selfupdate; fink index

(the first line may give you warnings about trying to remove nonexistent packages). Then, reinstall Apple's X11 (and the X11SDK, if needed), or, if you're on 10.4, an alternative X11 implementation, like XFree86 or X.org.

If you are still having problems then you can run

fink-virtual-pkgs --debug

pour savoir quels sont les paquets manquants.

Si vous utilisez une version antérieure de fink, vous pouvez télécharger et lancer un script Perl, écrit par Martin Costabel, qui fournit les mêmes informations.

Q9.10: Après passage à Tiger (Mac OS X 10.4), des erreurs à propos de _EVP_idea_cbc apparaissent chaque fois qu'on utilise une application Gtk. Que faire ?

A: Ceci était, apparemment, dû à un bogue dans le chargeur de liens dynamiques de Tiger (au moins jusqu'à la version 10.4.1), mais il semble être corrigé dans la version 10.4.3. Fink proposait une solution dans le fichier base-files-1.9.7-1 et les versions suivantes.

Si vous n'êtes pas passé à Tiger et/ou n'avez pas mis à jour le paquet base-files, vous pouvez corriger ce problème en préfixant le nom du logiciel que vous souhaitez lancer avec le fragment de code suivant :

env DYLD_FALLBACK_LIBRARY_PATH=: 

Par exemple si vous voulez lancer gnucash, utilisez la commande :

env DYLD_FALLBACK_LIBRARY_PATH=: gnucash

Cette méthode fonctionne pour les applications lancées à partir du menu Applications de X11 d'Apple ou à partir du terminal.

Vous pouvez aussi déclarer la variable au niveau global (par exemple dans votre script de démarrage et/ou dans votre fichier.xinitrc, ce qui peut-être nécessaire pour faire tourner GNOME). Mettez le fragment de code suivant :

export DYLD_FALLBACK_LIBRARY_PATH=:

dans votre fichier .xinitrc (quel que soit votre shell d'ouverture de session) ou dans le fichier .profile (ou tout autre script de démarrage) pour les utilisateurs de bash.

setenv DYLD_FALLBACK_LIBRARY_PATH :

est la commande équivalente à utiliser, par exemple dans votre fichier .cshrc pour les utilisateurs de tcsh.

Note : ceci est fait automatiquement quand on installe une version suffisamment récente du fichier base-files.

Q9.11: Il est impossible d'accéder à l'aide dans aucune application GNOME. Que faire ?

A: Vous devez installer le paquet yelp. Ce paquet n'est pas inséré dans le fagot GNOME, car il utilise des outils cryptographiques, et nous avons décidé de ne pas installer l'ensemble de GNOME dans la branche cryptographique, juste pour pouvoir utiliser le système d'aide.


Copyright Notice

Copyright (c) 2001 Christoph Pfisterer, Copyright (c) 2001-2015 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.fr.xml,v 1.83 2012/11/11 15:20:14 gecko2 Exp $