Installer apache2 mysql et php 5

Si vous disiez un peu quels sont vos messages d'erreur, cela ferait avancer le schmillblick ...
 
Je ne pense pas que cela vienne d erreur on aimerais un petit tutos sur la demarche a suivre puisque apparement en suivant la demarche a la lettre de celui que j ai donné ca marche pas il doit bien y avoir une solution
 
En général, quand quelque chose refuse de compiler, il y a un message d'erreur (disons que en 20 ans de métier j'ai toujours vu ça mais c'est peut-être une super nouveauté ...)

Pour qu'on puisse aider, il faut un peu plus que "ça marche pas"
Et que, si on demande "oui mais où", la réponse ne soit pas : "bin, ça marche pas, quoi" ...

Comme vous vous plaignez de quelque chose (mais quoi ?) quand vous utilisez telle ou telle option, essayez d'expliciter.
 
  • J’aime
Réactions: averell
appollo a dit:
Bon voila mon problème je n ai toujours pas eu mon ami sur le net pour qu'il m'explique mais je constate que quand je ne met pas --whith mysql la compilation marche bien et apres tous fonctionne sauf bien sur mysql et quand je compile avec mysql ca bug enfin bon je galère toujours
J'ai remarqué aussi que le module de MySQL pouvait provoquer des erreurs, mais là, je viens de réussir une compile sans soucis avec MySQL mais sans APSX !

Donc, il y'aurait des conflits entre certains modules …

J'ai mis à jour DarwinPorts et l'installation de php5.1.4 à l'air de bien se dérouler pour une fois.

A suivre …
 
Va voir du côté de MAMP pas d'installation compliquée, pas de modif du système... modulaire facile a modifier, facile a mettre en œuvre et sans trop de problèmes toutes les possibilités d'un serveur...

Avant je me prenais la tête à installer mais maintenant je suis l'évolution de MAMP y'a tout dedans.
MAMP Version: 1.3.1
Sortie le: 13.07.2006
Logiciels & Bibliothèques compris
Version Apache: 2.0.55
Version MySQL: 5.0.19
Version PHP: 4.4.2 & 5.1.4

En plus tu peux tester à la volée en deux clicks sous 4 ou sous 5, y'a une page d'accueil qui te renseigne sur le fonctionnement de tes serveurs... et une petite regle en plus dans le firewall de tiger permet de faire rentrer des gens dans ta machine aussi facilement que le serveur d'origine du mac, pour l'avoir fais plus d'une fois les deux serveurs peuvent tourner ensembles, voila facile, j'aime bien !!!
 
bompi a dit:
En général, quand quelque chose refuse de compiler, il y a un message d'erreur (disons que en 20 ans de métier j'ai toujours vu ça mais c'est peut-être une super nouveauté ...)

Pour qu'on puisse aider, il faut un peu plus que "ça marche pas"
Et que, si on demande "oui mais où", la réponse ne soit pas : "bin, ça marche pas, quoi" ...

Comme vous vous plaignez de quelque chose (mais quoi ?) quand vous utilisez telle ou telle option, essayez d'expliciter.

J'ai des dizaines (centaines) de :

Bloc de code:
/usr/bin/ld: warning multiple definitions of symbol _SSL_accept
/usr/local/mysql/lib/libmysqlclient.a(ssl.o) definition of _SSL_accept in section (__TEXT,__text)

J'ai laissé _SSL_accept pour l'exemple, mais j'en ai ouate mille autres si tu veux ;)

Sinon, je bloque là :

Bloc de code:
PHP Fatal error:  Unable to start curl module in Unknown on line 0
make[1]: *** [install-pear-installer] Error 254
make: *** [install-pear] Error 2

Le pire, c'est que php5 est quand même fonctionnel, mais je pense que je vais le recompiler sans le support de PEAR avec l'option --disable-cli (ou without-pear)

Sinon, voilà mon ./configure, il est inspiré de celui de DarwinPorts d'où provienne les différentes libs (/opt/local):

