freebsd trouver l'origine d'un .so - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 24-08-2011 à 13:52:04
omega2 a écrit : Bonjour, Afin d'éviter l'installation d'une centaine de port dont je n'ai pas besoin, j'aurais besoin d'une commande pour au choix : Je vous remercie par avance. |
1/ c'est que tu as fait qqch de travers. Comment as tu installé php ?
2/ /usr/ports/<category>/<port>/pkg-plist contient la liste des fichiers installés par ce port
3/ /var/db/pkg/<port>-<version>/+CONTENTS contient la list des fichiers installés par ce port
A toi de trouver la bonne commande avec ces indications
Spoiler : tips : TIMTOWTDI |
edit : le système de ports n'installe que le nécessaire, si tu veux réduire la voilure, à toi de te faire un make.conf adapté
Marsh Posté le 30-08-2011 à 17:56:56
Bonjour et merci,
Grace à tes indications j'ai trouvé d'où venait la libraire qui me manquait. libonig.so.1 est créé par oniguruma4.
J'installe tout à partir des ports quand un port existe (c'est le cas dans 99.99% des cas )
Côté explication et résolution, c'est assez simple une fois qu'on a trouvé:
1) j'avais installé les ports depuis un des ftp proposé par sysinstall
2) j'ai ensuite compilé et installé entre autre portupgrade ce qui provoque l'installation de ruby (dépendance du port) . Pour ce dernier, pensant bien faire, j'avais coché la case des multibytes ce qui installe oniguruma2.* (port oniguruma)
3) ensuite j'ai installé apache, mysql et php
4) j'ai rajouté ensuite les php5-extensions avec entre autre php_mbstring. Ce dernier à trouvé oniguruma (v2.*) et n'a signalé aucun problème de dépendance.
Le problème c'est que php_mbstring à besoin de oniguruma4 et ne marche ni avec oniguruma (v2.*) ni oniguruma5. La librairie qui me manquait n'est pas créé par ces deux ports là.
RÉSOLUTION :
5) j'installe oniguruma4
Après installation de oniguruma4, php_mbstring fonctionne. A noter qu'il n'y a toujours aucun conflit de port d'indiqué.
6) je mets à jour les ports et les vérifie
Freebsd signale alors un conflit entre oniguruma et oiniguruma4.
7) Désinstallation de oniguruma (v2.*).
8) Désinstallation de ruby, recompilation de ruby sans multibyte et réinstallation de ruby.
9) par acquis de conscience, désinstallation, recompilation et réinstallation de portupgrade.
Pour le moment tout ce dont j'ai besoin à l'air de fonctionner comme il faut : je croise les doigts.
On peut noter qu'il manque l'indication de conflit entre les ports oniguruma dans les ports de freebsd 8.2 tels qu'ils sont sur le FTP de freebsd que j'ai utilisé (je ne me rappelle plus lequel j'avais sélectionné dans sysinstall) mais que ce problème à été réglé plus tard en mettant à jour les ports.
On peut aussi noter qu'il est impossible, une fois les ports à jours, de compiler php_mbstring après avoir installé ruby avec support du multibyte vu qu'ils ont des dépendances sur des ports qui sont en conflit.
Comme tu peux le constater, mon erreur n'a pas été de faire de travers mais d'en faire trop (cocher une option en trop pour le port ruby) en pensant que freebsd signalerait tous les problèmes de dépendances. J'avais trop confiance envers le système de port et je suis tombé sur l'un des rares cas qui n'était pas géré dans la version des ports que j'avais initialement.
Marsh Posté le 24-08-2011 à 13:03:51
Bonjour,
J'ai un premier serveur sous freebsd qui fonctionne à merveille.
Je suis entrein d'en configurer un second en essayant de n'installer que les ports nécessaire.
Arrivé à l'installation des extensions de php je me trouve confronté à un probleme : une fois compilé et installé, php_mbstring.so à besoin d'une librairie .so qui n'existe pas sur le nouveau serveur. A noter qu'après vérification, ce .so est bien présente sur le premier serveur.
Afin d'éviter l'installation d'une centaine de port dont je n'ai pas besoin, j'aurais besoin d'une commande pour au choix :
- avoir la liste des fichiers créé par un port donnée (solution longue)
- avoir le nom du port qui a créé un .so donnée
Je vous remercie par avance.