[Debian Lenny] Compiler statiquement APC et memcache

Mammouth du PHP | 1668 Messages

25 août 2009, 17:22

Bonjour à toutes et à tous,

Voilà, j'ai toujours mon problème de compilation de PHP, mais cette fois je connais la cause du problème et après avoir bien cherché et refais la procédure plusieurs fois depuis le début, je me tourne vers vous.

Intentions/buts : Compiler PHP 5.3 avec PDO, APC et memcache sur Debian Lenny

D'après le tutoriel de stopher j'ai téléchargé et décompressé les sources de PHP :
cd /usr/local/src/
wget http://fr3.php.net/get/php-5.3.0.tar.gz ... his/mirror
tar zxf php-5.3.0.tar.gz
rm -f php-5.3.0.tar.gz
cd php-5.3.0/
La documentation concernant memcache et APC me renvoyèrent à l'installation d'un extension PECL. Pour les compiler de manière statique (à fin de maximiser les perfomances) je suis la procédure :
cd ext
pecl download APC
gzip -d < APC-3.0.19.tgz | tar -xvf -
mv APC-3.0.19 APC
rm package.xml
pecl download memcache
gzip -d < memcache-2.2.5.tgz | tar -xvf -
mv memcache-2.2.5 memcache
rm package.xml
cd ..
rm configure
./buildconf --force
Ce qui m'a donné le résultat suivant :
Forcing buildconf
using default Zend directory
buildconf: checking installation...
buildconf: autoconf version 2.61 (ok)
buildconf: Your version of autoconf likely contains buggy cache code.
Running cvsclean for you.
To avoid this, install autoconf-2.13.
rebuilding configure
rebuilding main/php_config.h.in
autoheader: WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot'
autoheader: WARNING: and `config.h.top', to define templates for `config.h.in'
autoheader: WARNING: is deprecated and discouraged.
autoheader:
autoheader: WARNING: Using the third argument of `AC_DEFINE' and
autoheader: WARNING: `AC_DEFINE_UNQUOTED' allows one to define a template without
autoheader: WARNING: `acconfig.h':
autoheader:
autoheader: WARNING: AC_DEFINE([NEED_FUNC_MAIN], 1,
autoheader: [Define if a function `main' is needed.])
autoheader:
autoheader: WARNING: More sophisticated templates can also be produced, see the
autoheader: WARNING: documentation.
J'ai ensuite repris le tutoriel de stopher, puis, après avoir vérifier avec ./configure --help, j'ai fais ce qui suit :
vim conf_install

Code : Tout sélectionner