Bloc de code:
./configure \
--prefix=/usr/local/php5 \
--mandir=/opt/local/share/man \
--infodir=/opt/local/share/info \
--enable-module=so \
--enable-calendar \
--with-iconv=/opt/local \
--enable-exif \
--enable-ftp \
--enable-wddx \
--with-zlib=/opt/local \
--with-mysql=/usr/local/mysql \
--with-mysql-sock=/tmp/mysql.sock \
--with-libxml-dir=/opt/local \
--with-gettext=/opt/local \
--with-libxml-dir=/opt/local \
--with-xml \
--with-expat-dir=/opt/local \
--with-xmlrpc \
--enable-sqlite-utf8 \
--enable-filepro \
--enable-bcmath \
--enable-trans-sid \
--enable-mbstring \
--enable-dbx \
--with-openssl=/opt/local \
--with-mhash=/opt/local \
--with-mcrypt=/opt/local \
--with-kerberos=/usr \
--with-iodbc=/usr \
--with-tidy=/opt/local \
--with-xsl=/opt/local \
--with-imap=/opt/local \
--with-imap-ssl=/opt/local \
--with-curl=/opt/local \
--with-gd \
--with-jpeg-dir=/opt/local \
--with-png-dir=/opt/local \
--enable-gd-native-ttf \
--with-freetype-dir=/opt/local \
--with-apxs2=/library/apache2/bin/apxs \
--enable-fastcgi \
--enable-force-cgi-redirect \
--enable-memory-limit \
--disable-cli ou --without-pear

mxmac, j'aime pas MAMP et je voudrais réussir à compiler tous ça, autant pour mon plaisir que pour ma culture personnelle, mais aussi pour bosser ;)
 
  • J’aime
Réactions: mxmac
La culture c'est l'aventure !!! et c'est toi qui as raison, mais si tu as une fleme, comme moi .... :D
 
(…)(disons que en 20 ans de métier j'ai toujours vu ça mais c'est peut-être une super nouveauté ...)(…)

Voilà les erreurs que je chope encore, mais l'installe semble propre, disons qu'elle s'est bien terminée :/

Aucune erreur avec le ./configure, le make donne ceci:

Une pèlée d'erreurs comme celle-ci:

Bloc de code:
/mon_chemin/ext/dom/node.c:102: warning: pointer targets in assignment differ in signedness

/mon_chemin/ext/dom/characterdata.c:184: warning: pointer targets in initialization differ in signedness

/mon_chemin/ext/dom/document.c:1007: warning: pointer targets in passing argument 2 of 'xmlNewReference' differ in signedness
/mon_chemin/ext/dom/document.c: In function 'zif_dom_document_create_element_ns':

/mon_chemin/ext/gd/libgd/gdkanji.c:365: warning: passing argument 2 of 'libiconv' from incompatible pointer type

J'ai lu sur un autre forum, que ce n'étais que des warnings pas des erreurs et que cela ne dérangeais pas à la suite de la compilation.

Je suis peut être trop perfectionniste, mais je me demande si ces erreurs peuvent être corrigées ou si ce n'est finalement pas grave ?

Par contre, j'ai aussi une belle série de ce warning là:

Bloc de code:
/usr/bin/ld: warning multiple definitions of symbol _SSL_CTX_use_PrivateKey_file
/usr/local/mysql/lib/libmysqlclient.a(ssl.o) definition of _SSL_CTX_use_PrivateKey_file in section (__TEXT,__text)
/opt/local/lib/libssl.dylib(ssl_rsa.o) definition of _SSL_CTX_use_PrivateKey_file

Ici, je présumes qu'il ne s'agit que d'une "simple" méprise, il à deux références et il ne sait laquelle choisir !

Est-il possible de lui demander d'ignorer un de ces deux répertoires pour éviter cette erreur ? par une option dans le ./configure ?

De toute façon, ça se termine comme ceci:

Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).


