PHP + GD (MacBook, Tiger 10.4.7)

Bruno Bellamy

Membre actif
25 Mai 2006
324
41
59
Normandie, France
bellaminettes.com
J'espère ne pas faire bêtement doublon, mais ma p'tite recherche préalable n'a pas donné grand-chose, pas plus que d'avoir posté à ce sujet sur http://forums.macg.co/vbulletin/showthread.php?t=145149 mais je me rends compte après coup que c'était probablement pas la bonne rubrique, donc je tente ici).

Voilà : sur la config décrite dans le titre du présent sujet (donc un Mac Intel, avec la dernière version du système), j'escomptais avoir Apache + php en local pour faire mes p'tits développements de site en php. Ca marche, puisque Apache 1.3.33 est installé par défaut, avec PHP 4.4.1, et que ça s'active fastoche avec "partage web" dans les préférences système, après avoir décommenté dans /etc/httpd/httpd.conf les 2 lignes permettant d'utiliser php (ça va, jusque là, j'ai bon ? ;)).

Mais...

je comptais utiliser la librairie gd avec php, puisque je m'en sers sur mes sites (cf. dans les liens plus bas, le site sur Showergate par exemple, les p'tites barres de progression qui indiquent à quel point je suis en retard sur ma BD, c'est tout fabriqué "maison" en dynamique avec php+gd), or ça n'est pas installé d'office, et donc ça marche pô. Damned. :(

J'ai bien tenté d'installer le package de Marc Liyanage (http://www.entropy.ch/software/macosx/php/) réputé avoir tout bon, mais ça ne marche pas chez moi. J'ai également tenté la recompilation à la main des sources, mais c'est pas mieux...

Bref, c'est très frustrant. En abordant (puisque mon switch est récent) MacOS X, je me disais "cool, c'est un Unix, ça va faire comme à la maison :)", et je supposais donc que ça serait aussi facile de mettre ça en place que sous Linux, mais en fin de compte j'ai un petit peu de mal à prendre mes repères. Ça doit sûrement tenir à pas grand-chose (et puis j'ai l'air de rouler des mécaniques mais en réalité je suis pas si calé que ça en Unix et ligne de commande, la réalité c'est que j'ai eu de la chance jusqu'ici d'utiliser des distribs Linux -Mandrake, principalement- plutôt bien conçues pour des nuls comme moi), et quand j'aurai pigé le truc je me sentirai nouille de ne pas avoir pensé à ça plus tôt, mais pour l'instant ça coince...

Alors voilà. Soit y'a un truc qui m'échappe, soit j'ai pas tout compris (bon d'accord, c'est la même chose, désolé ;)).

Si quelqu'un a la clé du mystère, je suis preneur. :siffle:
 
Ben je coince dès l'install de GD, apparemment c'est libpng qui pose problème, quand je tente le même 'sudo port install gd2' que tu as fait :

[...]
Fetching libpng
Attempting to fetch libpng-1.2.10.tar.bz2 from sourceforge
Attempting to fetch libpng-1.2.10.tar.bz2 from opendarwin
Error: Target com.apple.fetch returned: fetch failed
Error: The following dependencies failed to build: libpng
Error: Status 1 encountered during processing.
 
utilise les dépos debian

sudo apt-get install libpng3

perso je n'utilise que l'apt-get... pour une raison simple ça fait 4 ans que je tourne sur debian, et quand je suis arrivé sur osx ce fut ma première ligne de commande tapé... et comme elle marche...j'ai jamais cherché autre chose :D

(en plus apt gère les dépendances :D)
 
iMatthieu a dit:
Apparemment il arrive pas à télécharger le package... Tu peux essayer
$ port selfupdate

Ah ben effectivement, tout de suite, ça marche mieux... :)

À partir de là, j'ai tenté tout bonnement :

sudo port install libpng
sudo port install gd2
sudo port install php4

...et tout s'est bien passé, jusqu'à ce qu'à la fin de l'install de php4 il m'annonce :

If this is your first install, you might want
* copy /opt/local/etc/php4/pear.conf.sample to /opt/local/etc/php4/pear.conf
---> Activating php4 4.4.2_2+darwin_8+macosx
Error: Target com.apple.activate returned: Image error: /opt/local/lib/php4/.channels/.alias/pear.txt already exists and does not belong to a registered port. Unable to activate port php4.
Error: Status 1 encountered during processing.

Si j'ai bien compris, y'a comme un conflit avec la version de php déjà en place.

Mais pour ça, je sais pas comment qu'on fait... :(
 
iMatthieu a dit:
En fait moi pour installer php j'ai téléchargé l'archive .gz que j'ai décompressé et j'ai compilé ensuite depuis le terminal

Ben j'avais tenté ça aussi mais ça avait cafouillé, alors j'essayais avec opt install pour voir...

J'ai donc repris le source de php.4.4.2 que j'avais aussi téléchargé en tgz et retenté la compilation, avec :

./configure --with-gd2

et ça semble marcher, mais quand je fais :

make

j'obtiens finalement ça :

/usr/bin/ld: Undefined symbols:
_uncompress
_php_ob_gzhandler_check
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php] Error 1

que je suis bien incapable d'interpréter...
 
YEAAAAH ! :)

J'ai rententé un ./configure, avec le détail de la ligne de commande que tu donnes en exemple, et après avoir enlevé les --with concernant mySQL (qui ne marchent pas chez moi, mais il se trouve que je n'en ai pas besoin, ça m'arrange ;)), ce qui donne :

./configure --prefix=/usr --with-zlib-dir=/usr --with-jpeg-dir=/opt/local --with-png-dir=/opt/local --with-freetype-dir=/opt/local --with-gd --with-xml --with-ldap --with-openssl --with-kerberos --with-curl --with-apxs

suivi bien sûr de :

make
sudo make install

et...

...ça marche :) :) :)

Merci beaucoup pour ton aide !