#!/bin/sh CFLAGS="-O2" ./configure --prefix=/usr/local \ --with-apxs2=/usr/local/bin/apxs \ --with-inifile=/usr/local/etc/php.ini \ --with-libxml-dir=/usr/local/src/php-5.3.0/ext/libxml \ --with-xsl \ --with-zlib \ --with-pdo-pgsql=/usr/local/src/php-5.3.0/ext/pdo_pgsql \ --with-pgsql=shared \ --enable-memcache \ --enable-apc
Puis, dans l'ordre des choses j'ai fais :
./conf_install
Qui m'a donné ces erreurs :
Generating files
configure: creating ./config.status
creating main/internal_functions.c
grep: ext/apc/config*.m4: No such file or directory
grep: ext/memcache/config*.m4: No such file or directory
nawk: cannot open ext/apc/*.h (No such file or directory)
creating main/internal_functions_cli.c
grep: ext/apc/config*.m4: No such file or directory
grep: ext/memcache/config*.m4: No such file or directory
nawk: cannot open ext/apc/*.h (No such file or directory)
Puis :
make
make: *** Pas de règle pour fabriquer la cible « /usr/local/src/php-5.3.0/ext/apc/apc.c », nécessaire pour « ext/apc/apc.lo ». Arrêt.
J'en ai déduit que la version d'automake que je possède est trop récente, si vous pouviez me confirmer ça, je peux me tromper et s'il y a un autre moyen que le downgrade pour résoudre ce soucis, par avance merci de votre aide.
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

ViPHP
ViPHP | 3300 Messages

26 août 2009, 00:42

c'est pas ton 10 eme poste sur le sujet?
Fait du php depuis que ca existe ou presque :)

Mammouth du PHP | 1668 Messages

26 août 2009, 07:35

Le sixième il me semble, mais quand on aime on ne compte pas :)
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

ViPHP
ViPHP | 1136 Messages

26 août 2009, 08:15

Mais ... mes tutos sont ils si mal fait que ça pour que tu n'y arrive jamais :|

Pour le paramètre --enable-apc il n'héxiste pas ! d'ou ton problème je pense .

Ch.

Mammouth du PHP | 1668 Messages

26 août 2009, 12:02

Ton tutoriel marche, mais il n'inclus pas les extensions :
$ ./configure --help | grep APC
--enable-apc Enable APC support
--enable-apc-filehits Enable per request file info about files used from the APC cache (ie: apc_cache_info('filehits'))
Par avance merci de votre aide
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

ViPHP
ViPHP | 1136 Messages

26 août 2009, 12:09

Ton tutoriel marche, mais il n'inclus pas les extensions :
$ ./configure --help | grep APC
--enable-apc Enable APC support
--enable-apc-filehits Enable per request file info about files used from the APC cache (ie: apc_cache_info('filehits'))
Par avance merci de votre aide
:shock: j'ai pas ça moi !! c'est bien la version 5.3 des sources de php que tu utilises ?


Ha non .. c'est moi ... j'avais pas vue ta manip via pecl ... :|

Mammouth du PHP | 1668 Messages

26 août 2009, 12:49

:shock: j'ai pas ça moi !! c'est bien la version 5.3 des sources de php que tu utilises ?


Ha non .. c'est moi ... j'avais pas vue ta manip via pecl ... :|
Pas de soucis, au point où j'en suis ^^
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

ViPHP
ViPHP | 3300 Messages

26 août 2009, 14:45

comme je t'ai déja dit ./configure --help te dira ce que tu peux ou ne peux pas faire avec ton php donc arrêtes les tutos et commence à regarder un peu le détail de ce que tu fais ...
Fait du php depuis que ca existe ou presque :)

Mammouth du PHP | 1668 Messages

26 août 2009, 15:33

J'ai ensuite repris le tutoriel de stopher, puis, après avoir vérifier avec ./configure --help, j'ai fais ce qui suit :
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

Mammouth du PHP | 1668 Messages

28 août 2009, 16:59

# ./configure --help | grep prefix
--prefix=PREFIX install architecture-independent files in PREFIX
# ./configure --help | grep apxs2
--with-apxs2filter=FILE
--with-apxs2=FILE Build shared Apache 2.0 Handler module. FILE is the optional
# ./configure --help | grep libxml
--disable-libxml Disable LIBXML support
--with-libxml-dir=DIR LIBXML: libxml2 install prefix
# ./configure --help | grep xsl
--with-xsl=DIR Include XSL support. DIR is the libxslt base
install directory (libxslt >= 1.1.0 required)
# ./configure --help | grep zlib
--with-zlib=DIR Include ZLIB support (requires zlib >= 1.0.9)
# ./configure --help | grep pgsql
--with-pdo-pgsql=DIR PDO: PostgreSQL support. DIR is the PostgreSQL base
--with-pgsql=DIR Include PostgreSQL support. DIR is the PostgreSQL
# ./configure --help | grep apc
--enable-apc Enable APC support
# ./configure --help | grep memcache
--enable-memcache Enable memcache support
J'ai cherché.

Seule la ligne du inifile est incorrecte, mais lorsque je la commente, c'est la ligne d'après qui m'est signalé comme incorrecte :
./conf_install: line 8: --with-libxml-dir=/usr/local/src/php-5.3.0/ext/libxml/: Aucun fichier ou répertoire de ce type
# ls /usr/local/src/php-5.3.0/ext/libxml/
config0.m4 config.w32 CREDITS libxml.c libxml.lo php_libxml2.def php_libxml.h tests
Que faire, par avance merci de votre aide.
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

mk3d
Invité n'ayant pas de compte PHPfrance

03 nov. 2015, 15:22

Vieux sujet mais le même problème ici.
Pour le résoudre, vérifier que le dossier de l'extension dans php-xxx/ext/ à bien le bon nom.

Par exemple, pour APC, vérifier que le dossier soit bien apc et non pas APC-version :wink:

Bonne compile.