L'outil "ar" classique de Binutils n'échoue pas si une bibliothèque spécifiée dans la ligne de commande n'existe pas. Il affiche uniquement le message "ar: < _library_name _>. A: Aucun fichier ou répertoire", mais le code de retour est zéro.
Cela rend parfois très difficile l'analyse des problèmes de construction, car on passe beaucoup de temps à trouver pourquoi certaines fonctions manquent dans le binaire résultant.L'outil "ar" permet la création d'une bibliothèque vide
Pourquoi un tel comportement? Vraiment les utilisateurs les plus Linux trouvent cela correct? Pourquoi ne pas ajouter au moins une option pour échouer?
ar -V
GNU ar (GNU Binutils for Ubuntu) 2.24
Probablement, je dois élaborer les conditions de reproduction. Je lance la commande de cette façon: $ ar -r résultat.Procédé \ 'cat /tmp/00000000.lnk_11310 \' chat: /tmp/00000000.lnk_11310: Aucun fichier ou répertoire ar: créer résultat.Procédé $ cat résultat.a ! Normalement, le fichier /tmp/00000000.lnk_11310 doit contenir la liste des fichiers * .o, mais lorsqu'il est vide (en raison d'un autre problème), alors "ar" produit la bibliothèque vide. –