Page 1 of 1
Fehlermeldung nach Kompilieren von PHP (make install)
Posted: 2006-02-03 23:33
by pg-computer
Hoi Hoi,
hab mir gerade mal schnell unter Debian Sarge PHP gebacken.
Funktioniert auch soweit alles bestens.
Nur die Meldungen beim make install haben mich etwas verunsichert:
Code: Select all
[PEAR] Archive_Tar: PEAR_Registry: could not open filemap "/usr/share/php/.filemap"
[PEAR] Console_Getopt: PEAR_Registry: could not open filemap "/usr/share/php/.filemap"
warning: pear/PEAR requires package "pear/Archive_Tar" (recommended version 1.3.1)
warning: pear/PEAR requires package "pear/Console_Getopt" (recommended version 1.2)
pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0)
[PEAR] PEAR: PEAR_Registry: could not open filemap "/usr/share/php/.filemap"
Beeinträchtigt das PHP irgendwo in der Funktion? Gemerkt hab ich auch nichts davon.
Kommt ähnlich beim make install von PHP4 oder PHP5 - müssen da noch Debian Pakete nachinstalliert werden? Eigentlich checkt der doch beim Configure alles genau ab?
Auf jeden Fall hab ich schon nach Paketen gesucht, die das erfüllen könnten, bin aber nicht so richtig fündig geworden.
Vielen Dank für eure Hilfe!
Gruß und schönes Wochenende
Peter
Re: Fehlermeldung nach Kompilieren von PHP (make install)
Posted: 2006-02-04 11:05
by niemand
Solange du PEAR nicht brauchst, wird sich da wohl nicht viel zeigen. Wenn du 'make install' als root ausgeführt hast, bleibt meiner Meinung nach eigentlich nur noch die Möglichkeit, dass geöffnete Dateien überschrieben werden sollten. Einfach mal testen, indem du den Apachen vorher stoppst.
Ansonsten ist es auch oft eine gute Idee, bei selbst kompilierten Sachen die alten vorher zu deinstallieren, oder ein komplett neuen Prefix anzugeben.
Edit: Gerade gelesen, dass der Fehler wohl beim Ã?ffnen zum Lesen auftritt. In dem Fall würde ich es zunächst mit neuem Prefix versuchen.
cu
Re: Fehlermeldung nach Kompilieren von PHP (make install)
Posted: 2006-02-04 12:52
by pg-computer
Hoi,
ich hab den Debian Configure Script übernommen und nach meinen Wünschen angepasst, was die Extensions, etc. betrifft.
Pfadangaben hab ich soweit belassen und natürlich vorher die PHP Pakete von Debian deinstalliert.
Nachdem ich die Dateien unter /usr/share/php mal gelöscht habe, siehts dann so aus
Code: Select all
Installing PHP SAPI module: apache2handler
/usr/share/apache2/build/instdso.sh SH_LIBTOOL='/usr/bin/libtool' libphp4.la /usr/lib/apache2/modules
/usr/bin/libtool --mode=install cp libphp4.la /usr/lib/apache2/modules/
cp .libs/libphp4.so /usr/lib/apache2/modules/libphp4.so
cp .libs/libphp4.lai /usr/lib/apache2/modules/libphp4.la
libtool: install: warning: remember to run `libtool --finish /usr/src/php-4.4.2/libs'
chmod 644 /usr/lib/apache2/modules/libphp4.so
[activating module `php4' in /etc/apache2/httpd.conf]
Installing PHP CLI binary: /usr/bin/
Installing PHP CLI man page: /usr/man/man1/
Installing PEAR environment: /usr/share/php/
[PEAR] Archive_Tar: bad md5sum for file /usr/share/php/Archive/Tar.php
[PEAR] Console_Getopt: bad md5sum for file /usr/share/php/Console/Getopt.php
[PEAR] HTML_Template_IT: bad md5sum for file /usr/share/php/HTML/Template/IT.php
[PEAR] Net_UserAgent_Detect- installed: 2.0.1
warning: pear/PEAR requires package "pear/Archive_Tar" (recommended version 1.3.1)
warning: pear/PEAR requires package "pear/Console_Getopt" (recommended version 1.2)
pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0)
[PEAR] PEAR - installed: 1.4.6
Wrote PEAR system config file at: /usr/etc/pear.conf
You may want to add: /usr/share/php to your php.ini include_path
Installing build environment: /usr/lib/php/build/
Installing header files: /usr/include/php/
Installing helper programs: /usr/bin/
program: phpize
program: php-config
Installing man pages: /usr/man/man1/
page: phpize.1
page: php-config.1
Naja da ich PEAR eigentlich nicht brauche, kann ich es beim Backen auch weglassen - stammt wohl noch aus dem Debian Standard Configure Command - übersehen ;-)
Gibts denn eigentlich Make Rules, was die installieren Files (Libs, etc.) wieder entfernt? Meistens muss man das doch von Hand tun, wenn man keinen Prefix verwendet hat, den man einfach wieder löschen kann.
Vielen Dank.