Mais voilà, j'aimerais faire mieux, car je n'ai pas PEAR (entre autre) ;)

En esperant ne pas trop te saouler ;)
 
Je te l'accorde, j'étais grognon ... ;) Mais pas furibond pour autant :D
Déjà, par exemple, j'ai pu voir que tes problèmes sont peut-être les mêmes que ceux-ci. Donc que tu pourrais fort bien être sur un MacBook (ou autre Mac/Intel).
Que ces problèmes, je risque fort de ne pas les rencontrer sur mon Mac/PPC ;)

Pour les warnings, effectivement, ce n'est pas forcément grave (les histoires de signé/pas signé, on s'en arrange assez bien, en C :siffle: ) mais ce n'est pas souhaitable (j'aime les compilations propres moi-z'aussi).

Au niveau de la configuration, il y a quand même quelque chose qui me tracasse : tu utilises à la fois "/opt/local" et "/usr/local". C'est tout à fait jouable mais je ne trouve pas cela bien propret ... Tu compiles PHP5 dans "/usr/local" mais tu mets les manuels et infos dans "/opt/local", normalement réservé à DarwinPorts ...

Quant à l'erreur SSL ... On dirait que la librairie du client MySQL contient déjà tout ce qui faut (sans doute mis dans les options de compilation de MySQL). Il n'y a alors peut–être pas besoin de respécifier "--with-openssl", non ?
 
bompi a dit:
Je te l'accorde, j'étais grognon ... ;) Mais pas furibond pour autant :D
Déjà, par exemple, j'ai pu voir que tes problèmes sont peut-être les mêmes que ceux-ci. Donc que tu pourrais fort bien être sur un MacBook (ou autre Mac/Intel).
Que ces problèmes, je risque fort de ne pas les rencontrer sur mon Mac/PPC ;)

Non non, j'ai bien un vieux G4 867 ;)

Pour les warnings, effectivement, ce n'est pas forcément grave (les histoires de signé/pas signé, on s'en arrange assez bien, en C :siffle: ) mais ce n'est pas souhaitable (j'aime les compilations propres moi-z'aussi).

Et il y'a moyen de moyenner pour les éviter ?

Au niveau de la configuration, il y a quand même quelque chose qui me tracasse : tu utilises à la fois "/opt/local" et "/usr/local". C'est tout à fait jouable mais je ne trouve pas cela bien propret ... Tu compiles PHP5 dans "/usr/local" mais tu mets les manuels et infos dans "/opt/local", normalement réservé à DarwinPorts ...

Il se trouve que je ne savais pas trop bien comment réagissait ces options et je l'ai découvert par moi même en comparant les répertoires de deux installe php différentes, la mienne et celle de ServerLogistics.

Je vais donc modifier la chose pour qu'il installe tous dans le rep /usr/local/php5/

Quand aux librairies, j'utilise celle de DarwinPorts tous simplement parce que je n'ai pas réussi à les compiler moi même et que les versions que j'ai ne suffisent apparemment pas.

Quand je regarde le ./configure du php4 de serverLogistics, je vois que leurs libs sont carrément dans un répertoire intégré de leur installe : /library/php4/libs/

Puis-je faire pareille, et indiquer au comilateur d'aller chercher les libs la ou elles se trouvent, puis de les copier dans un répertoire intégré à mon répertoire final ?

Quant à l'erreur SSL ... On dirait que la librairie du client MySQL contient déjà tout ce qui faut (sans doute mis dans les options de compilation de MySQL). Il n'y a alors peut–être pas besoin de respécifier "--with-openssl", non ?

Je vais essayer sans openssl.

Et pour PEAR, c'est grave de ne pas l'avoir ?

