Page 1 of 1

PHP kompilieren

Posted: 2003-05-27 08:55
by p2p
Hallo
Beim Versuch, PHP zu kompilieren (make) kommt nach jeder Befehlszeile folgende Warnung:
cc1: warning: changing search order for system directory "/usr/local/include"
cc1: warning: as it has already been specified as a non-system directory
Was hat das zu bedeuten?

Dankeschön

Re: PHP kompilieren

Posted: 2003-05-27 09:07
by captaincrunch
Gegenfrage : mit welchen Optionen hast du kompiliert ?

Re: PHP kompilieren

Posted: 2003-05-27 15:27
by p2p
Mit diesen hier:

Code: Select all

'./configure' '--prefix=/usr/share' '--datadir=/usr/share/php' '--bindir=/usr/bin' '--libdir=/usr/share' '--includedir=/usr/include' '--with-_lib=lib' '--with-config-file-path=/etc' '--with-exec-dir=/usr/lib/php/bin' '--disable-debug' '--enable-bcmath' '--enable-calendar' '--enable-ctype' '--enable-dbase' '--enable-discard-path' '--enable-exif' '--enable-filepro' '--enable-force-cgi-redirect' '--enable-ftp' '--enable-gd-imgstrttf' '--enable-gd-native-ttf' '--enable-inline-optimization' '--enable-magic-quotes' '--enable-mbstr-enc-trans' '--enable-mbstring' '--enable-memory-limit' '--enable-safe-mode' '--enable-shmop' '--enable-sigchild' '--enable-sysvsem' '--enable-sysvshm' '--enable-track-vars' '--enable-trans-sid' '--enable-versioning' '--enable-wddx' '--with-bz2' '--with-dom=/usr/include/libxml2' '--with-ftp' '--with-gdbm' '--with-gettext' '--with-gmp' '--with-iodbc' '--with-jpeg-dir=/usr' '--with-mcal=/usr' '--with-mcrypt' '--with-mysql=/usr' '--with-ndbm' '--with-png-dir=/usr' '--with-snmp' '--with-t1lib' '--with-tiff-dir=/usr' '--with-ttf' '--with-freetype-dir=yes' '--with-xml' '--with-xpm-dir=/usr/X11R6' '--with-zlib=yes' '--with-openssl' '--with-curl=/usr/bin/curl' '--with-swf=/usr' '--with-mm' 'i586-suse-linux'

Re: PHP kompilieren

Posted: 2003-05-28 13:05
by p2p
weiß keiner wo das problem liegt?

Re: PHP kompilieren

Posted: 2003-05-28 13:52
by mark
Hi,
cc1: warning: changing search order for system directory "/usr/local/include"
cc1: warning: as it has already been specified as a non-system directory
1. Das ist nur eine Warnung.
2. Tritt die erst ab Suse 8.1 auf (weil neuer gcc 3.2, vorher 2.9x)
3. Hat die irgendwas mit den Include-Pfaden zu tun. Anscheinend ist das obige Verzeichnis zweimal definiert. Einmal als include-dir und einmal als non-system dir.
4. Brauchst du dir keine sorgen drum zumachen, kannste einfach ignorieren.
5. Ist im gcc 3.2.1 gefixed, aber nicht im gcc 3.2.0 (welchen du wahrscheinlich verwendest, weil der in SuSE 8.1 drin ist, wenn ich mich nicht irre).

hab hier gerade mal einen Beitrag gefunden:
http://gcc.gnu.org/ml/gcc-bugs/2002-10/msg01053.html

Gruß
Mark

Re: PHP kompilieren

Posted: 2003-05-28 16:36
by p2p
Das klingt doch schonmal gut, danke. Ich werds nachher nochmal ausprobieren.

Re: PHP kompilieren

Posted: 2003-05-28 20:44
by p2p
Jetzt mal was andres:
Beim Ausführen von "make" kommt nach einiger Zeit
In file included from /home/root/install/php-4.3.1/ext/odbc/php_odbc.c:37:
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:94:18: isql.h: No such file or directory
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:95:21: isqlext.h: No such file or directory
In file included from /home/root/install/php-4.3.1/ext/odbc/php_odbc.c:37:
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:208: parse error before "HENV"
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:208: warning: no semicolon at end of struct or union
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:209: warning: data definition has no type or storage class
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:211: `SQL_MAX_MESSAGE_LENGTH' undeclared here (not in a function)
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:214: parse error before '}' token
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:214: warning: data definition has no type or storage class
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:220: parse error before "SDWORD"
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:220: warning: no semicolon at end of struct or union
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:221: warning: data definition has no type or storage class
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:224: parse error before "HSTMT"
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:224: warning: no semicolon at end of struct or union
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:226: parse error before '*' token
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:226: warning: data definition has no type or storage class
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:227: parse error before "numcols"
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:227: warning: data definition has no type or storage class
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:228: parse error before "numparams"
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:228: warning: data definition has no type or storage class
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:235: parse error before '*' token
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:235: warning: data definition has no type or storage class
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:236: parse error before '}' token
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:236: warning: data definition has no type or storage class
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:252: `SQL_MAX_MESSAGE_LENGTH' undeclared here (not in a function)
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:255: confused by earlier errors, bailing out
make: *** [ext/odbc/php_odbc.lo] Error 1
Kann mir das jemand erklären?

Re: PHP kompilieren

