Fehlermeldung nach Kompilieren von PHP (make install)

Lesenswerte Artikel, Anleitungen und Diskussionen
pg-computer
Posts: 144
Joined: 2002-09-27 19:28
Location: Drebach / Erzgebirge

Fehlermeldung nach Kompilieren von PHP (make install)

Post by pg-computer » 2006-02-03 23:33

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

niemand
Posts: 142
Joined: 2003-12-12 18:36

Re: Fehlermeldung nach Kompilieren von PHP (make install)

Post by niemand » 2006-02-04 11:05

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

pg-computer
Posts: 144
Joined: 2002-09-27 19:28
Location: Drebach / Erzgebirge

Re: Fehlermeldung nach Kompilieren von PHP (make install)

Post by pg-computer » 2006-02-04 12:52

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. :wink:

niemand
Posts: 142
Joined: 2003-12-12 18:36

Re: Fehlermeldung nach Kompilieren von PHP (make install)

Post by niemand » 2006-02-04 15:57

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

pg-computer
Posts: 144
Joined: 2002-09-27 19:28
Location: Drebach / Erzgebirge

Re: Fehlermeldung nach Kompilieren von PHP (make install)

Post by pg-computer » 2006-02-10 21:32

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.

captaincrunch
Userprojekt
Userprojekt
Posts: 7225
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Fehlermeldung nach Kompilieren von PHP (make install)

Post by captaincrunch » 2006-02-11 06:37

Was hat "file" denn über die Datei zu sagen? Ist das Teil schon gestrippt?
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

pg-computer
Posts: 144
Joined: 2002-09-27 19:28
Location: Drebach / Erzgebirge

Re: Fehlermeldung nach Kompilieren von PHP (make install)

Post by pg-computer » 2006-02-11 13:48

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

User avatar
isotopp
RSAC
Posts: 482
Joined: 2003-08-21 10:21
Location: Berlin

Re: Fehlermeldung nach Kompilieren von PHP (make install)

Post by isotopp » 2006-02-11 14:49

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.

User avatar
isotopp
RSAC
Posts: 482
Joined: 2003-08-21 10:21
Location: Berlin

Re: Fehlermeldung nach Kompilieren von PHP (make install)

Post by isotopp » 2006-02-11 14:51

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.

pg-computer
Posts: 144
Joined: 2002-09-27 19:28
Location: Drebach / Erzgebirge

Re: Fehlermeldung nach Kompilieren von PHP (make install)

Post by pg-computer » 2006-02-11 14:57

Hoi isotopp,

danke für die Erläuterungen 8)

Schönes WE noch,


Peter