Problème de compilation PHP

Bonjour,

J’essaie de compiler php pouyr avoir les supports PDO, libxml …
Voila mes options de compilation

--prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/local/libexec --datadir=/usr/local/share --sysconfdir=/etc \ --sharedstatedir=/usr/local/com --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --oldincludedir=/usr/local/include --infodir=/usr/info\ --mandir=/usr/local/man --host=$(uname -m) --with-apxs2=$(which apxs2) --disable-cgi --enable-debug --with-layout=PHP \ --enable-safe-mode --enable-sigchild --enable-magic-quotes --enable-libgcc --disable-short-tags --enable-dmalloc --disable-ipv6 \ --enable-fd-setsize --enable-versioning --with-libxml-dir=/usr/include/libxml2 --with-pdo-mysql=usr/include/php5/ext/pdo\ --with-openssl=/usr/include/openssl --with-zlib --with-zlib-dir=/usr/include --enable-bcmath --with-bz2 --enable-calendar --disable-ctype \ --with-curl=/usr/lib --with-curlwrappers --enable-dba --with-gd=/usr/lib --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --with-zlib-dir=/usr/lib \ --with-xpm-dir=/usr/lib --with-ttf=/usr/lib --with-t1lib=/usr/lib --enable-gd-jis-conv --with-gettext=/usr/bin --with-gmp=/usr/lib --enable-mbstring \ --with-libmbfl=/usr/include/php5/ext/mbstring --with-mcrypt=/usr/lib --with-mhash=/usr/lib --with-mime-magic=/usr/local/lib/mod_mime_magic.so \ --with-ming=/usr/lib --with-mysql=/var/lib/mysql --with-mysql-sock=/var/run/mysqld --with-zlib-dir=/usr/include
Voila mon problème

checking lex output file root... ./configure: line 3276: lex: command not found configure: error: cannot find output from lex; giving up
qu’est ce que cela signifie ? j’ai un apt-cache search lex | grep lex mais cela ne m’a rien apporté, je ne sais pas ce qu’est lex

donc si quelqu’un le sais il serait sympa de me le dire

merci

lex vient du paquet flex

apt-get install flex

oki d’accord et il sert à quoi

c’est un générateur d’analyseur lexical:
fr.wikipedia.org/wiki/Lex_et_yacc
lex et yacc ont peu à peu cédé la place à leurs successeurs flex et bison.

bonsoir
peut-être que tu t’embêtes pour rien … PDO … php5 n’est pas compilé d’office avec le support PDO ?

non usinagaz

sinon je ne le ferais pas

question: tu compiles le paquet debian avec tes propres flags ou tu t’obstines avec des sources téléchargées ?
Parceque normalement, dans les build-depends du paquet, il y a la bonne version de flex à utiliser (flex ou flex-old), et toutes les dépendances devraient être installées avec apt-get build-dep php5 . D’ailleurs, je crois que flex est aussi une dépendance de build-essential que j’ai dû te conseiller aussi d’installer ailleurs.

[quote=“globilux”]non usinagaz

sinon je ne le ferais pas[/quote]

La version PHP5 du paquet Debian php5-common supporte PDO.

Version : 5.2.0-8+etch7
$ dpkg -L php5-common

/usr/lib/php5/20060613+lfs/pdo.so

Ben oui http://fr2.php.net/pdo.
Peut-être que globilux parle encore d’autres fonctionnalités, mais lesquelles exactement ?

[quote=“usinagaz”]Ben oui http://fr2.php.net/pdo.
Peut-être que globilux parle encore d’autres fonctionnalités, mais lesquelles exactement ?[/quote]
Comme ce site nous l’explique bien, j’essaie de compilé pdo en tant qu’extensions partagé et non extension un iquement pour php. Je souhaite installer mhash provenant de la librairie PECL afin d’utilsation la fonction de hashage te permettant de trouvé le sha256 binaire (histoire de sécurisé un peu mes applications php et de ne plus utilisé md5() ou sha1() :slightly_smiling:)

Attention j’ai l’impression que PDO est déjà compilé en --shared dans le paquet debian, tu as vérifié dans debian/rules des sources php5 ??