Posted: 2003-05-28 21:07
by captaincrunch
Wozu brauchst du odbc-Extensions ?

Re: PHP kompilieren

Posted: 2003-05-28 21:08
by mark
Hi,
p2p wrote:Jetzt mal was andres:
Beim Ausführen von "make" kommt nach einiger Zeit
In file included from /home/root/install/php-4.3.1/ext/odbc/php_odbc.c:37:
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:94:18: isql.h: No such file or directory
/home/root/install/php-4.3.1/ext/odbc/php_odbc_includes.h:95:21: isqlext.h: No such file or directory

Kann mir das jemand erklären?
für odbc fehlt dir wohl noch ein devel-paket...

Das sieht man immer an den "No such file or directory" und den .h dateien...

Aber wie CaptainCrunch frag ich mich, wozu du odbc unterstützung brauchst.

Gruß
Mark

Re: PHP kompilieren

Posted: 2003-05-28 23:47
by p2p
Ok, jetzt noch eine Frage:
Ich will das PHP neu kompilieren dass von 1und1 auf dem Root-Server von vorne rein draufliegt.
Dazu benutze ich folgenden code:

Code: Select all

'./configure' '--prefix=/usr/share' '--datadir=/usr/share/php' '--bindir=/usr/bin' '--libdir=/usr/share' '--includedir=/usr/include' '--with-_lib=lib' '--with-config-file-path=/etc' '--with-exec-dir=/usr/lib/php/bin' '--disable-debug' '--enable-bcmath' '--enable-calendar' '--enable-ctype' '--enable-dbase' '--enable-discard-path' '--enable-exif' '--enable-filepro' '--enable-force-cgi-redirect' '--enable-ftp' '--enable-gd-imgstrttf' '--enable-gd-native-ttf' '--enable-inline-optimization' '--enable-magic-quotes' '--enable-mbstr-enc-trans' '--enable-mbstring' '--enable-memory-limit' '--enable-safe-mode' '--enable-shmop' '--enable-sigchild' '--enable-sysvsem' '--enable-sysvshm' '--enable-track-vars' '--enable-trans-sid' '--enable-versioning' '--enable-wddx' '--with-bz2' '--with-dom=/usr/include/libxml2' '--with-ftp' '--with-gdbm' '--with-gettext' '--with-gmp' '--with-jpeg-dir=/usr' '--with-ldap=yes' '--with-mcal=/usr' '--with-mcrypt' '--with-mysql=/usr' '--with-ndbm' '--with-png-dir=/usr' '--with-snmp' '--with-t1lib' '--with-tiff-dir=/usr' '--with-ttf' '--with-freetype-dir=yes' '--with-xml' '--with-xpm-dir=/usr/X11R6' '--with-zlib=yes' '--with-gd' '--with-openssl' '--with-curl' '--with-swf=./dist/' '--with-imap-ssl' '--with-mm' 'i586-suse-linux'

Code: Select all

make; make install
Aber letztendlich hat PHP immer noch die Version 4.2.2 anstatt der neuen 4.3.1. Weiß jemand wo das Problem liegt?

Re: PHP kompilieren

Posted: 2003-05-29 12:12
by majortermi
p2p wrote:Ok, jetzt noch eine Frage:
Ich will das PHP neu kompilieren dass von 1und1 auf dem Root-Server von vorne rein draufliegt.
Dazu benutze ich folgenden code:[...]

Aber letztendlich hat PHP immer noch die Version 4.2.2 anstatt der neuen 4.3.1. Weiß jemand wo das Problem liegt?
Du kompilierst die CGI/CLI-Version von PHP, es ist aber als Apache Modul vorinstalliert. Du musst also auch das Apache Modul kompilieren und dann das vorhandene durch die neue Version ersetzen.

Re: PHP kompilieren

Posted: 2003-05-29 12:15
by p2p
oups, shit. stimmt :)
danke

Re: PHP kompilieren

Posted: 2003-05-29 14:09
by p2p
Ich hab jetzt mal versucht das bestehende PHP 4.3.1 auf PHP 4.2.3 "downzugraden", dabei kommt bei "make" aber folgender Fehler:
In file included from gd.c:83:
gd_ctx.c: In function `_php_image_output_ctx':
gd_ctx.c:70: structure has no member named `free'
gd_ctx.c:98: structure has no member named `free'
gd.c: In function `_php_image_type':
gd.c:1014: structure has no member named `free'
gd.c:1017: structure has no member named `free'
gd.c: In function `_php_image_create_from':
gd.c:1209: structure has no member named `free'
make[3]: *** [gd.lo] Error 1
make[3]: Leaving directory `/home/root/php2/php-4.2.3/ext/gd'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/root/php2/php-4.2.3/ext/gd'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/root/php2/php-4.2.3/ext'
make: *** [all-recursive] Error 1
Woran kann das liegen?

Re: PHP kompilieren

Posted: 2003-05-29 17:21
by mark
Hi,

das liegt daran, dass die GD 2.0.X nicht von Haus aus mit php 4.2.3 funktioniert...

Du musst PHP 4.2.3 patchen, bevor du gd 2 verwenden kannst.

Siehe hier:
http://www.boutell.com/gd/phppatch.html

Gruß
Mark

Re: PHP kompilieren

Posted: 2003-05-29 17:37
by p2p
Danke, hat geklappt.