Sur les chemins de GNU/Hurd

Palaiseau, le mardi 29 juin 2021

Cher Journal,

je suis en train de préparer le terrain pour les futures versions de biobambam2, un logiciel de bioinformatique, qui fait… des trucs. Avant de mettre à jour ce logiciel, je met à jour sa bibliothèque libmaus2. Comme on est en pleine période de gel, en préparation de la version 11 de Debian, les mises à jour dans Sid sont malvenues. Du coup, je pousse ma mise à jour dans la distribution experimental.

Par curiosité, je jette un œil sur les serveurs compilation, et là ça ne manque pas, la première erreur à apparaitre est sur le port Debian GNU/Hurd :

In file included from libmaus2/StaticInitialization.cpp:560:./libmaus2/bambam/BamHeader.hpp: In member function ‘void libmaus2::bambam::BamHeader::checkSequenceChecksums(std::string)’:
./libmaus2/bambam/BamHeader.hpp:179:85: error: ‘PATH_MAX’ was not declared in this scope
  179 |      libmaus2::autoarray::AutoArray<char> cwdspace(std::max(static_cast<uint64_t>(2*PATH_MAX),static_cast<uint64_t>(1)));
      |                                                                                     ^~~~~~~~

Ce n'est pas la première fois que je vois cette erreur sur des tentatives de compilation de ports pour GNU/Hurd, mais c'est la première fois que je décide d'essayer de résoudre le problème avec un peu de sérieux. Le noyau Hurd du système d'exploitation GNU n'impose aucune limite artificielle à la longueur des chemins dans les noms de fichiers ; c'est dommage de ne pas en profiter. Après une rapide recherche sur la manière la plus appropriée de déterminer un PATH_MAX, éventuellement artificiel, je tombe sur un article sur le PATH_MAX directement sur le site de GNU/Hurd. Et là, premier texte que je vois en fin de page :

Exercise: Fix the PATH_MAX issues in some Debian package.

Je n'ai pas pu m'empêcher de sourire, parce qu'il y a manifestement du boulot.  :)

La lecture complète de l'article, dans les minutes qui suivent, m'apprendra que c'est une proposition de tâche pour des candidates ou candidats au Google Summer of Code, préparée il y a presque dix ans. Le document contient un certain nombre de documents intéressants, notamment les bonnes pratiques pour le portage d'application pour GNU/Hurd. Je garde ce lien dans un coin, il pourra fort probablement servir ultérieurement.

[ICO]NameLast modifiedSize
[PARENTDIR]Parent Directory  -

  —