Bonjour,

Questions � propos de la compilation des sources d'un .deb.

1) Afin de tirer profit de mon pentium III, j'ai initialis� la variable
CFLAGS dans /etc/profile de la fa�on suivante :
CFLAGS = -O9 -funroll-loops -ffast-math -malign-double -march=prentiumpro
-mcpu=pentiumpro -fomit-frame-pointer -fno-exceptions (tir� d'un pdf sur la
s�curisation et l'optimisation d'une redhat).
Le probl�me avec cette m�thode est que je suis oblig�, avant de compiler, de
v�rifier qu'elle ne rentre pas en conflit avec des optimisations d�j�
d�finies. Exemple de conflit : 
gcc -O9 -funroll-loops -ffast-math -malign-double -march=prentiumpro
-mcpu=pentiumpro -fomit-frame-pointer -fno-exceptions -O2 -m486...

J'avais aussi utilis� DEBIAN_BUILDARCH=pentium (quelque chose dans ce genre)
que j'avais trouv� dans le package pentium-builder.
Mais cette variable n'avait pas l'air d'�tre utilis�e.

Or je me suis aper�u que les variables d'environnement suivantes �taient
utilis�es:

DEB_BUILD_ARCH=i386
DEB_BUILD_GNU_CPU=i386
DEB_BUILD_GNU_SYSTEM=linux
DEB_BUILD_GNU_TYPE=i386-linux
DEB_HOST_ARCH=i386
DEB_HOST_GNU_CPU=i386
DEB_HOST_GNU_SYSTEM=linux
DEB_HOST_GNU_TYPE=i386-linux

Est ce que je peux utiliser DEB_BUILD_GNU_CPU ou DEB_HOST_GNU_CPU pour
indiquer que je veux compiler pour un i686 afin d'avoir un binaire optimis�
et me passer de la red�finition de CFLAGS.

Est ce qu'il y a un fichier de config dans lequel je puisse red�finir des
variables pour la compilation (comme pour les rpms avec .rpmrc et
.rpmacros).

Bien s�r pour pouvoir tirer profit de mon PIII, il faudrait que tous les
.deb soient compil�s avec les bons flags. Mais pour l'instant je n'ai pas
assez d'exp�rience dans compilation des debs pour faire une D�bian 2.2
depuis une Linux From Scratch.

Malheureusement une des cons�quences de l'optimisation est de ne plus
pouvoir utiliser :
apt-get upgrade ou apt-get dist-upgrade.
D'o� ma question suivante : Est il envisag� par D�bian de mettre �
disposition des debs pour processeurs r�cents?
Cette disposition serait sur le web, au contraire de la version CD, qui elle
restait toujours pour les i386. Le passage de 386 � 686 pourrait se faire
par une sorte de apt-get dist-upgrade. 

2) Pour compiler j'utilisais fakeroot dpkg-buildpackage -b. Le probl�me est
que la variable PATH utilis�e est celle de mon user normal et non celle de
root. Exemple : pour la compilation de e2fsprogs ou de util-linux (je ne
sais plus), j'ai eu une erreur m'informant qu'il n'avait pas trouv�
ldconfig. Dans mon path j'ai ajouter /sbin (seulement pour la compilation et
non pas en dur) mais je trouve cela pas tr�s propre.

Existe t-il une diff�rence entre fakeroot dpkg-buildpackage -b et
dpkg-buildpackage -rfakeroot?
Laquelle de ces commandes vaut-il mieux utiliser? Ou est ce les m�mes ?  
fakeroot dpkg-buildpackage -b
dpkg-buildpackage -rfakeroot
fakeroot .debian/rules binary (je ne suis pas s�r que ce soit la syntaxe
exacte car je ne suis pas sur ma machine )

3) Est ce normal que la compilation ne s'arr�te pas lorsqu'elle ne peut pas
compiler un des ex�cutables?
Exemple : pour compiler les sources du package contenant genksyms j'avais
oubli� d'installer bison. J'ai eu une erreur m'indiquant que bison n'�tait
pas install� mais la compilation ne s'est pas arr�t�e. 


Merci


Laurent


Laurent Brayard (Syseca)
DSIT EG/RE
Batignolles 2 , 54B


Répondre à