Sinon, comme tu l'a sans doutes remarqué, j'ai découvert la compilation depuis presque 15 jours, j'ai tout appris sur le tas et donc, il est fort possible et probable que je fasse plein de trucs pas bien, je le concède et c'est pour ça que je cherche des infos, pour essayer autant que faire ce peut d'en faire encore plus, le but étant d'en faire de moins en moins, je suis donc très content quand un spécialiste (si si, 20 ans quand même ;) ) viens me reprendre et tente de m'aider ;)

Une question bête et purement mécanique, une fois mon php compilé, si je venais à effacer le répertoire /opt/, php continuerait il de fonctionner, ou serait il perdu car ne retrouvant plus les libs qui étaient liées à la compile ( ex: --with-gettext=/opt/local ) ?

Ou alors, ces libs ne sont utiles que pour la compile, dans ce cas, qu'elles viennent de /usr/local ou de /opt/local n'y change rien non ?

Merci encore ;)

Compile php en cours avec les modifs que tu m'a conseillé :
--mandir=/usr/local/php5/share/man \
--infodir=/usr/local/php5/share/info \
--without-openssl
 
Ouh la ! ;)
Les bibliothèques, en général, sont dynamiques. En fait elles ne le sont pas tant que ça ... c'est leur chargement qui, lui, est dynamique : il est effectué lorsqu'une application les requièrent.
J'écris une bibliothèque :
- je fais et constitue une bibliothèque (library) dynamique ;
- je publie un header qui indique comment programmer pour l'utiliser ;
- je la dépose dans un répertoire connu du chargeur de bibliothèque (soit un standard comme /usr/lib soit un que je renseigne dans la variable LD_LIBRARY_PATH) ;
J'écris un programme utilisant cette bibliothèque :
- je me débrouille pour appeler les fonctions/méthodes comme requis par le(s) header(s) ;
- j'inclus les chemins nécessaires dans mes commandes de compilation et bien sûr aussi les noms des bibliothèques ;
- je compile et lie le tout dans un exécutable.

Lorsque je lance l'exécutable : il va chercher les bibliothèques lorsque c'est nécessaire et les charge en mémoire. Si elles ont été supprimées ou déplacées, ça va beaucoup moins bien marcher ... :)

Une autre option est de constituer des bibliothèques dites statiques qui seront incluses dans l'exécutable : ce dernier sera alors quasi autonome et les bibliothèques dynamiques inutiles et dispensables.

PEAR : boaaa ... disons que c'est pratique de l'avoir et qu'il devrait fonctionner. Mais on s'en passe.

Pour les problèmes de signé/pas signé : il faut entrer dans le code et tâcher de comprendre pourquoi cela survient. Note que certaines fois, ce n'est absolument pas gênant. C'est simplement qu'il manque un cast ou que le compilateur est réglé à "hyper tatillon".
 
Ok, alors comme ça marche nickel, on va dire que c'est bon :DD

Je crois avoir bien compris pourquoi certains arrivent facilement à compiler et d'autres moins en suivant les exemples que l'on trouve sur le net, ce sont ces foutues bibliothèques !

Les sites qui proposent des pas à pas pensent sûrement s'adresser à des connaisseurs et pratiquants de la compilation, et dans ce cas, il n'est point besoin de leur signaler qu'ils doivent bien avoir les bibliothèques concernées, mais comme se sont des connaisseurs, ils ne vont pas sur ce genre de sites puisqu'ils savent déjà comment faire, donc ce sont bien les sites qui oublient de prévenir les non connaisseurs que la compilation proposée repose sur des bibliothèques que l'on se doit de posséder avant de continuer …

Je vais essayer de démêler tous ça et d'en faire quelques articles sur mon site, tu sera le bienvenus pour venir relire et corriger ce que j'aurais écris ;)

En attendant, depuis deux jours, je découvre PHP5 et les joies du error_reporting réglé sur E_ALL avec les register_globals sur OFF et les magic_quote aussi !

Vive la sécurisation du code, mais ces trois petits détails te forcent à vraiment bien penser ton code, fini la rigolade à la mode IE … maintenant, faut coder propre dès le début ;)

Bref, je m'éclate :D