une somme Md5 est introuvable. On ne peut pas partir d’une somme md5 pour retrouver la phrase d’origine, ou le fichier.
Tout ce qu’on peut faire, c’est réquisitionner des centaines d’ordi qui vont essayé de comparer une infinité de somme md5 issus d’une phrase (ou d’un fichier) aléatoire avec TA somme md5*, jusqu’à temps de trouver un positif (une égalité).
Une fois trouvée, cette phrase passera l’authentification … mais …
Crois tu vraiment, au niveau de tes applications, que c’est jouable ?

  • car il est avéré que un mot de 3 lettres et un fichier de 2Mo peuvent produire la même somme md5 (j’ignore la probabilité d’une telle occurence, mais elle est infinitécimale, j’imagine). Mais on ne peut pas, je répète, partir d’un md5 pour extraire l’original.

la somme md5 est comme n’importe quel systême de signature une injection. Vu que c’est un algo 128bits, on peut dire qu’il y a 2¹²⁸ signatures md5 possibles soient en gros un 1 suivi de 13 paquets de 3 zéros. Avant que deux fichiers aient la même signature md5…

Sinon, globilux, ta compil passe avec flex ?

Attention j’ai l’impression que PDO est déjà compilé en --shared dans le paquet debian, tu as vérifié dans debian/rules des sources php5 ??

une somme Md5 est introuvable. On ne peut pas partir d’une somme md5 pour retrouver la phrase d’origine, ou le fichier.
Tout ce qu’on peut faire, c’est réquisitionner des centaines d’ordi qui vont essayé de comparer une infinité de somme md5 issus d’une phrase (ou d’un fichier) aléatoire avec TA somme md5*, jusqu’à temps de trouver un positif (une égalité).
Une fois trouvée, cette phrase passera l’authentification … mais …
Crois tu vraiment, au niveau de tes applications, que c’est jouable ?

  • car il est avéré que un mot de 3 lettres et un fichier de 2Mo peuvent produire la même somme md5 (j’ignore la probabilité d’une telle occurence, mais elle est infinitécimale, j’imagine). Mais on ne peut pas, je répète, partir d’un md5 pour extraire l’original.[/quote]
    je crois que si je veux compiler j’ai mes raisons. je voudrais avoir un tout cohérent, sécurisé et propres (je me comprend). une somme md5 peut être décrypter, sinon pourquoi l’aurait on créer. je vous rappelle que les algorithmes de cryptage sont fait pour être décryptés (plus ou mois rapidement et il vaut mieux que ce soit moins). si vous ne me croyez pas, fait un tour du côté des site :

[quote=“mattotop”]la somme md5 est comme n’importe quel systême de signature une injection. Vu que c’est un algo 128bits, on peut dire qu’il y a 2¹²⁸ signatures md5 possibles soient en gros un 1 suivi de 13 paquets de 3 zéros. Avant que deux fichiers aient la même signature md5…

Sinon, globilux, ta compil passe avec flex ?[/quote]
avec des super calculateur (heureusement matériel peu répandu) on peut briser une somme MD5 en moins de 6 heures. généralement on associe plusieurs supercalculateurs, ce qui permet de réduire considérablement le temps de hack.
malheureusement, je n’ai pas eu le temps de bidouiller sur mon serveur, je verrais cela demain

[quote=“globilux”]avec des super calculateur (heureusement matériel peu répandu) on peut briser une somme MD5 en moins de 6 heures. généralement on associe plusieurs supercalculateurs, ce qui permet de réduire considérablement le temps de hack.
malheureusement, je n’ai pas eu le temps de bidouiller sur mon serveur, je verrais cela demain[/quote]

2^128 est de l’ordre de 10^38. En admettant qu’on ait un super calculateur calculant un md5sum toutes les picosecondes, il lui faudrait en gros 10^18 années pour trouver la somme md5sum. En utiliser un million ramène ça à 10^12 années, bref, ça n’est pas demain…

Par contre, ce qui est vrai est qu’on est capable, modulo certains gros et longs calculs, de rajouter à un fichier donné un (gros) suffixe permettant d’obtenir certaines sommes md5. Cela est effectivement une faille potentielle mais à l’heure actuelle complètement inexploitable. Je pense que c’est à ce dernier point que tu fais référence. Si ça n’est pas le cas, donnes moi des références, ça m’intéresse.