Re: Fehlermeldung nach Kompilieren von PHP (make install)
Posted: 2006-02-04 15:57
by niemand
Hmm... Mit den Debian-Configscripten kenne ich mich nicht aus, ich baue immer vom Anfang an.
Zum Deistallieren bringen einige Tarballs das Ziel uninstall ('make uninstall') an, sauberer, und vor Allem immer, klappt es, wenn man mit z.B. checkinstall on the fly ein Paket baut und installiert. Dann kann man es mit dpgk wieder entfernen, wenn man mag.
cu
Re: Fehlermeldung nach Kompilieren von PHP (make install)
Posted: 2006-02-10 21:32
by pg-computer
Hoi Hoi,
möchte den Thread nochmal nutzen, um eine weitere Frage zu stellen - auch wenn es nur indirekt damit was zu tun hat.
Soweit alles bestens - PHP 4.4.2 fertig compiliert...
https://beta.pg-computerservice.de/phpversion/
Was mich nur etwas verwundert hat, dass das PHP Modul gegenüber dem PHP Modul auf dem alten Server
http://www.pg-computer.com/info.php (SuSE RPM) oder Debian PHP Sarge Version sehr sehr groß ist.
Auf der SuSE Maschine (auch sehr viele Extensions drin) um die 4 MB und dort find aber die Extensions nicht als *.so Files, genauso wie bei dem Debian Modul... ca. 4 MB groß, natürlich nicht soviele Extensions, trotzdem sehr verwundert.
Code: Select all
server1:/# ls -lha /usr/lib/apache2/modules/libphp4.so
-rw-r--r-- 1 root root 11M Feb 9 16:13 /usr/lib/apache2/modules/libphp4.so
Ist das normal eine Dateigröße von 11 MB?
Danke im Voraus.
Re: Fehlermeldung nach Kompilieren von PHP (make install)
Posted: 2006-02-11 06:37
by captaincrunch
Was hat "file" denn über die Datei zu sagen? Ist das Teil schon gestrippt?
Re: Fehlermeldung nach Kompilieren von PHP (make install)
Posted: 2006-02-11 13:48
by pg-computer
Hoi CaptainCrunch,
danke für deine AW 8)
Code: Select all
file libphp4.so
libphp4.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped
Werde es jetzt mal mit strip -s bearbeiten ;-)
WOW und siehe da, nur 3,7 MB - das ist ja der Hammer :lol:
Code: Select all
-rw-r--r-- 1 root root 3.7M Feb 11 13:47 libphp4.so
Mir ist klar, dass da einige Compiler Flags, etc. entfernt werden, aber dass das soviel ausmacht!?
Vielen besten Dank!
Grüße aus dem verschneiten Erzgebirge,
Peter
Re: Fehlermeldung nach Kompilieren von PHP (make install)
Posted: 2006-02-11 14:49
by isotopp
PG-Computer wrote:Was mich nur etwas verwundert hat, dass das PHP Modul gegenüber dem PHP Modul auf dem alten Server
http://www.pg-computer.com/info.php (SuSE RPM) oder Debian PHP Sarge Version sehr sehr groß ist.
Dateigröße hat nix mit Speicherverbrauch zu tun, wenn es um Binaries geht. Wende "size" auf die beiden Dateien an und vergleiche.
"strip" verringert den Speicherverbrauch nicht. Es macht nur die Datei kleiner.
Re: Fehlermeldung nach Kompilieren von PHP (make install)
Posted: 2006-02-11 14:51
by isotopp
PG-Computer wrote:Mir ist klar, dass da einige Compiler Flags, etc. entfernt werden, aber dass das soviel ausmacht!?
Strip entfernt keine Compiler-Flags, das geht gar nicht.
Strip entfernt die Symboltabelle, also die Zuordnung von Adresse zu Namen. Symboltabellen sind für das Debugging notwendig. Man kann sie zusammen mit einem Coredump und gdb verwenden, um einen Programmabsturz zu analysieren. Indem Du Symboltabellen entfernst, machst Du das sehr viel schwerer.
Symboltabellen können mit "nm" oder "objdump" ausgegeben und angesehen werden. Sie sagen Dir, wo im Programm welche Funktion oder welcher String liegt.
Re: Fehlermeldung nach Kompilieren von PHP (make install)
Posted: 2006-02-11 14:57
by pg-computer
Hoi isotopp,
danke für die Erläuterungen 8)
Schönes WE noch,
Peter