View previous topic :: View next topic |
Author |
Message |
opierre n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 07 Apr 2004 Posts: 15
|
Posted: Fri Aug 13, 2004 6:02 pm Post subject: [PHP] est-ce que emerge va garder mes paramètres de compil |
|
|
Bonjour,
Je voulais installer php sans le mysql via emerge, mais comme cela (USE="-mysql") PHP n'est pas compilé avec le support sql, ce qui est gênant.
En fait je veux faire tourner mysql sur un autre serveur. Sans utiliser USE="-mysql" emerge m'installe mysql4 et ca je ne veux pas.
N'ayant pas trouvé de solution, j'ai compilé PHP à la main, à partir de /usr/portage/distfiles/php-4.3.8.tar.bz2
J'aimerais savoir si lors d'un emerge world par ex, PHP (une nouvelle version) va être compilée avec les mêmes options ?
Ou est-ce que j'ai raté une possibilité d'emerge ? (surement d'ailleurs)
Merci d'avance
PO |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Argian l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/13075990664140faffdd827.png)
Joined: 01 May 2004 Posts: 682 Location: Nîmes
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
opierre n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 07 Apr 2004 Posts: 15
|
Posted: Fri Aug 13, 2004 7:10 pm Post subject: |
|
|
je n'ai pas trouvé ce à quoi tu fais référence, mise à part un post concernant la reprise des flages pour les compilations futures, ce qui n'est pas mon cas, puisque j'ai compilé à la main
qqun d'autre ? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Argian l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/13075990664140faffdd827.png)
Joined: 01 May 2004 Posts: 682 Location: Nîmes
|
Posted: Fri Aug 13, 2004 8:53 pm Post subject: |
|
|
opierre wrote: | qqun d'autre ? | Perdu ! C'est encore moi
Désolé, je n'avais pas compris la question . D'ailleurs, je ne suis toujours pas certain d'avoir compris. Je vais quand même essayer
Tu voulais emerger php avec le support mysql sans pour autant installer mysql parce que le serveur mysql est sur un autre machine. Et comme tu n'y es pas arrivé, tu as compilé PHP "à la main". J'ai juste ?
opierre wrote: | J'aimerais savoir si lors d'un emerge world par ex, PHP (une nouvelle version) va être compilée avec les mêmes options ? | Bah non, si tu n'as pas fait d'emerge, PHP ne sera jamais mis à jour de cette façon. A moins que tu aies remplis les divers fichiers-et-répertoires-qui-vont-bien manuellement, il faudrait peut-être refaire l'installation à la sauce gentoo (avec emerge quoi)
opierre wrote: | Ou est-ce que j'ai raté une possibilité d'emerge ? (surement d'ailleurs) |
Ben, tu aurais pu faire croire au système que mysql était installé avec un "emerge -i mysql" (i pour inject). De cette façon, l'emerge de PHP n'aurait pas essayé d'installer mysql. Il y a peut-être un autre moyen, mais je n'en vois pas. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
opierre n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 07 Apr 2004 Posts: 15
|
Posted: Fri Aug 13, 2004 9:09 pm Post subject: |
|
|
je crois que tu as tout bon, je vais regarder du côté de emerge -i si je peux arriver au même résultat
merci du coup de main ![Wink ;)](images/smiles/icon_wink.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
kernelsensei Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/21126704545e4a5f9ae5c9.jpg)
Joined: 22 Feb 2004 Posts: 5619 Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)
|
Posted: Fri Aug 13, 2004 10:24 pm Post subject: |
|
|
mais dans ce cas il est possible que portage veuille mettre mysql a jour lors d'une update de world, d'autant plus si tu utilises l'option -D Deep ! _________________ $ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join' |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
SithLord n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 03 Aug 2004 Posts: 13
|
Posted: Fri Aug 13, 2004 10:44 pm Post subject: |
|
|
Salut opierre,
Je crois avoir compris ce que tu veux. Tu tombes sur un des gros defauts de la Gentoo avec ton probleme.
Ton intention : Compiler PHP avec le support MySQL car tu vas l'utiliser MAIS le SERVICE MySQL, tu veux l'installer sur un autre serveur.
Ce que tu devras faire : USE="mysql" emerge -v php et il va te compiler PHP avec le support MySQL. Le truc c'est que pour avoir le support, il faut aussi compiler la libmysql.so (je lui donne volontairement un nom generique, je ne connais pas le nom exact et cela a peu d'importance pour l'explication). Cette lib est dans le package MySQL donc il devra egalement etre compile et prendront pas mal de temps de compilation.
Ce que auras au final : PHP installe ET MySQL au complet installe egalement, bien que le support MySQL de PHP n'aie REELEMENT besoin que de la libmysql. Il te faudra egalement sur le serveur de bases de donnees y compiler MySQL mais cette fois, il assurera le SERVICE base de donnees. Dans les 2 cas, MySQL est installe AU COMPLET.
Gentoo ne sait pas encore faire du decoupage logique DANS un package. Lorsqu'un package supporte XXXX, il n'a besoin QUE de la libXXXX.so, et l'ideal serait que Gentoo aie un mecanisme capable de ne compiler QUE cette lib dans le package satisfaisant la dependance.
A supposer que tu veuilles PHP avec le suppor PostgreSQL, MySQL, LDAP, mSQL, SQLite, GD, ODBC, etc..., tu devrais TOUS les compiler et installer AU COMPLET sur la machine. Ils n'occuperont que de la place disque.
J'admets que dans une logique habituelle (celle fournie par les distros binaires) c'est quelque peu perturbant et ca laisse un arriere gout de pas "propre". C'est vrai que j'aimerais me passer de la presence de tous ces outils pour n'utiliser que leur libXXXX.so qui est la SEULE reellement necessaire au fonctionnement de PHP.
C'est pour moi un des gros defauts de l'archi Gentoo (meme si je l'utilise et l'apprecie pour d'autres qualites), en plus du fait que Emerge est incapable de purger tous les fichiers d'une distro lors du unmerge (un equivalent du bon vieux "apt-get remove --purge" de Debian, il faut utiliser le script "cruft" cree par un de membres du forum Anglais (http://home.jesus.ox.ac.uk/~ecatmur/my-bin/cruft). Aussi efficace soit ce script, ca reste un emplatre sur une jambe de bois...
Gentoo a ses avantages et ses inconvenients, tout est une question de balance entre les besoins et les defauts. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Oupsman Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 19 Jul 2004 Posts: 1042
|
Posted: Fri Aug 13, 2004 11:08 pm Post subject: |
|
|
La documentation PHP wrote: | En PHP 4, l'option --with-mysql est activée par défaut. Pour désactiver ce comportement par défaut, vous devez utiliser l'option --without-mysql. De même, en PHP 4, si vous activez MySQL sans spécifier de chemin jusqu'au dossier d'installation MySQL, PHP va utiliser la bibliothèque cliente fournie dans la distribution PHP.
|
Ce genre de comportement n'est donc pas reproductible avec emerge ?
Dommage çà !
Le USE="mysql" permet de forcer le support de mysql. le USE="-mysql" de forcer la désactivation. Sans rien mettre on obtient quoi ?
Bien sur, en modifiant la variable USE dans le make.conf.
Juste mes 2 balles au problème. _________________ --
L'idéal de nouveauté semble avoir remplacé l'idéal de progrès. C'est bien triste.
----
Unix philosophy: "Do one thing and do it well."
systemd: "Try to do everything and do it wrong." |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Argian l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/13075990664140faffdd827.png)
Joined: 01 May 2004 Posts: 682 Location: Nîmes
|
Posted: Fri Aug 13, 2004 11:32 pm Post subject: |
|
|
Oupsman wrote: | Le USE="mysql" permet de forcer le support de mysql. le USE="-mysql" de forcer la désactivation. Sans rien mettre on obtient quoi ? | Il ne me semble pas que le support mysql soit activé par défaut. Donc, si tu ne l'actives pas explicitement, alors, il ne l'est pas. Dans le cas de php, on se retrouve avec un --without-mysql (ça ne te dérange pas si j'empoche tes 2 balles ? Les fins de mois sont dures ces temps-ci )
[Edit] Pour info, le flag mysql se trouve dans /etc/make.profile/use.defaults. Le flag est donc activé automatiquement à l'installation de mysql. J'avais à moitié tort ![Confused :?](images/smiles/icon_confused.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
robinhood Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/55343842841192e0db9cea.png)
Joined: 21 Jun 2004 Posts: 290
|
Posted: Fri Aug 13, 2004 11:52 pm Post subject: |
|
|
ya une solution, modifier l'ebuild à chaque mise a jour... |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Argian l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/13075990664140faffdd827.png)
Joined: 01 May 2004 Posts: 682 Location: Nîmes
|
Posted: Sat Aug 14, 2004 12:04 am Post subject: |
|
|
robinhood wrote: | ya une solution, modifier l'ebuild à chaque mise a jour... |
Tu pourrais préciser ? Je ne suis pas sûr de voir où tu veux en venir |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
robinhood Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/55343842841192e0db9cea.png)
Joined: 21 Jun 2004 Posts: 290
|
Posted: Sat Aug 14, 2004 12:59 am Post subject: |
|
|
grossierement, supprimer la dependence vers mysql (qui de toute façon est discutable), et modifier le comportement du ./configure pour lui passer --with-mysql quel que soit les use flag. c'est pas d'un interet enorme, et ça revient a compiler le tout à la main et faire un --inject, sauf que là tu est sûr d'installer le reste des dependences de php telles que definies dans portage, et de pas louper de mise a jour. A y reflechir, tout depend du comportement de portage vis a vis des dependences quand je fait un inject : est-ce qu'il considere que les dependences sont installé ou non ? a priori non, donc il sera capable de m'indiquer la presence d'une mise a jour de php, mais pas de m'avertir de l'existence d'une mise a jour d'une dependence de php.
contrairement à SithLord, je ne suis pas sur que php ait besoin d'une quelconque libmachinchose.so pour compile et tourner. c'est juste que l'on vas compiler en plus l'interface sql de php, et ensuite a nous d'indiquer a php ou chercher la libmachinchose.so ou ce dont il a besoin pour savoir ou trouver la base de données. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Argian l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/13075990664140faffdd827.png)
Joined: 01 May 2004 Posts: 682 Location: Nîmes
|
Posted: Sat Aug 14, 2004 1:23 am Post subject: |
|
|
Donc, si je comprends bien, prendre l'ebuild, le copier dans $PORTDIR_OVERLAY, le modifier pour enlever la dépendance mysql et pour que php ait un --with-mysql pour le configure, et ce, pour chaque nouvelle version. Etant donné la façon dont est fait l'ebuild, ça suppose d'abord de copier php_sapi. Là, par contre, je ne sais pas si eclass est pris en compte dans l'overlay. Je suppose que oui, mais, ce serait à vérifier.
Enfin, de toute façon, c'est un peu lourd non ?
Je ne trouve pas spécialement que la solution que j'avais proposée soit terrible, mais un inject de mysql, c'est quand même plus simple à faire. Pour ce qui est d'éviter les mises à jour de mysql, package.mask fait très bien l'affaire. D'ailleurs, si quelqu'un a mieux à proposer, je suis preneur, ça me permettrait de me débarrasser d'un inject d'arts qui m'énerve depuis pas mal de temps
robinhood wrote: | tout depend du comportement de portage vis a vis des dependences quand je fait un inject : est-ce qu'il considere que les dependences sont installé ou non ? a priori non, donc il sera capable de m'indiquer la presence d'une mise a jour de php, mais pas de m'avertir de l'existence d'une mise a jour d'une dependence de php. | Pas compris.
Un inject de quoi ? de php ? C'est pas vraiment le but. De mysql ? Ce n'est pas génant, on ne veut pas l'installer de toute façon.
L'inject ne concerne pas les dépendances d'un ebuild, juste l'ebuild lui-même. Donc, il ne considère pas que les dépendances sont installées.
Bon, après une quinzaine de relectures, j'ai l'impression que tu parles d'injecter php. A mon avis, c'est vraiment LA chose à ne pas faire, mais ce n'est que mon avis et je ne suis pas sûr que ce soit ce que tu voulais dire. Par conséquent, je m'arrête ici.
PS : Désolé opierre, on t'a un peu abimé ton sujet, mais on ne t'oublie pas
[Edit] Argh, il a fait au moins 2 édits pendant que je répondais
Code: | libmysqlclient.so.12 => /usr/lib/libmysqlclient.so.12 (0x40262000) | Donné par ldd. Je suppose que c'est celle dont parlaient Oupsman et La documentation PHP |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
robinhood Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/55343842841192e0db9cea.png)
Joined: 21 Jun 2004 Posts: 290
|
Posted: Sat Aug 14, 2004 1:48 am Post subject: |
|
|
Quote: | Posté le: Sam Aoû 14, 2004 2:23 am |
je suis d'accord ![Laughing :lol:](images/smiles/icon_lol.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
CryoGen Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/1442840809462c9e9cb938c.jpg)
Joined: 11 Feb 2004 Posts: 1426 Location: Bamako - Mali - Afrique
|
Posted: Sat Aug 14, 2004 1:49 am Post subject: |
|
|
bon il est tard (ou tot ) et j'ai peut-etre pas compris le probleme mais pourquoi pas utilisé le fichier
/etc/portage/package.use
il permet de garder les option USE pour chaque ebuild... ca evite de modifier les ebuild a chaque update ou de passer par USE="..." a chaque emerge du paquet _________________ - CryoGen` on #gentoofr@irc.freenode.net
- ~amd64 / KDE4
- I'm the bone of my sword... |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Argian l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/13075990664140faffdd827.png)
Joined: 01 May 2004 Posts: 682 Location: Nîmes
|
Posted: Sat Aug 14, 2004 2:08 am Post subject: |
|
|
CryoGen wrote: | bon il est tard (ou tot ) et j'ai peut-etre pas compris le probleme mais pourquoi pas utilisé le fichier
/etc/portage/package.use
il permet de garder les option USE pour chaque ebuild... ca evite de modifier les ebuild a chaque update ou de passer par USE="..." a chaque emerge du paquet | Oui, c'est l'erreur que j'avais faite dans mon premier post (J'ai encore honte d'ailleurs) ![Embarassed :oops:](images/smiles/icon_redface.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
opierre n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 07 Apr 2004 Posts: 15
|
Posted: Sat Aug 14, 2004 8:22 am Post subject: |
|
|
en résumé, je dois compiler à la main a chaque sortie d'un nouveau package PHP
c'est pas bien grave, je le faisais sous redhat, je le ferai sous gentoo
merci pour votre aide |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
robinhood Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/55343842841192e0db9cea.png)
Joined: 21 Jun 2004 Posts: 290
|
Posted: Sat Aug 14, 2004 9:20 am Post subject: |
|
|
non non tu fait :
Code: | emerge -i dev-db/mysql-4.0.20
USE="mysql" emerge php |
en sachant que tu doit surveiller les sorties de tes emerge -up world, et lorsque tu vois une nouvelle version de mysql, tu refait ton emerge -i dev-db/mysql-laversion |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Argian l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/13075990664140faffdd827.png)
Joined: 01 May 2004 Posts: 682 Location: Nîmes
|
Posted: Sat Aug 14, 2004 10:17 am Post subject: |
|
|
robinhood wrote: | non non tu fait :
Code: | emerge -i dev-db/mysql-4.0.20
USE="mysql" emerge php |
en sachant que tu doit surveiller les sorties de tes emerge -up world, et lorsque tu vois une nouvelle version de mysql, tu refait ton emerge -i dev-db/mysql-laversion | Voila, c'est ce que je voulais dire
De plus, pour USE, tu peux utiliser le fichier /etc/make.conf ou /etc/portage/package.use et si tu ne veux pas être trop embêté par les mises à jour de mysql, tu peux te servir du fichier /etc/portage/package.mask. Pour plus d'infos sur ces fichiers, man portage (Ah, je savais bien que je finirais par le sortir à bon escient ce man ) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|