alliance-support '2000
Compilation Alliance sur Alpha-Linux


Normand A. Leclerc (lecn1306@ele.etsmtl.ca)
Wed, 11 Oct 2000 16:48:43 -0400

Mesdames, Mesieurs, Je suis déjà entré en contact avec vous pour obtenir de l'aide afin de me permettre de compiler Alliance sur Alpha-Linux (RedHat 6.2 Axp). Le problème est que les int sont 32 bits, les pointeurs sont 64bits et qu'un peu partout dans le code, des type cast sont effectués de pointeurs à int et vice-versa. Une suggestion m'a été proposée mais il semble que cette option ne puisse pas s'appliquer à la plateforme Alpha-Linux. La solution qui m'a été proposée est la suivante: ------------------------------- From: Arnaud CARON <Arnaud.Caron@lip6.fr> Avec gcc, la methode la plus simple est d'utiliser les pragma: #ifdef __osf__ #define pointer_size save #define pointer_size short #endif Ici, les pointeurs ne font que 32 bits... #ifdef __osf__ #define pointer_size restore #endif Et hop, ils font a nouveau 64 bits... ----------------------------------- Or, lorsque j'écris le simple programme qui suit: #include <stdio.h> int main(void) { printf("sizeof ptr: %u\n", sizeof(void*)); #define pointer_size short printf("sizeof ptr: %u\n", sizeof(void*)); } Le resutlat reste 8 dans les deux cas. Je ne peux donc pas compiler Alliance sur ma station. J'ai tenté de m'armer de patience et de modifier le code a bras mais je me suis essouflé. De plus, si je modifie le code, je devrais le re-modifier a chaque nouvelle version (qui est tres deplaisant). Avez-vous une idée? Normand Leclerc lecn1306@ele.etsmtl.ca

 



Alliance Web Site © 1997, 2002 ASIM/LIP6/UPMC, page maintained by Czo [Olivier Sirol] , last updated on 22 March 2001.