Thot et HP-UX 10 (Was: sed et Autoconf sur HPUX-10.20)

Bruno PIGUET (Bruno.PIGUET@meteo.fr)
Tue, 9 Dec 1997 12:40:30 +0100 (MET)

Bonjour,

Dans le message : <199712011524.QAA13998@tahiti.inrialpes.fr>
du "Mon Dec 1 16:24:37 1997", Irene VATTON écrivait :

> Il y a trop de parametres pour ta version de gestion de configuration.
>
> Voici un fichier "Configure" qui doit resoudre ton probleme.
[...]

Merci.
Le problème était effectivement lié au sed fourni par HP, qui est
limité à 100 commandes.
Plutôt que d'utiliser un "Configure" allégé, j'ai préféré installer
le sed de GNU (Sur les bons sites mirroirs de GNU, il est même disponible
déjà compilé car les script de configuration de GCC ont le même problème)
Ensuite, la compilation s'est déroulé sans trop de problèmes. Le binaire
de thot marche, ce qui m'a permis d'imprimer le "User's manuel". Par,
contre je n'ai pas encore réussi à créer un nouveau document. Mais
tout devrait aller mieux dès que j'aurais lu ce manuel...

Bruno.

PS : Je ne dois pas être le seul à utiliser HP-UX, alors voici quelques
détails sur ce que j'ai fait pour compiler.

Précisons que j'utilise gnu-sed et gnu-make, mais que je préfère
utiliser le compilateur HP, car la version locale de GCC est un peu
vieille.
Il faut bien veiller à ce que cpp (ou un script qui fait cc-E) soit
dans le PATH.
l'appel a configure est (en une seule ligne) :
MAKE=gnumake SED=/users/local/bin/sed CC=/bin/c89 CFLAGS="-D_HPUX_SOURCE -O"
../configure --prefix=/users/local --x-includes=/usr/include/X11R6
--x-libraries=/usr/lib/X11R6
Ensuite, lors du make, il y a pas mal de warning que l'on peut
ignorer, mais (hélas) quelques erreurs. Voici les méthodes que
j'ai utilisé pour les contourner. Je ne garantis pas que ce soit les
meilleures....
a) Lors de la compil. de dialogue/interface.o :
cc: "/usr/include/strings.h", line 34: error 1000: Unexpected symbol: "0".
Comme, a priori, strings.h est un "ancètre" de string.g, sans grande
utilité, j'ai carrément supprimé la définition de "HAVE_STRINGS_H"
dans config.h
b) Lors de la compil. de libjpeg/jcphuff.c (lignes 234 et 287). A
priori, c'est les "INLINE" que le compilateur n'aime pas. Je choisi une
solution radicale en commentant ces mots, comme c'est déjà fait dans
libjpeg/jchuff.c .
c) Un autre soucis vient de thot/UIcss.c. Le compilateur dit :
cc: "../../thot/UIcss.c", line 1120: error 1000: Unexpected symbol: "}".
cc: "../../thot/UIcss.c", line 1176: error 1000: Unexpected symbol:
"<END_OF_FILE>".
cc: error 2011: End of file encountered while attempting repair.
Dans le source, a cette ligne, y'a le default d'un switch vide (sans
aucune instruction). Il
suffit de rajouter un break;, et tout va bien.
d) Lors du link de print, j'obtiens l'erreur suivante :
/usr/ccs/bin/ld: Can't find library for -lThotTable
ça doit être un problème d'ordre des arguments dans la ligne de
commande.
--> modification (sauvage) de la ligne 293 du Makefile de thotlib.
Nouvelle version :
$(CC) $(LDFLAGS) -o $@ $(PRINT_OBJ) -L../tablelib -L. -lThotTable
-lThotEditor $(LIBS)