On Thu, 24 Aug 2000, Alessandro Vernet wrote:
> J'eusse espere qu'il y ait un moyen miracle permettant de packager un
> executable avec tous les so dont il depend en recreant ainsi un nouvel
oui. C'est possible. Il suffit de cr�er un package par so, et
de rendre le nouveau package d�pendant des pr�c�dents (au moins
Debian le fait pour certains anciens programmes il me semble).
> Windows. Pourquoi ceci est-il possible sous Windows et pas Linux (i.e. a
> moins d'utiliser -static)?
Windows a-t-il le concept de versions d'objets partag�s ? Si oui,
a-t-il le concept de plusieurs versions cohexistantes ? Je n'utilise
pas trop Windows, mais � ce que j'ai vu de l'installation de Windows
dans le pass�, il n'est pas rare qu'un programme X installe sa version
de la DLL sur une autre, et que cela casse ensuite d'autres programmes,
m�mes modernes.
Mais faisons une �quation simple;
UNIX == open source == facile de recompiler
so sous UNIX == versionables == facile � installer plusieurs
La somme des deux donne:
- parfois on casse la compatibilit� quand il s'agit
de corriger des bugs s�rieux, au lieu d'ajouter
du code dans la so genre:
if program_is_internet_explorer
use winsock 2.1;
else
use buggy_winsock
Lorsque les programmes que tu utilisent ne sont pas open source,
la fa�on Linux rend les choses vraiment mauvaises (star office: a ses
propres so s'il voit que les tiennent ne sont pas les bonnes).
D'o� l'avantage d'avoir une distribution tr�s �tendue qui teste
� fond ce genre de choses, en incluant parfois les programmes
commerciaux propri�taires dans le test (non-free de la Debian).
Mais il peut aussi arriver qu'une so trop ancienne n'offre pas
le support d'une fonction X ou Y, nouvelle. C'est un choix
du cr�ateur du programme entre compatibilit� ascendante et
simplification d'impl�mentation. Un programme open-source
portable sur multiples OS UNIX et architectures devrait
�tre compilable avec � peu pr�s toutes les libc des 3
derni�res ann�es (vulcan tourne libc5 encore, et
� peu pr�s tout ce que j'utilise dessus, 100% open-source
bien s�r fonctionne, m�me des versions r�centes d'Apache,
sendmail, etc).
PS: pour ta question pr�cise sur le ld-linux, je ne sais
pas. En tous cas quand on avait libc5/libc6 compatibilit�,
la libc5 �tait compil�e sp�cialement pour utiliser un
root de /usr/libc5 ou quelque chose comme �a --- cela peut
te donner une id�e assez affreuse de comment r�soudre le
probl�me dans le cas g�n�ral: tourner ton programme
en chroot).
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question.