[Creation d'executable independant des so installes sur un systeme.]

Merci pour vos responses. Pour resumer, deux solutions m'ont ete
proposees: (1) transporter tous les so et utiliser le LD_LIBRARY_PATH
pour pointer vers ces derniers, (2) recompiler le programme avec
-static.

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
executable independant des so installes sur le systeme. Mais cela ne
semble pas etre le cas. Dommage. Dans mon cas, (2) n'est pas realiste.
Recreer tous les .a necessaires me prendrait trop de temps.

J'ai donc essaye (1). Mais il semble d'apres ldd que libc.so depende
directement de /lib/ld-linux.so (path absolu). Il ne va donc pas
chercher la nouvelle version de ld-linux.so qui se trouve ailleurs dans
mon LD_LIBRARY_PATH. Est-ce que je rate quelque chose ici?

Donc voila, je n'ai pas trouve pas de solution a mon probleme. Ce que je
fais: le programme qui a besoin de lib recentes tourne sur une machine B
et j'appelle le programme depuis la machine A (libs "anciennes") par
XML-RPC. C'est un peu dommage parce que l'execution est ainsi moins
rapide et cela occasionne du trafic inutile (d'autant plus que A est en
Suisse et B aux US).

Ceci fait que je me pose une question plus large. Comment est-ce que les
choses se passent avec d'autres OS, comme par exemple Windows. Il me
semble que sous Windows, on peut prendre un executable compile il y a
quelques annees et toujours le faire tourner sur une version recente de
Windows. Pourquoi ceci est-il possible sous Windows et pas Linux (i.e. a
moins d'utiliser -static)?

Alex

-- 
Orbeon - The Unified Communication Center
Experience the future - http://www.orbeon.com/
Personal Home Page - http://www.scdi.org/~avernet/

S/MIME Cryptographic Signature

Répondre à