Bien que j'installe des logiciels à partir de paquets (MacPorts / apt-get) dans la mesure du possible, je me retrouve souvent à devoir compiler des paquets à partir des sources. ./configure && make && sudo make install
suffit généralement, mais il arrive que cela ne fonctionne pas - et dans ce cas, je suis souvent bloqué. Cela est presque toujours lié à d'autres dépendances de la bibliothèque d'une manière ou d'une autre.
J'aimerais apprendre ce qui suit :
- Comment déterminer les arguments à passer à
./configure
? - Comment fonctionnent les bibliothèques partagées sous OS X / Linux - où elles se trouvent dans le système de fichiers, comment elles sont utilisées et comment elles sont utilisées.
./configure && make
les trouve, ce qui se passe réellement lorsqu'elles sont reliées entre elles. - Quelles sont les différences réelles entre une bibliothèque partagée et une bibliothèque liée statiquement ? Pourquoi ne puis-je pas tout lier statiquement (la RAM et l'espace disque sont bon marché de nos jours) et ainsi éviter les conflits de versions de bibliothèques bizarres ?
- Comment puis-je savoir quelles sont les bibliothèques que j'ai installées et quelles sont leurs versions ?
- Comment puis-je installer plus d'une version d'une bibliothèque sans casser mon système normal ?
- Si je am installer des choses à partir des sources sur un système qui est par ailleurs géré à l'aide de paquets, quelle est la manière la plus propre de le faire ?
- En supposant que je parvienne à compiler quelque chose de compliqué à partir des sources, comment puis-je ensuite l'emballer pour que d'autres personnes n'aient pas à franchir les mêmes obstacles ? En particulier sur OS X....
- Quels sont les outils en ligne de commande que je dois maîtriser pour être bon dans ce domaine ? Je ne sais pas si c'est le cas, mais c'est une bonne idée.
Je suis prêt à investir pas mal de temps et d'efforts ici - je ne veux pas nécessairement des réponses directes aux questions ci-dessus, je préférerais avoir des recommandations sur des livres / tutoriels / FAQ que je peux lire et qui me donneront les connaissances dont j'ai besoin pour comprendre ce qui se passe réellement et donc résoudre les problèmes par moi-même.