[HS?] Compilation perl 5.12.3 : impossible

Bonjour

J’utilise la debian squeeze, avec la dernière version de gcc.

J’ai tenté à plusieurs reprises de compiler Perl 5.12.3 mais la commande “make” échoue avec le message d’erreur ci-dessous. Quelqu’un a une idée ?

root@romook:/home/romook/working_progress/perl-5.12.3# make
sh cflags "optimize=''" miniperlmain.o miniperlmain.c
CCCMD = gcc -DPERL_CORE -c -D_POSIX_SOURCE -std=c89 -Wall -ansi -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc+±compat
Dans le fichier inclus à partir de perl.h:5704,
à partir de miniperlmain.c:40:
/usr/include/sys/ipc.h:25:3: attention : #warning “Files using this header must be compiled with _SVID_SOURCE or _XOPEN_SOURCE”
sh cflags "optimize=''" malloc.o malloc.c
CCCMD = gcc -DPERL_CORE -c -D_POSIX_SOURCE -std=c89 -Wall -ansi -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc+±compat
Dans le fichier inclus à partir de perl.h:5704,
à partir de malloc.c:315:
/usr/include/sys/ipc.h:25:3: attention : #warning "Files using this header must be compiled with _SVID_SOURCE or _XOPEN_SOURCE"
malloc.c:883: erreur: ‘caddr_t’ undeclared here (not in a function)
malloc.c: In function ‘getpages’:
malloc.c:1694: attention : comparaison entre des expressions entières signée et non signée
malloc.c:1706: attention : implicit declaration of function ‘sbrk’
malloc.c:1706: attention : transtypage vers un pointeur depuis un entier de taille différente
malloc.c:1753: attention : transtypage vers un pointeur depuis un entier de taille différente
malloc.c:1777: attention : transtypage vers un pointeur depuis un entier de taille différente
malloc.c: In function ‘getpages_adjacent’:
malloc.c:1845: attention : transtypage vers un pointeur depuis un entier de taille différente
malloc.c: In function ‘morecore’:
malloc.c:1998: erreur: expected ‘)’ before ‘ovp’
malloc.c:1999: erreur: expected ‘)’ before ‘ovp’
malloc.c:2007: erreur: expected ‘)’ before ‘nextf’
malloc.c: In function ‘Perl_mfree’:
malloc.c:2035: erreur: expected ‘)’ before ‘cp’
malloc.c: In function ‘Perl_realloc’:
malloc.c:2143: erreur: expected ‘)’ before ‘cp’
malloc.c: In function ‘Perl_malloced_size’:
malloc.c:2377: erreur: expected ‘)’ before ‘p’
malloc.c:2374: attention : unused parameter ‘p’
make: *** [malloc.o] Erreur 1

Bonjour

Après avoir relancé plusieurs le processus de configuration ($ sh Configure), j’ai finalement découvert que les chemins employés par défaut pour perl menaient souvent à /usr/local/bin ou /usr/local/lib, /usr/share/lib … Or, dans ma configuration, la plupart de ses répertoires sont totalement vides.

En faisant pointer le chemin de recherche des librairies vers /lib/ tous les problèmes ont été résolus. :041

Plus de messages d’erreur, tout va bien :slightly_smiling:

Merci de m’avoir lu et bon week end.

Romook