je suis pas de ton avis
mais bon nous n’allons pas térgiverser et debattre sur le propos
bref, je n’arrive toujours pas à compiler mon php avec ces directives

si vous voulez vous amuser à trouver le problème, moi j’abandonne (duy mois pour le moment), voici mon config.log
(je sais d’ailmleurs pas pourquoi il recherche cygwin

[code]This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

configure:2153: checking for Cygwin environment
configure:2169: cc -c conftest.c 1>&5
configure: In function ‘main’:
configure:2165: error: ‘CYGWIN32’ undeclared (first use in this function)
configure:2165: error: (Each undeclared identifier is reported only once
configure:2165: error: for each function it appears in.)
configure: failed program was:
#line 2158 “configure”
#include “confdefs.h”

int main() {

#ifndef CYGWIN
#define CYGWIN CYGWIN32
#endif
return CYGWIN;
; return 0; }
configure:2186: checking for mingw32 environment
configure:2198: cc -c conftest.c 1>&5
configure: In function ‘main’:
configure:2194: error: ‘MINGW32’ undeclared (first use in this function)
configure:2194: error: (Each undeclared identifier is reported only once
configure:2194: error: for each function it appears in.)
configure: failed program was:
#line 2191 “configure”
#include “confdefs.h”

int main() {
return MINGW32;
; return 0; }
configure:2217: checking for egrep
configure:2232: checking for a sed that does not truncate output
configure:2382: checking host system type
configure:2403: checking target system type
configure:2515: checking for gcc
configure:2628: checking whether the C compiler (gcc ) works
configure:2644: gcc -o conftest conftest.c 1>&5
/usr/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld returned 1 exit status
configure: failed program was:

#line 2639 “configure”
#include “confdefs.h”

main(){return(0);}
[/code]

@ finallement en installant g++ (bizarre pourtant j’ai fait un apt-get install binutils)
j’ai pâs pu finir
il me manquait axps2
et

Les paquets suivants contiennent des dépendances non satisfaites : apache2-prefork-dev: Est en conflit avec: apache2-threaded-dev mais 2.2.3-4+etch1 devra être installé apache2-threaded-dev: Est en conflit avec: apache2-prefork-dev mais 2.2.3-4+etch1 devra être installé voila le message lorsque je tente d’installer apxs2

Es tu bien parti des flags d’origine du paquet debian dans debian/rules, pour y ajouter un à un ceux dont tu as besoin ?
Le problême de compil se passe quand tu ajoutes quel flag dans ce fichier ?

non, ceux de la fedora (enfin sauf les hosts, target et build) que je n’ai pas précisé mais je pense que cela n’influe guère

[quote=“mattotop”]Le problême de compil se passe quand tu ajoutes quel flag dans ce fichier ?[/quote] je ne sais pas je ne vais pas directement modifier le fichier

Fais la chose suivante:

apt-get build-deb php5

$ cd /tmp
$ apt-get source php5
$ cd php5-…
$ emacs debian/rules
<là, tu cherches le ./configure une les options et tu rajoutes ton option, tu sauves>
$ script /tmp/compilation_de_php
$ fakeroot dpkg-buildpackage -b -uc
<là tu vas prendre un café>
$ cd …
$ ls -l *.deb

—> Joie, bonheur, youpi
OU
—> $ less/tmp/compilation_de_php
et tu nous donnes les 10 dernières lignes.

bonsoir,

[quote]
je crois que si je veux compiler j’ai mes raisons. je voudrais avoir un tout cohérent, sécurisé et propres [/quote]

okay, mais le premier lien que tu donnes est ni plus ni moins qu’une fumisterien non ?:
md5encryption.com/
Est-ce qu’il faut que je passe par là pour dire comment c’est impossible de ressortir la saisie d’aprés une somme md5, en quelques seconde !!!

Ton md5encryption.com veut il bien nous présenter le code php du forlumaire et de la page ? c’est se foutre de la gueule du monde, non ?
Ou bien dis nous plutôt le nombre de pc qui se cache derrière tout ça ?
ps: au bas mot quelques milliards de P III, mais je m’avance …