• [^] # Re: Quelle différence? :)

    Posté par . En réponse au journal Dell Mini 9 et ses offres hilarantes. Évalué à 1.

    Ensuite, quand tu veux diffuser un binaire ben faut bien le faire : un tar.gz ne suffit pas, je me suis pris plein de mails me demandant un .deb ou un .rpm, sans compter que j'ai eu un .deb qui passe sur certaines versions de Debian mais pas sur d'autres (cf https://sourceforge.net/forum/forum.php?thread_id=2178697&am(...) si tu veux la petite histoire), alors que sous Windows un .exe et hop ça marche de Win95 à Vista facilement. Un tar.gz compatible avec la majorité des Linux est faisable, mais c'est plus dur.

    Tu te plains de Linux, ce n’est pas linux qu’il faut blâmer à ce niveau-là mais le fait que les distributions GNU/Linux n’aient pas le même système de paquets et/ou les mêmes bibliothèques API (et dieu merci, vive la diversité).

    Ben figure toi que quand un binaire cherche un .so, il ne regarde pas dans le répertoire où le binaire est! Parait que c'est normal... Mais du coup faut soit installer les .so sur la machine avec droit root et risque de foutre le gros bordel, soit faire un link statique, soit se taper un chargement manuel à l'exécution (donc plus long à programmer). Mais sûrement pas juste mettre le .so dont on a besoin à coté du binaire comme facilement faisable sous Windows!

    Un petit coup de export LD_LIBRARY_PATH et c’est bon, tu peux faire tourner ton logiciel avec les .so que tu veux. Par défaut ce n’est pas le cas car c’est une question de sécurité (utiliser uniquement les bibliothèques du système, par défaut, permet d’accroître la sécurité). C’est pareil pour les binaires, pour exécuter un binaire du répertoire courant non listé dans $PATH, tu dois précéder par « ./ ».
    Il n’est pas obligatoire d’avoir les droits root pour lancer un binaire qui a besoins de bibliothèques qui ne sont pas répertoriés dans le ldconfig.