L’auteur, Yaroslav Bombov, expert en systèmes de contrôle automatisés avec plus de trente ans d’expérience, partage son retour d’expérience sur la compilation du compilateur OpenWatcom (OW) version 1.9 pour QNX4 sous Debian 12, puis son intégration dans Eclipse. La motivation vient d’un besoin concret : modifier du code dans un contrôleur fonctionnant sous QNX4, un système vieillissant mais toujours en production après deux décennies. Plutôt que de recourir à des solutions obsolètes comme mcedit directement sous QNX4, il opte pour une approche moderne en utilisant Eclipse, malgré l’absence de binaires fonctionnels d’OpenWatcom pour Linux.
La première étape consiste à compiler OpenWatcom depuis les sources, téléchargées et extraites dans un répertoire OW19. Les tentatives initiales échouent en raison d’incompatibilités architecturales : Debian 12 en 64 bits ne permet pas une compilation native pour des cibles 32 bits. L’auteur installe alors les outils multiarch (binutils-multiarch, gcc-multilib, libc6-i386, etc.) et configure manuellement les scripts de build. Plusieurs ajustements sont nécessaires : modification du shebang de build.sh pour utiliser bash, ajout de chemins explicites vers les compilateurs 32 bits (i686-linux-gnu-gcc), et corrections dans les fichiers de configuration (local.mif, master.mif) pour forcer l’utilisation des bibliothèques 32 bits et résoudre des erreurs de linkage (comme l’absence de clib3r.lib).
Après une série d’itérations — incluant la désactivation de modules inutiles comme os2ldr et l’ajout de flags spécifiques pour les bibliothèques QNX — la compilation aboutit enfin dans le répertoire rel2. Un test minimal avec un hello.c confirme la génération d’un exécutable QNX 32 bits, bien que l’outil wcl386 se révèle peu fiable pour des projets complexes, incitant à privilégier wcc386 (compilateur) et wlink (éditeur de liens) séparément.
La seconde phase concerne l’intégration dans Eclipse (version 2025-06 avec les plugins C/C++ et Embedded). Un projet C Managed Build est créé, avec une configuration simplifiée (uniquement en mode Release), sans préfixe de compilateur croisé. Les binaires d’OpenWatcom et les bibliothèques QNX 4.25 sont organisés dans /opt/qnx4, structuré en sous-répertoires host (outils) et target (bibliothèques et en-têtes). L’auteur souligne un piège courant : les problèmes d’encodage (UTF-8 vs CP866/CP1251), nécessitant de configurer explicitement la page de codes du projet dans Eclipse pour éviter des sorties invisibles ou des erreurs d’affichage, notamment avec du texte cyrillique sous QNX.
Le processus, bien que laborieux, illustre comment moderniser une chaîne de développement pour un système hérité en combinant outils contemporains et ajustements techniques ciblés. Les modifications apportées aux fichiers de configuration sont détaillées via un diff, offrant une base reproductible pour des cas similaires.